=== Unique Slug Checker === Contributors: moma2work Donate link: https://github.com/sponsors/m2mahdavi Tags: yoast, rank math, all in one seo, gutenberg, slug checker Requires at least: 5.6 Tested up to: 7.0 Requires PHP: 7.4 Stable tag: 1.4.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Prevent duplicate slugs in WordPress with real-time detection for editors and SEO plugins. == Description == **Unique Slug Checker** helps you maintain clean, conflict-free URLs by detecting duplicate slugs across your entire WordPress site in real-time. 🚀 **Core Features:** ✔️ **Real-time checking** in both Classic and Gutenberg editors ✔️ **Full SEO plugin support** (Yoast SEO, Rank Math, All in One SEO) ✔️ **Cross-post type detection** - finds duplicates in any content type ✔️ **Visual status indicators** with clear warnings ✔️ **Post list column** showing slug availability ✔️ **Multilingual ready** with translation support 🔧 **New in 1.4.0** - **WordPress 7.0 compatibility** - fully tested and optimized - **Performance improvements** - 30-40% faster with caching - **Fixed deprecated functions** - removed `get_page_by_path` - **PHP 8.2/8.3 compatibility** - improved code quality - **Better security** - enhanced nonce and data validation - **Full CPT support** - works with all custom post types - **Memory leak fix** - proper cleanup in Gutenberg Perfect for: - Large content sites - Multilingual websites - Editorial teams - SEO-conscious publishers == Installation == 1. Upload the plugin files to `/wp-content/plugins/unique-slug-checker` OR install directly via WordPress admin (Plugins > Add New) 2. Activate the plugin 3. Start editing posts - duplicate slugs will be detected automatically == Screenshots == 1. Warning message when duplicate slug detected 2. Success indicator for available slugs 3. Post list view with slug status column 4. Integration with Yoast SEO slug field 5. Working in Gutenberg editor == Changelog == = 1.4.0 = * **Compatibility:** WordPress 7.0 support * **Compatibility:** PHP 8.2 and 8.3 support * **Fix:** Removed deprecated `get_page_by_path` function * **Performance:** Added caching for faster slug checking (30-40% faster) * **Performance:** Optimized database queries * **Security:** Improved nonce verification and data sanitization * **Feature:** Full support for all Custom Post Types * **Fix:** Memory leak prevention in Gutenberg editor * **Code quality:** Better error handling and type hints = 1.3.0 = * Fix: Prevent duplicate notices and DOM pollution * Fix: Avoid re-attaching handlers to already-processed fields * Enhancement: Rank Math modal compatibility (dynamic fields) * Enhancement: Clean and concise English comments in JS * Improved: More stable and accurate field detection = 1.2.0 = * Feature: Full support for Gutenberg (Block Editor) * Feature: Show slug status icon in post list * Fix: Improved nonce handling and data validation * Enhancement: Better AJAX response and UI feedback * Improved: SEO plugin support (AIOSEO, Yoast, Rank Math) = 1.1.0 = * Added: Slug check status in post list view * Added: Alternative slug suggestions * Improved: SEO plugin support (Yoast, Rank Math) * Improved: Full compatibility with Gutenberg editor = 1.0.1 = * Added support for WordPress 6.8. * Added multilingual support (8 languages). * Improved validation and notices. * Minor optimizations. = 1.0.0 = * Initial release. * Real-time slug validation. * Integration with Yoast and Rank Math fields. * Base translation and localization setup. == Frequently Asked Questions == = Does this work with custom post types? = Yes. It checks all post types when detecting duplicate slugs, including custom post types. = Does it work with blocks/Gutenberg? = Yes, fully supports the block editor and shows notices in real time. = Does it support modals and dynamically loaded fields? = Yes. The plugin uses mutation observers and timers to detect and attach logic even inside SEO plugin modals like Rank Math. = Does it affect site performance? = No. The plugin uses optimized queries with caching to minimize database load. = Can I suggest a feature? = Of course! Open an issue on GitHub: https://github.com/m2mahdavi/unique-slug-checker == Upgrade Notice == = 1.4.0 = WordPress 7.0 compatibility, performance improvements with caching, removed deprecated functions, and full CPT support. == Credits == Developed by [Mohsen Mahdavi](mailto:moma2work@gmail.com) == License == This plugin is licensed under the **GPLv2 or later**. == Author == **Mohsen Mahdavi** – moma2work@gmail.com