=== 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).