== Full changelog ==

Recent versions (1.9.x) live in readme.txt, in the Changelog section displayed on WordPress.org.
Older entries are archived here for historical reference.

= 1.8.2 =
* Fixed: Redirections - False slug change detection on newly created posts.

= 1.8.1 =
* Fixed: SEO/GEO - Fatal error when using the [blaminhor_toc] shortcode.
* Improved: SEO/GEO - Noindex warning notice now also triggers when the Reading Settings "Discourage search engines" option is checked.
* Improved: SEO/GEO - Score details panel now stays expanded after clicking Refresh.
* Improved: SEO/GEO - Score Refresh button now uses current unsaved metabox data.

= 1.8.0 =
* Added: SEO/GEO - Schema.org / JSON-LD structured data output (Organization, Person, WebSite, Article, WebPage, BreadcrumbList).
* Added: SEO/GEO - New "Schema" settings tab with Site Identity and Structured Data Defaults.
* Added: SEO/GEO - Schema tab in the post / page metabox for per-content schema type override and custom JSON-LD.
* Added: SEO/GEO - Automatic FAQ detection from page content with FAQPage schema generation.
* Added: SEO/GEO - Granular AI crawler blocking via robots.txt (GPTBot, Google-Extended, ClaudeBot, PerplexityBot, CCBot).
* Added: SEO/GEO - HowTo schema auto-detection from ordered lists, step-by-step patterns and how-to blocks.
* Added: SEO/GEO - VideoObject schema auto-detection from YouTube, Vimeo and HTML5 embeds.
* Added: SEO/GEO - Author E-E-A-T enrichment (jobTitle, description, knowsAbout, alumniOf, sameAs) in Article schema.
* Added: SEO/GEO - Key Takeaways feature: summary points displayed at the top of content and added to the Article schema abstract.
* Added: SEO/GEO - Table of Contents shortcode [blaminhor_toc] with configurable depth, style and title.
* Added: SEO/GEO - GEO Content Score: 20-criteria analysis (0-100) measuring structure, machine interpretability, citability and E-E-A-T signals.
* Added: SEO/GEO - Schema Description field with fallback to meta description then automatic excerpt.
* Added: SEO/GEO - SEO Score: 20-criteria on-page analysis (0-100) covering title, description, content quality, technical SEO and readability.
* Fixed: SEO/GEO - Unresolved title template placeholders (e.g. {page_number}) no longer displayed in SERP previews and page titles.
* Fixed: Core - Modals now open reliably across all modules.
* Improved: SEO/GEO - Metabox reorganised to 3 tabs: SEO (Advanced merged), GEO and Social.
* Improved: SEO/GEO - Settings page Schema tab enriched with Author E-E-A-T, Table of Contents and Key Takeaways sections.
* Improved: SEO/GEO - Content Overview edit modal displays all sections stacked vertically with scroll.
* Improved: SEO/GEO - Added descriptive introductions to all settings page tabs and metabox sections.
* Improved: SEO/GEO - JSON-LD preview and FAQ detection indicator added in the Schema metabox section.
* Improved: Core - Cleaner and lighter CSS spacing system shared across all modules.
* Improved: SEO/GEO - Tab descriptions are now collapsible accordions.
* Improved: SEO/GEO - Score widget toggle and refresh button redesigned with info banner style.
* Improved: SEO/GEO - GEO score criteria now display current values and recommended thresholds.
* Improved: SEO/GEO - Each SEO/GEO score criterion now links to its authoritative source.
* Improved: SEO/GEO - Replaced 3 duplicate GEO E-E-A-T criteria with GEO-specific ones.
* Improved: SEO/GEO - Added note in score details clarifying that not all criteria apply to every page.

= 1.7.5 =
* Added: SEO/GEO - Unsaved changes warning when leaving the post editor with modified SEO fields.
* Fixed: SEO/GEO - Invalid lastmod dates in the sitemap when post modification GMT date is empty.

= 1.7.4 =
* Fixed: SEO/GEO - Placeholders like {year}, {month}, {sep} not being replaced in custom SEO titles, meta descriptions, OG and Twitter Card tags on the frontend.

= 1.7.3 =
* Fixed: SEO/GEO - Variable buttons (Title, Separator, Site Name, etc.) not inserting placeholders in the post editor metabox.
* Improved: Redirections - Cleaner internal database query handling.
* Improved: Domain Changer - Modernised table name handling in database queries for better safety on recent WordPress versions.

= 1.7.2 =
* Fixed: Backup - Backups created by DB Optimizer and Domain Changer now appear in the Backup module list and can be restored from there.
* Fixed: DB Optimizer - Pre-optimisation backups are now saved as .zip archives compatible with the Backup module format.
* Fixed: Domain Changer - Pre-domain-change backups are now saved as .zip archives compatible with the Backup module format.

= 1.7.1 =
* Added: DB Optimizer - "Create Backup Now" button to create a SQL database backup directly from the page (in the backup notice and the confirmation modal).
* Added: Multisite - Backup files are now stored in separate subdirectories per blog ID for full isolation across the network (Backup, Domain Changer, DB Optimizer).
* Fixed: SMTP - Fatal error on PHP 8.4 caused by a corrupted French translation of the email log status message.
* Fixed: Backup - Pre-update backups now display the plugin or theme name in the Type column.

= 1.7.0 =
* Added: Disable Comments - New module to completely disable comments on all post types, with tools to close existing comments and delete all comments from the database.
* Added: SEO/GEO - Clickable variable tags (Title, Separator, Site Name, etc.) under SEO Title and Meta Description fields in the metabox and the SEO list edit modal.
* Added: Domain Changer - Editable search domain field to find and replace traces of a previously migrated domain.
* Added: Domain Changer - Exhaustive database search across all tables, including third-party plugin tables.
* Added: Redirections - Loop detection: redirections creating loops (same source/target, reverse pairs, chains) are automatically disabled with visual warnings.

= 1.6.1 =
* Fixed: SEO/GEO - Variables like {site_name}, {sep}, {title} are now properly replaced in the SERP preview for meta descriptions.
* Improved: Core - Extracted inline CSS styles to proper stylesheet classes across all modules for better maintainability.

= 1.6.0 =
* Added: Hide Login - New module to change the login URL and block access to wp-login.php and wp-admin for non-logged-in users.
* Added: Classic Editor - Renamed to "Classic Editor & Widgets" with independent toggles for the Classic Editor and the Classic Widgets screen.
* Added: DB Optimizer - 7 new cleanup types: duplicated postmeta, oEmbed cache, duplicated commentmeta, pending comments, orphaned usermeta, duplicated usermeta and dead cron events.
* Added: DB Optimizer - Configurable toggles for new cleanup types in scheduled cleanup settings.
* Added: Backup - Configurable archive splitting by size (default 200 MB) to prevent PHP timeout on large backups.
* Added: Backup - Real-time log panel during backup operations with terminal-style display.
* Added: Backup - "Max Archive Size" setting to control the archive splitting threshold.
* Added: Backup - "View Log" button to consult the log of each backup from the backup list.
* Added: Backup - "Interrupted" status badge for backups that did not complete successfully.
* Added: Backup - Detailed restore logging (SQL errors, table operations, component progress).
* Added: SEO/GEO - Automatic conversion of Yoast, Rank Math and AIOSEO placeholders during SEO data import.
* Fixed: Backup - PHP timeout (error 500) when backing up large components, by splitting into smaller archives.
* Fixed: Backup - Duplicated component names in the backup list when archives are split into multiple parts.
* Fixed: Backup - Inability to delete pre-restore safety backups.
* Fixed: Backup - Pre-restore notice not disappearing after deleting the related backup.
* Fixed: Backup - Database export was including unrelated tables from other WordPress installations sharing the same database.
* Fixed: SEO/GEO - Yoast shortcodes (%%sep%%, %%sitename%%, etc.) appearing as raw text after SEO import.
* Fixed: DB Optimizer - "Overhead" column no longer displays misleading values for InnoDB tables (the space shown was pre-allocated, not reclaimable).
* Fixed: DB Optimizer - Hardened the database query that lists table sizes.
* Improved: Backup - Renamed module from "Backup" to "Backup & Restore" to better reflect its capabilities.

= 1.5.6 =
* Added: Backup - Separate scheduling for database and files backups (independent frequency, time and retention).
* Added: Backup - "Every Two Weeks" frequency option for scheduled backups.
* Fixed: Backup - Scheduled backups now run correctly.
* Fixed: Backup - Scheduled backup cleanup not identifying scheduled backups correctly.
* Fixed: SEO/GEO - HTML entities displaying literally in the SERP preview.
* Fixed: SEO/GEO - Error 500 when loading the content list on sites using page builders.
* Fixed: Redirections - Infinite loop when importing from the Redirection plugin.
* Improved: SEO/GEO - SERP preview now displays the real site favicon, publication date and featured image thumbnail.
* Improved: Backup - Redesigned scheduled backups layout with side-by-side cards.
* Improved: SEO/GEO - Renamed module from "SEO/GSO" to "SEO/GEO".

= 1.5.5 =
* Added: Redirections - Bulk delete, duplicate URL detection and add-redirection notices.
* Fixed: Redirections - Multiple fixes covering add / edit / refresh buttons, CSV import, stats update and modal close.
* Improved: Redirections - Code cleanup and consistent error messages.

= 1.5.4 =
* Fixed: SEO/GEO - Sitemap 404 for custom post types.
* Improved: SEO/GEO - SERP preview now uses the default title template.

= 1.5.3 =
* Added: SEO/GEO - New "Titles" settings tab with collapsible accordion panels for post types, taxonomies and special pages.
* Added: SEO/GEO - Title templates with configurable separator and dynamic variables for all content types.
* Added: SEO/GEO - Clickable variable buttons for easy template composition.
* Added: SEO/GEO - Live title preview under each template field with sample data.

= 1.5.2 =
* Fixed: Core - Filled all missing translations across the 11 supported languages.

= 1.5.1 =
* Fixed: User Role Editor - Missing translations and French accents.
* Fixed: User Role Editor - Icon alignment in action buttons.
* Fixed: Classic Editor - Missing translation for the status notice.
* Improved: User Role Editor - User capabilities modal now uses friendly labels, a search bar and shows role-inherited capabilities as checked but greyed out.

= 1.5.0 =
* Added: User Role Editor - New module to manage user roles and capabilities (create, clone, delete roles, per-user capabilities, import/export JSON, reset to defaults).

= 1.4.7 =
* Improved: SEO/GEO - SERP preview redesigned to match real Google results (correct layout, fonts, truncation).
* Removed: SEO/GEO - Homepage meta and title separator settings.

= 1.4.6 =
* Fixed: Post Types Order - Custom post order now applies correctly on the frontend with Elementor and other page builders.
* Fixed: Backup - Permalinks no longer get corrupted in the database export.
* Fixed: Backup - Data corruption during restore when source and target table prefixes differ.
* Fixed: Backup - Lost admin permissions after restore with a different table prefix.
* Fixed: Backup - HTTP / HTTPS protocol difference between source and target sites is now handled correctly during restore.
* Fixed: Backup - Page-builder data is now correctly preserved during restore.
* Fixed: Backup - Restore now replaces directory contents instead of merging, preventing leftover files from previous installations.

= 1.4.5 =
* Fixed: Backup - Download button now works correctly on all server configurations, including PHP 8 and above.
* Fixed: Backup - Multi-archive backups now download all files instead of only the first one.

= 1.4.4 =
* Added: Backup - Download button to save backup archives directly to your computer.

= 1.4.3 =
* Fixed: Post Types Order - Custom post type order now applies to page builder queries on the frontend (Elementor, Beaver Builder, Divi, etc.).

= 1.4.2 =
* Fixed: Post Types Order - Custom taxonomy terms now display correctly in the native admin list when sorting is enabled.

= 1.4.1 =
* Fixed: Post Types Order - Custom taxonomy terms no longer disappear from the native admin list when sorting is enabled.
* Fixed: Backup - Pre-update backups for plugins and themes now appear as a single grouped row instead of two separate entries.

= 1.4.0 =
* Added: Post Types Order - New module to reorder any post type or taxonomy with drag and drop.
* Added: Backup - Bulk delete with checkboxes and select all / deselect all.
* Added: Backup - Missing pre-restore notice translation in the 11 supported languages.
* Added: Classic Editor - Complete translations in the 11 supported languages.
* Added: HTTPS Redirect - Complete translations in the 11 supported languages.
* Fixed: Backup - Database was not included in automatic pre-update backups for plugins and themes.
* Fixed: Backup - Backup list missing per-row checkboxes for bulk selection.
* Fixed: DB Optimizer - Missing translation for the "Go to Backup Module" button.
* Fixed: SEO/GEO - Edit modal closing when selecting text in the title or description fields.
* Fixed: SEO/GEO - Removed unnecessary "Save Settings" button from the Overview and Import tabs.
* Fixed: SEO/GEO - Added unsaved changes warning when closing the edit modal without saving.
* Fixed: Core - Removed duplicate sort icons on sortable table columns.
* Improved: Core - CSS deduplication between admin.css and modules.css for lighter page loads.

= 1.3.2 =
* Fixed: SEO/GEO - Critical compatibility fix for the Avada theme: editing a page no longer loads the wrong content.
* Fixed: SEO/GEO - Content overview list now correctly filters by post type, even on sites where third-party themes alter WordPress queries.

= 1.3.1 =
* Added: Core - Admin bar menu with quick access to Dashboard and all active modules.
* Fixed: Content Duplicator - Unicode characters (accents, special characters) are now preserved correctly when duplicating page builder content.
* Fixed: Content Duplicator - Title suffix now displays correctly with proper spacing (" - Copie" instead of "- copie").
* Fixed: SEO/GEO - XML sitemaps now work correctly on WordPress installations in subdirectories.
* Fixed: SEO/GEO - Sitemap rewrite rules timing issue resolved for better compatibility.
* Improved: Content Duplicator - Page-builder content is now copied directly at the database level so all special characters are preserved exactly.
* Improved: Content Duplicator - All post types and taxonomies (including custom ones) are now enabled by default.
* Improved: Backup - After backup completion, automatically switches to the Backups tab with the updated list and a success message.
* Improved: Backup - Upload tab now supports multiple files with queue management before uploading.

= 1.3 =
* Added: Core - 9 new languages: Spanish, Portuguese, Italian, Japanese, Russian, Turkish, Dutch, Brazilian Portuguese and Indonesian.
* Added: Backup - Automatic backup before WordPress core, plugin or theme updates.
* Added: Core - Feedback invitation on the plugin dashboard to encourage user suggestions.
* Added: Content Duplicator - Full support for page builders (Elementor, Beaver Builder, Divi, Brizy, Oxygen).
* Fixed: Content Duplicator - Page builder content now duplicates correctly with regenerated CSS.
* Fixed: SMTP - Error during configuration import.
* Fixed: SMTP - Email log now refreshes automatically after sending a test email.
* Fixed: HTTPS Redirect - Added missing translations for French and other languages.
* Fixed: Backup - Default backup options are now correctly applied to the backup creation interface.
* Fixed: Backup - Archive names now show the actual time instead of random characters.
* Fixed: SEO/GEO - Noindex warning link now correctly opens the Indexing tab.
* Fixed: SEO/GEO - Auto-generated meta descriptions now appear in grey italic to distinguish them from manual entries.
* Fixed: SEO/GEO - Content overview now refreshes automatically after importing SEO data.
* Fixed: Fatal Error Recovery - Admin bar option is now disabled by default.
* Fixed: Fatal Error Recovery - Email notifications are now sent immediately during PHP shutdown, even when the site crashes.
* Fixed: Core - Resolved various code-quality warnings flagged by the WordPress Plugin Check.
* Improved: Content Duplicator - Default suffix changed from " (Copy)" to " - copy" for cleaner titles.
* Improved: Backup - Progress label now reads "Backing up" instead of "Creating".

= 1.2.0 =
* Added: Backup - Upload external backup files with automatic domain change detection.
* Added: Backup - Scheduled automatic backups with configurable frequency (daily, weekly, monthly) and retention settings.
* Added: Backup - Step-by-step progress bar during backup creation.
* Added: SEO/GEO - Import data from Yoast SEO, Rank Math and All in One SEO.
* Added: Redirections - Import redirections from Redirection plugin and Safe Redirect Manager.
* Added: SMTP - Import configuration from WP Mail SMTP, Post SMTP and Easy WP SMTP.

= 1.1.2 =
* Added: Backup - Automatic pre-restore backup before any restore operation.
* Added: Backup - Undo restore feature to revert to the previous state if a restore goes wrong.
* Added: Backup - Separate archives per component (database, plugins, themes, uploads) for smaller file sizes and better flexibility.
* Added: Backup - Pre-restore backups now appear in the main backup list.
* Added: SEO/GEO - Focus keywords now display as visual tags / badges in the metabox and the edit modal.
* Added: SEO/GEO - Keywords are now visible in the Content Overview listing.
* Fixed: DB Optimizer - Removed duplicate backup feature; the page now links to the Backup module.
* Fixed: Core - Resolved double event binding issues causing duplicate actions across multiple modules.
* Fixed: SMTP - Test relay now correctly uses the configured From Email.
* Fixed: SMTP - Updated Brevo tutorial with domain authentication steps.
* Improved: SEO/GEO - Archive indexing settings now use positive logic (check to index instead of check to noindex).
* Improved: SEO/GEO - Renamed module from "SEO" to "SEO/GSO".
* Improved: SMTP - Merged tabs into a single Configuration tab with a dropdown provider selector.
* Improved: SMTP - Enhanced relay visibility with a primary badge and clearer action buttons.
* Improved: SMTP - Added "Compare SMTP providers" link.
* Improved: Core - Admin sidebar modules now sorted alphabetically by translated name.
* Improved: Redirections - Smarter slug change detection (ignores trash and plain permalinks).
* Improved: Backup - Backup selection cards with a more compact design.

= 1.1.1 =
* Added: Core - Redirect to the plugin dashboard after activation.
* Added: Core - "Settings" link in the plugins list page.
* Added: SMTP - Email log auto-refresh after a successful test email.
* Added: Fatal Error Recovery - Recovery email notification option.
* Fixed: SEO/GEO - Missing translation for placeholder text.
* Fixed: Favicon - "Alfred Proteus" references in HTML comments.
* Fixed: Image Sizes - Cleanup button now scrolls to the cleanup section.
* Fixed: Mute Core Emails - Design consistency fixes (missing card styles).

= 1.1.0 =
* Added: Core - 13 new modules: Backup, Broken Links Checker, Classic Editor, Database Optimizer, Domain Changer, Favicon Generator, Fatal Error Recovery, HTTPS Redirect, Image Sizes, Mute Core Emails, Redirections 301 and SEO/GSO.
* Added: Core - Dashboard modules organised by categories with collapsible accordion sections.
* Added: Core - "Delete data on uninstall" option in Advanced Settings.
* Added: SMTP - Complete translations for all 13 provider tutorials.
* Improved: Fatal Error Recovery - Plugin deactivation now uses the database instead of renaming folders, for safer recovery.
* Improved: Fatal Error Recovery - Added support for single-file plugins (e.g. Hello Dolly).
* Improved: HTTPS Redirect - Module is now disabled by default with a safety warning.
* Improved: Core - Better translation handling for WordPress 6.7+ compatibility.
* Improved: Core - Aligned with WordPress Plugin Check guidelines.
* Fixed: Core - Various translation issues, with French and German improvements.

= 1.0.0 =
* Added: Core - Initial release with 3 modules: Content Duplicator, Maintenance Mode and SMTP Mailer.
