=== EffortLess Custom SEO Meta ===
Contributors: domclic
Donate link: https://id7.dev/donate/?plugin=effortless-custom-seo-meta
Tags: seo, meta, title, description, quick edit
Requires at least: 6.2
Tested up to: 7.0
Stable tag:        1.4.10
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Add SEO Title and Meta Description to posts and pages with Quick Edit support, fully integrated into WordPress native UI/UX.

== Description ==

Effortless Custom SEO Meta allows you to easily manage SEO titles and meta descriptions for your posts and pages.  
You can edit them directly from the post/page editor sidebar or via Quick Edit on the post/page list.

Features:

* Add SEO Title and Meta Description for posts and pages.
* Edit SEO metadata directly in Quick Edit.
* Fully uses WordPress native UI/UX.
* Saves your SEO metadata to post_meta (elcsm_seo_title and elcsm_meta_desc).
* Properly enqueued JavaScript following WordPress coding standards.
* Translation ready with text domain support.
* Fully compatible with WordPress multisite setups.
* Network activatable for multisite installations.
* Per-site configuration in multisite environments.

== Installation ==

= Single Site Installation =

1. Upload the plugin folder to the /wp-content/plugins/ directory.
2. Activate the plugin through the 'Plugins' menu in WordPress.
3. Edit a post or page and find the SEO Meta meta box in the sidebar.
4. Or use Quick Edit to edit SEO Title and Meta Description directly in the list view.

= Multisite Installation =

1. Upload the plugin folder to the /wp-content/plugins/ directory.
2. Network Activate the plugin through the 'Network Plugins' menu, or activate it on individual sites.
3. Each site in the network can manage its own SEO metadata independently.
4. Edit a post or page and find the SEO Meta meta box in the sidebar.

== Frequently Asked Questions ==

= Can I use this for both posts and pages? =

Yes, the plugin supports both post and page post types.

= Do I need to include any JS or CSS files? =

No, everything is properly enqueued using WordPress standards. No manual file inclusion required.

= Will this affect my theme? =

No, the plugin works independently and does not override your theme. It only adds SEO meta fields.

= Does this work with WordPress Multisite? =

Yes! The plugin is fully compatible with WordPress Multisite. You can network activate it or activate it on individual sites. Each site manages its own SEO metadata independently.

= Is the plugin translation ready? =

Yes, the plugin is fully translation ready with text domain 'effortless-custom-seo-meta'. Translation files should be placed in the /languages/ directory.

= How do I translate this plugin? =

You can use tools like Poedit or Loco Translate to create translations. The text domain is 'effortless-custom-seo-meta' and the domain path is '/languages/'.

== Screenshots ==

1. SEO Meta box in post/page editor sidebar.
2. Quick Edit fields for SEO metadata in the post/page list.
3. Custom SEO column in the post/page list showing title and description.

== Changelog ==

= 1.4.10 =
* Fix: update plugin name casing to EffortLess; add plugin identifier to donate link.

= 1.4.9 =
* Refactor: donate notice file kept as includes/class-donate-notice.php (preserves SVN file history); class remains Effortless_Donate_Notice.


= 1.4.8 =
* Fix: donate notice now correctly displays on Network Admin pages — screen ID normalization strips WordPress's -network/-user suffix before matching.


= 1.4.7 =
* Refactor: donate notice class renamed Donate_Notice → Effortless_Donate_Notice (WP-standard prefix); file renamed to class-effortless-donate-notice.php. No phpcs:ignore needed anywhere.


= 1.4.6 =
* Fix: donate notice now uses current_screen hook for reliable screen detection on single-site and multisite Network Admin pages.


= 1.4.5 =
* Improvement: added dismissible donate notice on the plugin settings screen.
* Improvement: added Donate link header field and includes/class-donate-notice.php.


= 1.4.3 =
* Updated: Tested up to WordPress 6.9

= 1.4.2 =
* Fixed: Strict equality and parseInt radix in Quick Edit JavaScript
* Fixed: Added inlineEditPost guard in Quick Edit script
* Fixed: Added DOING_AUTOSAVE guard to Quick Edit save handler
* Added: ELCSM_VERSION constant for script/style cache-busting
* Improved: Moved inline CSS to enqueued stylesheet

= 1.4.1 =
* Fixed: Removed duplicate anonymous ms_gpt_translatable_seo_meta filter hook (was registered twice, causing redundant meta key additions)

= 1.4.0 =
* Fixed: Quick Edit now properly loads previously entered SEO title and description values
* Added: ms_gpt_translatable_seo_meta filter for translation plugin compatibility
* Improved: Quick Edit fields layout for better alignment

= 1.3.0 =
* Fixed: JavaScript now properly enqueued using wp_enqueue_script() and wp_add_inline_script()
* Added: Translation support with text domain and translatable strings
* Added: Network: true header for multisite compatibility
* Added: User capability checks for better security
* Improved: Better adherence to WordPress coding standards
* Improved: Multisite compatibility verified and tested
* Enhanced: Script only loads on post and page edit screens

= 1.2.1 =
* Update Contributor

= 1.2 = 
* New version fixing Plugin Check issues

= 1.0 =
* Initial release.
* Added SEO Title and Meta Description for posts and pages.
* Quick Edit support.
* Custom SEO column in admin post/page list.
* Fully WordPress native UI/UX.

== Upgrade Notice ==

= 1.4.3 =
Updated tested up to WordPress 6.9.

= 1.4.2 =
Code quality fixes: JS strict equality, parseInt radix, autosave guard, version constant, inline styles moved to CSS.

= 1.4.1 =
Minor code fix: removes a duplicate filter registration.

= 1.4.0 =
Quick Edit fix: Previously entered SEO title and description values now appear correctly in Quick Edit. Added translation plugin support.

= 1.3.0 =
Major update: JavaScript properly enqueued, translation ready, multisite compatible, and enhanced security. Recommended update for all users.

= 1.2.1 =
Update Contributor

== License ==

This plugin is licensed under the GPLv2 or later.

== Translation ==

The plugin is translation ready. To translate:

1. Create a /languages/ directory in the plugin folder if it doesn't exist.
2. Use Poedit or similar tool to create .po and .mo files.
3. Name your files: effortless-custom-seo-meta-{locale}.po and effortless-custom-seo-meta-{locale}.mo
4. Place them in the /languages/ directory.

Example: effortless-custom-seo-meta-es_ES.po for Spanish (Spain).
