=== Blaminhor Essentials – All-in-One: SEO, Cache, SMTP & More ===
Contributors: blaminhor
Tags: seo, cache, smtp, backup, cookies
Requires at least: 6.2
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.10.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

All-in-one: SEO, cache, SMTP, backup, redirections, broken links, duplicator, and more. 20 modules in one lightweight plugin. Free, no upsells.

== Description ==

**One plugin to replace twenty. Free forever.**

I was tired of my WordPress installs looking like a graveyard of single-purpose plugins — one for SEO, one for cache, one for SMTP, one for redirects, one for backups. Each one with its own dashboard, its own upsell banners, its own freemium dance. So I built Blaminhor Essentials.

**Why this plugin exists:**

*   **Every WordPress essential under one roof.** SEO, cache, SMTP, backup, redirections, broken links, duplicator, database optimizer, domain changer, fatal error recovery, favicon, HTTPS redirect, hide login, image sizes, maintenance mode, mute core emails, post types order, user role editor, classic editor, disable comments. Switch on what you use today; the rest stays out of your way until the day you need it.
*   **No tax for what you don't use.** Each module is independent: an inactive one loads no PHP, registers no hooks, enqueues no assets, runs no queries. You're only paying — in memory and milliseconds — for the features you actually turned on.
*   **Replaces what you already have.** SEO, cache, SMTP, backup, redirections, duplicator, user role editor, and a dozen more — the kind of dedicated plugins you've stacked one by one over the years, now in a single coherent toolkit. Built-in importers for Yoast, Rank Math, All in One SEO, WP Mail SMTP, Post SMTP, Easy WP SMTP, Redirection, and Safe Redirect Manager — your existing data comes with you.
*   **Free.** All features above are free. No tracking, no telemetry.
*   **Translated in 12 languages.** English, French, German, Spanish, Italian, Portuguese (PT & BR), Japanese, Russian, Turkish, Dutch, Indonesian.
*   **You can email me anytime.** `hi+wp@blaminhor.com`

**Available Features:**

= Cache & Performance =
Full performance stack: page cache, asset optimization, lazy load, audit, and Web Vitals dashboard.

*   **Page Cache**: Disk-based static cache with smart invalidation on content updates. WooCommerce cart, checkout, and my-account pages auto-excluded.
*   **Asset Optimization**: Minify HTML, CSS, and JS. Combine and defer scripts safely.
*   **Critical CSS**: Above-the-fold CSS extracted automatically per template (Page, Article, Archive, Home), works behind a CDN.
*   **Lazy Load**: Images and iframes loaded on scroll, with per-element exclusion rules.
*   **Preload**: Crawl every sitemap URL on demand or on schedule, with a live progress bar and Stop button.
*   **PageSpeed Audit**: Run a Google PageSpeed Insights audit directly from the dashboard, with actionable recommendations that link straight to the right setting.
*   **Conflict Detection**: Auto-pauses cache features when WP Rocket, W3 Total Cache, WP Super Cache, LiteSpeed Cache, or any other cache plugin is detected.
*   **Logs**: Every cache event recorded in the cross-module Logs page with auto-redaction of cookies, nonces, and tokens.

= SEO/GEO =
Complete SEO toolkit: meta tags, indexing control, social sharing, and XML sitemaps.

*   **Indexing Control**: Choose which content types and archives search engines should index.
*   **Site-wide Noindex**: Disable indexing for the entire site with admin reminder notice.
*   **Meta Tags**: Manage SEO titles, descriptions, and focus keywords for every post and page.
*   **Social Sharing**: Open Graph and Twitter Card meta tags for rich social previews.
*   **SERP Preview**: See how your pages will appear in search results on mobile, tablet, and desktop.
*   **Content Overview**: Manage SEO meta for all content from a single table with inline editing.
*   **AI Crawlers**: Block AI training on your content with noai/noimageai meta tags.
*   **XML Sitemaps**: Auto-generated sitemaps with optional Google Images support.
*   **Import**: Migrate SEO data from Yoast SEO, Rank Math, or All in One SEO.

= Backup & Restore =
Complete backup and restore solution with scheduling and external file support.

*   **Separate Archives**: Each component (database, plugins, themes, uploads) is saved as a separate archive for flexibility.
*   **Scheduled Backups**: Set up automatic backups daily, weekly, or monthly with retention settings.
*   **Pre-Update Backups**: Automatically backup before WordPress core, plugin, or theme updates.
*   **Progress Tracking**: Step-by-step progress bar during backup creation.
*   **Upload External Backups**: Import backup files from other sites with automatic domain change detection.
*   **Pre-Restore Safety**: Automatic backup created before any restore operation, with one-click undo.
*   **Secure Storage**: Backups protected from direct access with .htaccess rules.

= SMTP Mailer =
Reliable email delivery with multi-relay fallback.

*   **12+ Providers**: Preset configs for Brevo, SendGrid, Mailgun, AWS SES, Postmark, SparkPost, Mailjet, SMTP2GO, Elastic Email, Gmail, Outlook, Zoho, and custom SMTP.
*   **Relay Fallback**: Define multiple relays. If the primary fails, it automatically tries the next one.
*   **Email Log**: Keep track of every email sent (status, subject, relay used) with auto-cleanup.
*   **Developer Friendly**: Force 'From Email' and 'From Name', disable SSL verification for local dev.
*   **Testing**: Built-in tools to test individual relays or the full sending stack.
*   **Import**: Migrate settings from WP Mail SMTP, Post SMTP, or Easy WP SMTP.

= Redirections 301 =
Manage 301 redirections with simple rules or regex patterns.

*   **Simple Redirects**: Create basic URL redirects with source and target paths.
*   **Regex Support**: Use regular expressions for advanced URL matching.
*   **Slug Change Detection**: Get notified when a post or taxonomy slug changes to add a redirect.
*   **Import Options**: Import from CSV or from other plugins (Redirection, Safe Redirect Manager).
*   **Hit Counter**: Track how many times each redirection has been used.
*   **Toggle Active**: Enable or disable individual redirections without deleting them.

= Broken Links Checker =
Keep your site healthy by finding dead links.

*   **Deep Scan**: Scans posts, pages, and custom post types for broken URLs.
*   **Internal & External**: Checks your own internal links and external references.
*   **Real-Time Results**: View scan progress and broken links as they are found.
*   **Smart Management**: Recheck individual links, edit the source post, or dismiss false positives.
*   **Batched Scanning**: One post at a time to prevent server timeouts.

= Content Duplicator =
Duplicate posts, pages, and custom post types with precision.

*   **Complete Copy**: Duplicates content, excerpt, parent, template, and menu order.
*   **Deep Cloning**: Copies all custom fields (post meta), taxonomies (categories/tags), and child posts.
*   **Smart Options**: Choose new status (draft, publish, private), copy author, date, and comments.
*   **Admin Integration**: 'Duplicate' links in list view, edit screen, and admin bar. Bulk duplication supported.
*   **Taxonomy Support**: Duplicate categories and tags with all their metadata.

= Database Optimizer =
Optimize and clean your WordPress database for better performance.

*   **Overview Dashboard**: See database size, overhead, and items to clean at a glance.
*   **Smart Cleanup**: Remove post revisions, auto-drafts, trashed posts, spam comments, expired transients.
*   **Orphan Data**: Clean orphaned post meta, comment meta, term meta, and relationships.
*   **Table Optimization**: Reclaim disk space by optimizing database tables.
*   **Scheduled Cleanup**: Set up automatic cleanup on daily, twice daily, or weekly schedule.
*   **Revision Control**: Keep a configurable number of revisions per post.
*   **Backup Reminder**: Prompts to create a backup before cleanup (links to Backup module if active).

= Domain Changer =
Change your site domain and update all database references in one click.

*   **One-Click Migration**: Update all database references to the new domain automatically.
*   **Smart Replacement**: Handles serialized data in options, post meta, and other tables.
*   **Preview Changes**: See how many rows will be affected before making changes.
*   **Backup Integration**: Prompts to create a database backup before migration.
*   **Change History**: Track previous domain changes with timestamps.

= Fatal Error Recovery =
Recover from fatal errors without FTP access.

*   **Error Detection**: Automatically detects PHP fatal errors that crash your site.
*   **Recovery Interface**: Access a standalone page to manage plugins when your site is down.
*   **Smart Detection**: Identifies which plugin caused the error from the stack trace.
*   **Database Deactivation**: Deactivates plugins via database (files remain intact) for safe recovery.
*   **Secure Access**: Secret recovery URL required to prevent unauthorized access.
*   **Email Notification**: Optionally receive an email with the recovery link when an error is detected.

= Hide Login Page =
Protect your login page from bots and brute force attacks.

*   **Custom Login URL**: Replace wp-login.php with a custom URL of your choice.
*   **Block Direct Access**: Blocks access to wp-login.php and wp-admin for non-logged-in users.
*   **Custom Redirect**: Choose where unauthorized visitors are redirected (e.g., a 404 page).
*   **Safety First**: Module disabled by default. Compatible with Fatal Error Recovery for lockout prevention.

= HTTPS Redirect =
Force secure connections for your entire site.

*   **Automatic Redirect**: Redirects all HTTP requests to HTTPS with a 301 permanent redirect.
*   **Admin & Login**: Force HTTPS on wp-admin and wp-login.php for secure authentication.
*   **Mixed Content Fix**: Optionally fix HTTP URLs in page output to prevent browser warnings.
*   **HSTS Support**: Enable HTTP Strict Transport Security header with configurable max-age.
*   **Safety First**: Module is disabled by default with clear warnings about potential lockout.

= Image Sizes =
Take control of your media library and disk space.

*   **Disable Sizes**: Prevent WordPress, themes, and plugins from generating unused thumbnail sizes.
*   **Custom Sizes**: Register new image sizes with exact crop settings directly from the UI.
*   **Regenerate Thumbnails**: Re-create thumbnails for existing images after changing settings.
*   **Cleanup**: Delete old files for disabled sizes to free up disk space.
*   **Big Image Control**: Disable the default "scaled" big image generation (2560px).

= Favicon Generator =
One image, perfect branding everywhere.

*   **Universal Support**: Generates PNG icons (16, 32, 48), Apple Touch Icon (180), Android Chrome (192, 512), and Windows Tiles.
*   **Manifest & Config**: Automatically serves `site.webmanifest` and `browserconfig.xml`.
*   **Customization**: Set theme color and background color for mobile and tile interfaces.
*   **Simple**: Upload one high-res square image (512x512+), and we handle the rest.

= Maintenance Mode =
Simple, effective Coming Soon and Maintenance pages.

*   **Two Modes**: Choose between "Maintenance" (503 Service Unavailable) or "Coming Soon" (200 OK).
*   **Access Control**: Whitelist user roles (e.g., Administrators) or specific IP addresses.
*   **Customization**: Set headline, message, background color, and text color.
*   **Login Link**: Optional link to the admin login page for restricted users.

= User Role Editor =
Full control over user roles and capabilities.

*   **Role Management**: Create, clone, rename, and delete custom roles.
*   **Capability Editor**: Visual interface to assign or remove capabilities per role.
*   **Per-User Capabilities**: Grant or revoke capabilities for individual users beyond their role.
*   **Import/Export**: Backup and restore roles configuration as JSON.
*   **Reset to Defaults**: Restore WordPress default roles with one click.
*   **Human-Readable Labels**: Display friendly capability names instead of technical slugs.

= Post Types Order =
Reorder any post type or taxonomy with drag and drop.

*   **Drag & Drop**: Intuitive sortable list to reorder posts, pages, and custom post types.
*   **Taxonomy Support**: Reorder categories, tags, and custom taxonomies.
*   **Auto Sort**: Automatically apply custom order on the frontend.
*   **Capability Control**: Choose which user role can reorder items (Administrator, Editor, or Author).
*   **No Extra Tables**: Uses native WordPress `menu_order` for posts and `term_meta` for taxonomies.

= Classic Editor & Widgets =
Restore the classic editor and/or classic widgets independently.

*   **Classic Editor**: Disables the Block Editor (Gutenberg) and restores the traditional TinyMCE editor.
*   **Classic Widgets**: Disables the block-based Widgets editor and restores the classic Widgets screen.
*   **Independent Toggles**: Enable or disable each feature independently.
*   **Performance Cleanup**: Removes block library CSS from frontend and optionally from admin.

= Disable Comments =
Kill comment spam by removing the comment system entirely.

*   **Site-wide Disable**: Disable comments on posts, pages, and custom post types in one click.
*   **Hide from Admin**: Remove the Comments menu, the Discussion settings, and comment-related dashboard widgets.
*   **Clean UI**: No comment forms, no comment counts, no "Recent Comments" widget — as if comments never existed.
*   **Reversible**: Toggle off the module to instantly restore native WordPress comments without data loss.

= Mute Core Emails =
Silence automatic emails from WordPress.

*   **Auto-Updates**: Mute email notifications after automatic core, plugin, or theme updates.
*   **User Emails**: Control emails for new user registration, password changes, and email changes.
*   **Comment Emails**: Mute comment notification and moderation emails.
*   **System Emails**: Optionally mute recovery mode emails (use with caution).
*   **Granular Control**: Enable or disable each email type individually.

== Installation ==

1. Upload the `blaminhor-essentials` folder to the `/wp-content/plugins/` directory.
2. Activate the plugin through the 'Plugins' menu in WordPress.
3. Go to "Blaminhor Essentials" in the admin menu.
4. Turn on the features you need.

== Frequently Asked Questions ==

= Will activating all features slow down my site? =
No. Each module only loads its code when activated. Disabled modules have zero impact on performance.

= Can I replace multiple plugins with this one? =
Yes, that's the main goal. Blaminhor Essentials can replace Redirection, Yoast/Rank Math, WP Mail SMTP, UpdraftPlus, Duplicate Post, User Role Editor, and many others.

= How do I migrate my data from other plugins? =
Several modules include import features:
- **SMTP**: Import from WP Mail SMTP, Post SMTP, Easy WP SMTP
- **SEO**: Import from Yoast SEO, Rank Math, All in One SEO
- **Redirections**: Import from Redirection plugin, Safe Redirect Manager, or CSV

= Can I backup my entire site? =
Yes. The Backup module creates separate archives for database, plugins, themes, and uploads. You can schedule automatic backups (daily, weekly, monthly) and set retention limits.

= What happens if a backup restore goes wrong? =
The plugin automatically creates a safety backup before any restore. If something goes wrong, you can undo with one click.

= Does the SMTP module support multiple providers? =
Yes. You can configure multiple relays with automatic fallback. If the primary fails, it tries the next one in your list.

= Can I duplicate Elementor/Divi pages? =
Yes. The Content Duplicator fully supports all major page builders including Elementor, Divi, Beaver Builder, Brizy, and Oxygen.

= Will SEO data be lost if I switch from Yoast or Rank Math? =
No. Use the import feature in the SEO module to migrate your titles, descriptions, and keywords before switching.

= Can I control which user roles can access certain features? =
Yes. For example, the Post Types Order module lets you choose which roles can reorder content (Administrator, Editor, or Author).

= What if my site crashes after a plugin update? =
The Fatal Error Recovery module detects PHP fatal errors and provides a secret recovery URL to deactivate problematic plugins without FTP access.

= Does the plugin work with multisite? =
Most modules work on individual sites within a multisite network. Since version 1.7.1, backup files (Backup, Domain Changer, DB Optimizer) are stored in separate subdirectories per site, so backups are fully isolated. Full network-level administration is not yet supported.

= How can I get support? =
Email hi+wp@blaminhor.com or visit [wp.blaminhor.com](https://wp.blaminhor.com/). You can also use the feedback form on the plugin dashboard.

== Screenshots ==

1. Modular dashboard – Enable only the features you need with instant toggle activation.
2. SMTP Mailer – Configure multiple relays with automatic fallback and detailed logging.
3. SEO/GEO – Edit meta titles and descriptions with live mobile and desktop SERP preview.
4. Backup – Select components to backup (database, plugins, themes, uploads) with scheduling.
5. Database Optimizer – Overview of database size with one-click optimization actions.
6. Fatal Error Recovery – Detect PHP fatal errors and recover without FTP access.
7. Image Sizes – Manage all registered thumbnail sizes and disable unused ones.
8. User Role Editor – Edit capabilities per role with search, add/clone roles, and per-user overrides.

== Changelog ==

= 1.10.0 =
* Added: Cookie Banner - New module that shows a consent banner and blocks tracking scripts (analytics, ads, embedded videos) until visitors agree.
* Fixed: Core - Text fields no longer accumulate backslashes in front of apostrophes, quotes or backslashes on successive saves.
* Fixed: Core - One-time cleanup removes backslashes already stored in module options from earlier versions.
* Fixed: Core - Feedback replies now reach the sender directly when they provide their email, instead of bouncing on the site's From address.
* Fixed: SMTP Mailer - SMTP authentication no longer silently fails when the relay password contains an apostrophe, quote or backslash.

Older entries (versions 1.0.0 to 1.9.10) are archived in `changelog.txt` shipped with the plugin.

== Upgrade Notice ==

= 1.10.0 =
New Cookie Banner module: automatically blocks tracking scripts and embeds (Analytics, Ads, media) until visitors agree. GDPR/CCPA/LGPD compliant, Google Consent Mode v2 and IAB TCF v2.2 included, no external service required.

= 1.9.10 =
Critical fix for Elementor Pro: dropdown menus now open correctly on hover. Logged-in admins see the front-end as-is so they can debug. New: configurable preload batch size, immediate preload after a purge, and JSON export/import of cache settings.

= 1.9.9 =
Major Cache & Performance update: layout breakage on Avada / Divi / Elementor with async CSS loading is fixed, the module gains a master on/off switch, an automatic render watchdog that auto-disables any optimisation that breaks the page, Cloudflare integration, self-hosted Google Fonts and theme-purge sync. Recommended for all sites.

= 1.9.8 =
Recommended update: fixes Critical CSS generation that could silently fail on production sites behind a CDN, adds a manual "Preload all pages" button and a new cross-module Logs page for diagnostics.

= 1.9.7 =
Recommended update for Cache & Performance users: Critical CSS no longer times out on heavy pages, and PageSpeed audits now work with referrer-restricted Google API keys.

= 1.9.6 =
Important update: WooCommerce cart, checkout and my-account pages are now reliably excluded from caching, plus 293 Cache & Performance strings localised in 11 languages.

= 1.9.5 =
Important update: prevents conflicts with other cache plugins (WP Rocket, W3 Total Cache, etc.) by automatically pausing our cache when one is active. Better defaults for Defer / Delay JS and Remove Unused CSS.

= 1.5.0 =
New User Role Editor module to manage roles and capabilities. Create, clone, delete roles, edit per-user capabilities, import/export JSON.

= 1.4.6 =
Backup restore fixes (prefix, permissions, permalinks, serialized data, HTTP/HTTPS). Post Types Order now works with Elementor.

= 1.4.5 =
Fixed Download button crash on PHP 8+ and multi-archive download support.

= 1.4.4 =
Backup module now includes a Download button to save backup archives directly to your computer.

= 1.4.3 =
Custom post type order now applies to page builder queries (Elementor, etc.).

= 1.4.2 =
Fixed taxonomy sorting using LEFT JOIN for reliable term display in admin.

= 1.4.1 =
Fixed custom taxonomy terms disappearing from admin when Post Types Order sorting is enabled. Pre-update backups now grouped correctly.

= 1.4.0 =
New Post Types Order module. Fixed pre-update backups not including database. Bulk delete backups. Added missing translations for backup notices. Various SEO and CSS fixes.

= 1.3.2 =
Critical fix for Avada theme users: editing pages no longer loads wrong content. Fixed SEO content list filtering with third-party themes.

= 1.3.1 =
Fixed Unicode character corruption when duplicating page builder content. Fixed XML sitemaps on subdirectory installations. Custom post types and taxonomies now enabled by default. Backup shows updated list after completion. Admin bar menu added for quick access.

= 1.3 =
9 new languages added. Full page builder support in Content Duplicator (Elementor, Beaver Builder, Divi, etc.). Fixed SMTP import and email log refresh. Added missing HTTPS translations. Various bug fixes and improvements.

= 1.2.0 =
New import features: Upload external backups with domain change detection, import SEO data from Yoast/Rank Math/AIOSEO, import redirections from Redirection/Safe Redirect Manager, import SMTP config. Scheduled automatic backups with retention. Backup progress bar.

= 1.1.2 =
Major backup improvements: separate archives per component, pre-restore backups visible in list. Fixed double-action bugs across modules. SEO renamed to SEO/GSO. SMTP redesign with provider comparison link.

= 1.1.1 =
UX improvements: Dashboard redirect on activation, settings link in plugins list, SMTP log auto-refresh, recovery email notifications, and design fixes.

= 1.1.0 =
Major update: 13 new modules, complete SMTP translations, improved Fatal Error Recovery, and new Advanced Settings.

= 1.0.0 =
Initial release.

== Privacy Policy ==

Blaminhor Essentials does not collect any personal data. The SMTP Mailer feature stores email metadata locally if logging is enabled, but this data stays on your server.

== Third Party Services ==

This plugin allows you to optionally configure connections to external SMTP services for email delivery. **No data is sent to any external service unless you explicitly configure an SMTP relay.**

When you configure the SMTP Mailer module, your emails will be sent through the service you choose. The following services have preset configurations available: Gmail, Microsoft Outlook/Office 365, Brevo (formerly Sendinblue), SendGrid, Mailgun, Amazon SES, Postmark, Elastic Email, SparkPost, Mailjet, SMTP2GO, Zoho Mail.

You can also configure any other SMTP server using the "Other" option. Please review the privacy policy of any third-party service you choose to use.


== Support ==

For support or feedback, email me at **hi+wp@blaminhor.com** or visit **[https://wp.blaminhor.com/](https://wp.blaminhor.com/)**.
