{"id":276875,"date":"2026-01-23T13:32:45","date_gmt":"2026-01-23T13:32:45","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/alfredproteus\/"},"modified":"2026-08-18T19:26:28","modified_gmt":"2026-08-18T19:26:28","slug":"blaminhor-essentials","status":"publish","type":"plugin","link":"https:\/\/kaa.wordpress.org\/plugins\/blaminhor-essentials\/","author":23441048,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.7.1","stable_tag":"2.7.1","tested":"7.1","requires":"6.2","requires_php":"8.1","requires_plugins":null,"header_name":"Blaminhor Essentials","header_author":"blaminhor","header_description":"A modular toolkit for WordPress with activatable features. Lightweight, secure, and reliable.","assets_banners_color":"50809d","last_updated":"2026-08-18 19:26:28","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wp.blaminhor.com\/","header_author_uri":"https:\/\/blaminhor.com","rating":5,"author_block_rating":0,"active_installs":80,"downloads":5216,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"blaminhor","date":"2026-01-23 13:32:27"},"1.1.0":{"tag":"1.1.0","author":"blaminhor","date":"2026-01-23 21:21:49"},"1.1.1":{"tag":"1.1.1","author":"blaminhor","date":"2026-01-25 14:47:56"},"1.1.2":{"tag":"1.1.2","author":"blaminhor","date":"2026-01-26 13:59:11"},"1.10.0":{"tag":"1.10.0","author":"blaminhor","date":"2026-05-13 10:04:42"},"1.11.0":{"tag":"1.11.0","author":"blaminhor","date":"2026-05-17 07:55:30"},"1.11.1":{"tag":"1.11.1","author":"blaminhor","date":"2026-05-20 19:18:59"},"1.2.0":{"tag":"1.2.0","author":"blaminhor","date":"2026-01-27 10:32:52"},"1.3.0":{"tag":"1.3.0","author":"blaminhor","date":"2026-01-27 14:14:33"},"1.3.1":{"tag":"1.3.1","author":"blaminhor","date":"2026-01-27 17:30:57"},"1.3.2":{"tag":"1.3.2","author":"blaminhor","date":"2026-01-28 09:36:34"},"1.4.0":{"tag":"1.4.0","author":"blaminhor","date":"2026-01-30 08:54:19"},"1.4.1":{"tag":"1.4.1","author":"blaminhor","date":"2026-01-30 10:57:54"},"1.4.2":{"tag":"1.4.2","author":"blaminhor","date":"2026-01-30 11:19:50"},"1.4.3":{"tag":"1.4.3","author":"blaminhor","date":"2026-01-30 13:18:05"},"1.4.4":{"tag":"1.4.4","author":"blaminhor","date":"2026-01-30 14:04:05"},"1.4.5":{"tag":"1.4.5","author":"blaminhor","date":"2026-01-30 20:45:42"},"1.4.6":{"tag":"1.4.6","author":"blaminhor","date":"2026-01-31 17:25:05"},"1.4.7":{"tag":"1.4.7","author":"blaminhor","date":"2026-02-03 10:17:17"},"1.5.0":{"tag":"1.5.0","author":"blaminhor","date":"2026-02-06 20:31:38"},"1.5.1":{"tag":"1.5.1","author":"blaminhor","date":"2026-02-07 11:09:43"},"1.5.2":{"tag":"1.5.2","author":"blaminhor","date":"2026-02-07 15:30:06"},"1.5.3":{"tag":"1.5.3","author":"blaminhor","date":"2026-02-10 15:08:59"},"1.5.4":{"tag":"1.5.4","author":"blaminhor","date":"2026-02-11 18:10:36"},"1.5.5":{"tag":"1.5.5","author":"blaminhor","date":"2026-02-12 10:56:10"},"1.5.6":{"tag":"1.5.6","author":"blaminhor","date":"2026-02-13 22:33:56"},"1.6.0":{"tag":"1.6.0","author":"blaminhor","date":"2026-02-14 19:16:17"},"1.6.1":{"tag":"1.6.1","author":"blaminhor","date":"2026-02-14 22:19:31"},"1.7.0":{"tag":"1.7.0","author":"blaminhor","date":"2026-02-17 10:09:18"},"1.7.1":{"tag":"1.7.1","author":"blaminhor","date":"2026-02-23 06:37:18"},"1.7.2":{"tag":"1.7.2","author":"blaminhor","date":"2026-02-23 18:11:32"},"1.7.3":{"tag":"1.7.3","author":"blaminhor","date":"2026-03-02 09:40:56"},"1.7.4":{"tag":"1.7.4","author":"blaminhor","date":"2026-03-05 10:01:07"},"1.7.5":{"tag":"1.7.5","author":"blaminhor","date":"2026-03-06 18:35:21"},"1.8.0":{"tag":"1.8.0","author":"blaminhor","date":"2026-03-13 10:05:56"},"1.8.1":{"tag":"1.8.1","author":"blaminhor","date":"2026-03-13 14:18:52"},"1.8.2":{"tag":"1.8.2","author":"blaminhor","date":"2026-04-09 14:22:03"},"1.9.0":{"tag":"1.9.0","author":"blaminhor","date":"2026-04-29 07:55:52"},"1.9.1":{"tag":"1.9.1","author":"blaminhor","date":"2026-04-29 08:07:12"},"1.9.10":{"tag":"1.9.10","author":"blaminhor","date":"2026-05-07 19:49:29"},"1.9.2":{"tag":"1.9.2","author":"blaminhor","date":"2026-04-29 08:38:07"},"1.9.3":{"tag":"1.9.3","author":"blaminhor","date":"2026-04-29 09:05:04"},"1.9.4":{"tag":"1.9.4","author":"blaminhor","date":"2026-04-29 09:45:51"},"1.9.5":{"tag":"1.9.5","author":"blaminhor","date":"2026-04-29 12:44:50"},"1.9.6":{"tag":"1.9.6","author":"blaminhor","date":"2026-04-29 20:10:53"},"1.9.7":{"tag":"1.9.7","author":"blaminhor","date":"2026-04-30 08:38:04"},"1.9.8":{"tag":"1.9.8","author":"blaminhor","date":"2026-04-30 16:25:40"},"1.9.9":{"tag":"1.9.9","author":"blaminhor","date":"2026-05-06 19:52:13"},"2.0.0":{"tag":"2.0.0","author":"blaminhor","date":"2026-05-27 17:34:09"},"2.0.1":{"tag":"2.0.1","author":"blaminhor","date":"2026-05-27 19:17:36"},"2.0.2":{"tag":"2.0.2","author":"blaminhor","date":"2026-05-27 19:35:20"},"2.1.0":{"tag":"2.1.0","author":"blaminhor","date":"2026-05-31 14:56:55"},"2.1.1":{"tag":"2.1.1","author":"blaminhor","date":"2026-06-01 18:42:09"},"2.2.0":{"tag":"2.2.0","author":"blaminhor","date":"2026-06-02 10:38:54"},"2.3.0":{"tag":"2.3.0","author":"blaminhor","date":"2026-06-04 17:08:24"},"2.3.1":{"tag":"2.3.1","author":"blaminhor","date":"2026-06-06 18:02:30"},"2.3.2":{"tag":"2.3.2","author":"blaminhor","date":"2026-06-07 10:16:11"},"2.4.0":{"tag":"2.4.0","author":"blaminhor","date":"2026-06-16 15:39:29"},"2.5.0":{"tag":"2.5.0","author":"blaminhor","date":"2026-06-26 18:56:42"},"2.5.1":{"tag":"2.5.1","author":"blaminhor","date":"2026-06-28 11:12:30"},"2.5.10":{"tag":"2.5.10","author":"blaminhor","date":"2026-07-22 20:20:13"},"2.5.11":{"tag":"2.5.11","author":"blaminhor","date":"2026-07-23 19:43:33"},"2.5.12":{"tag":"2.5.12","author":"blaminhor","date":"2026-08-02 16:18:41"},"2.5.13":{"tag":"2.5.13","author":"blaminhor","date":"2026-08-08 07:43:06"},"2.5.14":{"tag":"2.5.14","author":"blaminhor","date":"2026-08-09 15:17:53"},"2.5.2":{"tag":"2.5.2","author":"blaminhor","date":"2026-06-28 14:18:31"},"2.5.3":{"tag":"2.5.3","author":"blaminhor","date":"2026-06-29 20:04:13"},"2.5.4":{"tag":"2.5.4","author":"blaminhor","date":"2026-07-01 08:29:01"},"2.5.5":{"tag":"2.5.5","author":"blaminhor","date":"2026-07-01 20:48:33"},"2.5.6":{"tag":"2.5.6","author":"blaminhor","date":"2026-07-03 06:00:13"},"2.5.7":{"tag":"2.5.7","author":"blaminhor","date":"2026-07-07 07:40:40"},"2.5.8":{"tag":"2.5.8","author":"blaminhor","date":"2026-07-15 07:54:10"},"2.5.9":{"tag":"2.5.9","author":"blaminhor","date":"2026-07-22 06:51:40"},"2.6.0":{"tag":"2.6.0","author":"blaminhor","date":"2026-08-15 08:44:03"},"2.7.0":{"tag":"2.7.0","author":"blaminhor","date":"2026-08-17 15:23:35"},"2.7.1":{"tag":"2.7.1","author":"blaminhor","date":"2026-08-18 19:26:28"}},"upgrade_notice":{"2.7.1":"<p>Fixes large backup downloads, and stops WP-CLI from clearing settings it was not asked to touch \u2014 including the off-site backup destination, certificate expiry monitoring and delivery-failure alerts. Adds WP-CLI coverage across every module.<\/p>","2.7.0":"<p>New Downloads module (Beta): count total and unique downloads for your media files, force them to save instead of opening, and restrict any file to signed-in visitors, chosen roles or a password. Plus tab-navigation and two-factor fixes across the plugin.<\/p>","2.6.0":"<p>New Login Security module (Beta): brute-force throttling across every login route, two-factor sign-in (authenticator app, passkey, email or backup codes), a password policy, sign-in alerts and a privacy-friendly journal \u2014 all on your own site, no external service.<\/p>","2.5.14":"<p>Patch with security fixes: backups and database exports move to a folder that cannot be guessed from a URL, form webhooks can no longer reach private network addresses, and SVG uploads are always refused. Also fixes restores on hosts that cap PHP execution time.<\/p>","2.5.13":"<p>Patch: backups no longer die with a fatal error on hosts that cap PHP execution time \u2014 a run now continues over several passes and picks up where it stopped. Also fixes restores failing on those same hosts, and cuts memory use when exporting a large database.<\/p>","2.5.12":"<p>Patch: the pre-update backup was never created before WordPress core updates \u2014 it now is, whatever starts the update. The retention limit also applies to backups made from the admin screen, and an interrupted backup is flagged instead of being offered for restore.<\/p>","2.5.11":"<p>Patch: fixes a fatal error on activation under PHP 8.1, makes imported Yoast, Rank Math and All in One SEO title\/description variables render properly, and carries site-wide SEO defaults over during import. Safe maintenance update.<\/p>","2.5.10":"<p>Fatal Error Recovery gains a 90-day history of the crashes it caught, dates them in plain language, and can prepare a redacted crash report in one click. It can also report this plugin&#039;s own errors to me automatically, if you switch that option on. Fixes fatal errors on URLs without a path.<\/p>","2.5.9":"<p>Patch: fixes the Save button staying disabled when your only change in a settings screen is deleting something \u2014 like removing a booking time slot or closing an open day in the calendar.<\/p>","2.5.8":"<p>Patch: fixes a rare fatal error that could take down the front end when a request arrived with a malformed URL while 301 redirections were active.<\/p>","2.5.7":"<p>Patch: the WP-CLI resource list now reports each resource&#039;s real stock, and the appointment date in the booking recap follows the site&#039;s language rather than the visitor&#039;s browser. Safe maintenance update.<\/p>","2.5.6":"<p>Security hardening across several modules (SSRF, CSV export safety, multisite capability guard, recovery-key protection), a full WP-CLI command suite, and calendar improvements. Recommended for all sites.<\/p>","2.5.5":"<p>The booking calendar&#039;s service editor is clearer: each service is its own card with proper on\/off toggles, and the online-meeting option only appears \u2014 and reads sensibly \u2014 for services that can take place online.<\/p>","2.5.4":"<p>Patch: venues can show a map on the event page, clients can book a recurring series of appointments, events can sell multiple ticket tiers with promo codes, and both Forms and the Calendar are now fully manageable from WP-CLI.<\/p>","2.5.3":"<p>Calendar settings are reorganised into one tab per scheduling type (appointments, events, bookables) with a section menu, and you gain event sign-up approval, a bookable waitlist, and a sign-up cutoff before events.<\/p>","2.5.2":"<p>Patch: the client self-service space (reschedule and cancel, no account) is now on by default on new sites, the booking-form consent wording is clearer, and the Calendar settings tabs are tidier \u2014 key options stay visible while secondary ones tuck away.<\/p>","2.5.1":"<p>Patch release: security and reliability hardening across modules (Fatal Error Recovery, Maintenance, SMTP, User Role Editor, Backup, Calendar), plus Calendar emails and labels that follow your site language and rate-limited public forms.<\/p>","2.5.0":"<p>New Calendar module (Beta): publish events with RSVP and run a full online booking system \u2014 appointments, resource rentals, reminders and Stripe payments. Plus SFTP backups via SSH key and a clearer, more accessible dashboard. Recommended.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":3},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3445615,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3445615,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3445615,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x50.png":{"filename":"banner-772x50.png","revision":3445615,"resolution":"772x50","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.1.1","1.1.2","1.10.0","1.11.0","1.11.1","1.2.0","1.3.0","1.3.1","1.3.2","1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4.6","1.4.7","1.5.0","1.5.1","1.5.2","1.5.3","1.5.4","1.5.5","1.5.6","1.6.0","1.6.1","1.7.0","1.7.1","1.7.2","1.7.3","1.7.4","1.7.5","1.8.0","1.8.1","1.8.2","1.9.0","1.9.1","1.9.10","1.9.2","1.9.3","1.9.4","1.9.5","1.9.6","1.9.7","1.9.8","1.9.9","2.0.0","2.0.1","2.0.2","2.1.0","2.1.1","2.2.0","2.3.0","2.3.1","2.3.2","2.4.0","2.5.0","2.5.1","2.5.10","2.5.11","2.5.12","2.5.13","2.5.14","2.5.2","2.5.3","2.5.4","2.5.5","2.5.6","2.5.7","2.5.8","2.5.9","2.6.0","2.7.0","2.7.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3557151,"resolution":"1","location":"assets","locale":"","width":3024,"height":1628},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3557151,"resolution":"10","location":"assets","locale":"","width":3024,"height":1336},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3557151,"resolution":"2","location":"assets","locale":"","width":3024,"height":2334},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3557151,"resolution":"3","location":"assets","locale":"","width":3024,"height":2124},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3557151,"resolution":"4","location":"assets","locale":"","width":3024,"height":1544},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3557151,"resolution":"5","location":"assets","locale":"","width":3024,"height":920},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3557151,"resolution":"6","location":"assets","locale":"","width":3024,"height":1086},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3557151,"resolution":"7","location":"assets","locale":"","width":3024,"height":1540},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3557151,"resolution":"8","location":"assets","locale":"","width":3024,"height":1558},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3557151,"resolution":"9","location":"assets","locale":"","width":3024,"height":1452}},"screenshots":{"1":"Modular dashboard \u2013 Enable only the modules you need, organised by category with instant activation.","2":"Cache &amp; Performance \u2013 Overview of your whole cache stack, with an auto-pilot that tests each speed option on your real pages.","3":"SEO\/GEO \u2013 Manage meta titles and descriptions for all your content from one place, with at-a-glance optimisation status.","4":"SMTP Mailer \u2013 Send through several relays with automatic fallback when one provider fails.","5":"Backup &amp; Restore \u2013 Choose exactly what to back up: database, plugins, themes and uploads.","6":"Database Optimizer \u2013 See your database size and overhead, then clean and optimise in one click.","7":"Fatal Error Recovery \u2013 Recover a crashed site from a secret recovery URL, with no FTP access.","8":"Image Sizes \u2013 Review every registered thumbnail size and disable the ones you do not use.","9":"User Role Editor \u2013 Edit capabilities per role, search, and add or clone roles.","10":"Cookie Banner \u2013 GDPR consent banner with jurisdiction presets, layout and appearance controls."}},"plugin_section":[262246],"plugin_tags":[6312,14279,20272,25642,1281],"plugin_category":[41,52],"plugin_contributors":[254548],"plugin_business_model":[],"class_list":["post-276875","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-all-in-one","plugin_tags-broken-links","plugin_tags-cookie-banner","plugin_tags-hide-login","plugin_tags-maintenance-mode","plugin_category-communication","plugin_category-performance","plugin_contributors-blaminhor","plugin_committers-blaminhor"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/blaminhor-essentials\/assets\/icon-128x128.png?rev=3445615","icon_2x":"https:\/\/ps.w.org\/blaminhor-essentials\/assets\/icon-256x256.png?rev=3445615","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/blaminhor-essentials\/assets\/screenshot-1.png?rev=3557151","caption":"Modular dashboard \u2013 Enable only the modules you need, organised by category with instant activation."},{"src":"https:\/\/ps.w.org\/blaminhor-essentials\/assets\/screenshot-2.png?rev=3557151","caption":"Cache &amp; Performance \u2013 Overview of your whole cache stack, with an auto-pilot that tests each speed option on your real pages."},{"src":"https:\/\/ps.w.org\/blaminhor-essentials\/assets\/screenshot-3.png?rev=3557151","caption":"SEO\/GEO \u2013 Manage meta titles and descriptions for all your content from one place, with at-a-glance optimisation status."},{"src":"https:\/\/ps.w.org\/blaminhor-essentials\/assets\/screenshot-4.png?rev=3557151","caption":"SMTP Mailer \u2013 Send through several relays with automatic fallback when one provider fails."},{"src":"https:\/\/ps.w.org\/blaminhor-essentials\/assets\/screenshot-5.png?rev=3557151","caption":"Backup &amp; Restore \u2013 Choose exactly what to back up: database, plugins, themes and uploads."},{"src":"https:\/\/ps.w.org\/blaminhor-essentials\/assets\/screenshot-6.png?rev=3557151","caption":"Database Optimizer \u2013 See your database size and overhead, then clean and optimise in one click."},{"src":"https:\/\/ps.w.org\/blaminhor-essentials\/assets\/screenshot-7.png?rev=3557151","caption":"Fatal Error Recovery \u2013 Recover a crashed site from a secret recovery URL, with no FTP access."},{"src":"https:\/\/ps.w.org\/blaminhor-essentials\/assets\/screenshot-8.png?rev=3557151","caption":"Image Sizes \u2013 Review every registered thumbnail size and disable the ones you do not use."},{"src":"https:\/\/ps.w.org\/blaminhor-essentials\/assets\/screenshot-9.png?rev=3557151","caption":"User Role Editor \u2013 Edit capabilities per role, search, and add or clone roles."},{"src":"https:\/\/ps.w.org\/blaminhor-essentials\/assets\/screenshot-10.png?rev=3557151","caption":"Cookie Banner \u2013 GDPR consent banner with jurisdiction presets, layout and appearance controls."}],"raw_content":"<!--section=description-->\n<p><strong>One plugin to replace twenty. Free forever.<\/strong><\/p>\n\n<p>I was tired of my WordPress installs looking like a graveyard of single-purpose plugins \u2014 one for SEO, one for cache, one for SMTP, one for redirects, one for backups. Each one with its own dashboard, its own freemium dance. So I built Blaminhor Essentials \u2014 and I never sell your data.<\/p>\n\n<p><strong>Why this plugin exists:<\/strong><\/p>\n\n<ul>\n<li><strong>Every WordPress essential under one roof.<\/strong> SEO, cache, SMTP, backup, cookie banner, contact forms, calendar, anti-spam, login security, downloads, 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.<\/li>\n<li><strong>Your existing data comes with you.<\/strong> Switching does not mean starting over: built-in importers for Yoast, Rank Math, All in One SEO, WP Mail SMTP, Post SMTP, Easy WP SMTP, Redirection, Safe Redirect Manager, Custom Taxonomy Order, Favicon by RealFaviconGenerator, and the standalone User Role Editor. The dedicated plugins you've stacked one by one over the years, now in a single coherent toolkit.<\/li>\n<li><strong>No tax for what you don't use.<\/strong> Each module is independent: an inactive one loads no PHP, registers no hooks, enqueues no assets, runs no queries. You're only paying \u2014 in memory and milliseconds \u2014 for the features you actually turned on.<\/li>\n<li><strong>Rebuilt on modern PHP.<\/strong> Since version 2, every module has been re-engineered from the ground up to take full advantage of PHP 8 \u2014 strict types, enums and value objects \u2014 for tighter security and faster, leaner execution.<\/li>\n<li><strong>Free.<\/strong> All features above are free. No tracking, no telemetry.<\/li>\n<li><strong>Translated in 11 languages.<\/strong> English, French, German, Spanish, Italian, Portuguese (Brazil), Japanese, Russian, Turkish, Dutch, Indonesian.<\/li>\n<li><strong>You can email me anytime.<\/strong> <code>hi+wp@blaminhor.com<\/code><\/li>\n<\/ul>\n\n<p><strong>Available Features \u2014 26 modules:<\/strong><\/p>\n\n<h4>Performance<\/h4>\n\n<ul>\n<li><strong>Cache &amp; Performance<\/strong> \u2014 Page cache, asset optimization and lazy load, plus a Web Vitals dashboard and an auto-pilot that benchmarks each speed option on your own pages.<\/li>\n<\/ul>\n\n<h4>SEO &amp; Links<\/h4>\n\n<ul>\n<li><strong>SEO\/GEO<\/strong> \u2014 Meta titles and descriptions with SERP preview, XML sitemaps, per-type indexing control, and one-click import from Yoast, Rank Math or All in One SEO.<\/li>\n<li><strong>Redirections<\/strong> \u2014 Simple or regex redirects (301, 302, 307, 410, 451) with hit counters, slug-change detection, and CSV \/ plugin import (Redirection, Safe Redirect Manager).<\/li>\n<li><strong>Broken Links<\/strong> \u2014 Scan posts, pages and custom post types for dead internal and external links, with live results and one-click fixes.<\/li>\n<\/ul>\n\n<h4>Emails<\/h4>\n\n<ul>\n<li><strong>SMTP Mailer<\/strong> \u2014 Reliable delivery through 12+ providers (Brevo, SendGrid, Mailgun, AWS SES\u2026) with automatic relay fallback, logging, and import from WP Mail SMTP, Post SMTP or Easy WP SMTP.<\/li>\n<li><strong>Mute Core Emails<\/strong> \u2014 Silence WordPress automatic notifications (updates, new users, password changes, comments) individually.<\/li>\n<\/ul>\n\n<h4>Security &amp; Maintenance<\/h4>\n\n<ul>\n<li><strong>Cookie Banner<\/strong> \u2014 Self-hosted consent banner that blocks tracking scripts and embeds until visitors agree, with GDPR\/CCPA\/LGPD presets, Consent Mode v2, and a 13-month consent log.<\/li>\n<li><strong>Anti-Spam<\/strong> \u2014 Block spam bots on the comment, login, registration and password forms with a hidden honeypot trap, and encode the email addresses shown on your site so harvesters cannot read them \u2014 no CAPTCHA, no external service.<\/li>\n<li><strong>Login Security<\/strong> (Beta) \u2014 Lock out brute-force attempts on every sign-in route (login form, XML-RPC, REST API, application passwords) before the password is checked, add two-factor authentication (authenticator app, security key or passkey, emailed code, single-use backup codes) with trusted browsers, alert on sign-ins from unfamiliar devices, enforce a password policy per role, and keep a journal of every attempt with addresses stored hashed. Entirely local, no external service.<\/li>\n<li><strong>Hide Login Page<\/strong> \u2014 Replace wp-login.php with a custom URL and block bots probing the default login.<\/li>\n<li><strong>HTTPS Redirect<\/strong> \u2014 Force HTTPS site-wide with optional mixed-content fixing and an HSTS header.<\/li>\n<li><strong>Fatal Error Recovery<\/strong> \u2014 Recover a crashed site from a secret URL by disabling the culprit plugin, with no FTP access.<\/li>\n<li><strong>Maintenance<\/strong> \u2014 Show a Coming Soon (200) or Maintenance (503) page, with role and IP whitelisting.<\/li>\n<li><strong>User Role Editor<\/strong> \u2014 Create, clone and edit roles and capabilities, with per-user overrides, JSON import\/export and one-click import from the standalone User Role Editor plugin.<\/li>\n<\/ul>\n\n<h4>Database &amp; Migration<\/h4>\n\n<ul>\n<li><strong>Backup &amp; Restore<\/strong> \u2014 Scheduled backups of files and database as separate archives, with a safety backup and one-click undo before every restore.<\/li>\n<li><strong>Database Optimizer<\/strong> \u2014 Clean revisions, transients, spam and orphaned data on a schedule, with an at-a-glance size and overhead overview.<\/li>\n<li><strong>Domain Changer<\/strong> \u2014 Change your site domain and update every database reference, including serialized data, in one click.<\/li>\n<\/ul>\n\n<h4>Content &amp; Media<\/h4>\n\n<ul>\n<li><strong>Calendar<\/strong> (Beta) \u2014 Publish events with recurrence, venues, organizers, calendar views, iCal import and RSVP, and run a full booking system for appointments and resource rentals with reminders and Stripe payments.<\/li>\n<li><strong>Forms<\/strong> (Beta) \u2014 Accessible drag-and-drop contact forms with entries stored in the database, no-CAPTCHA spam protection, and GDPR controls.<\/li>\n<li><strong>Downloads<\/strong> (Beta) \u2014 Count how many times each media library file is downloaded, and how many distinct people downloaded it, without recreating your files as anything else. Make documents save instead of opening in a tab, restrict a file to signed-in visitors, chosen roles or a password, and optionally route direct file requests through the counted link so links already shared are covered too. Robots, link previews and repeat clicks are filtered out, and no visitor address is ever stored.<\/li>\n<li><strong>Content Duplicator<\/strong> \u2014 Clone any post, page or custom post type with all fields, taxonomies and child posts; supports every major page builder.<\/li>\n<li><strong>Classic Editor &amp; Widgets<\/strong> \u2014 Restore the classic editor and\/or the classic widgets screen, independently.<\/li>\n<li><strong>Image Sizes<\/strong> \u2014 Disable unused thumbnail sizes, register custom ones, and regenerate existing images.<\/li>\n<li><strong>Favicon Generator<\/strong> \u2014 Generate every favicon format (PNG, Apple Touch, Android, Windows tiles) from a single square image, or import an existing set from Favicon by RealFaviconGenerator or the WordPress Site Icon.<\/li>\n<li><strong>Post Types Order<\/strong> \u2014 Reorder posts, pages, custom post types and taxonomies with drag and drop, and import an existing term order from Custom Taxonomy Order.<\/li>\n<li><strong>Disable Comments<\/strong> \u2014 Remove the comment system site-wide and hide it from the admin, reversibly.<\/li>\n<\/ul>\n\n<h3>WP-CLI Commands<\/h3>\n\n<p>Every module is fully configurable from the command line through the <code>wp blaminhor ...<\/code> namespace \u2014 useful for scripts, CI\/CD, fixtures, and AI assistants like Claude Code or Cursor. The CLI delegates to the same validation pipeline as the admin UI, so settings stay consistent.<\/p>\n\n<p>Discover the full command tree:<\/p>\n\n<pre><code>wp help blaminhor\nwp help blaminhor &lt;subcommand&gt;\n<\/code><\/pre>\n\n<p>Lifecycle:<\/p>\n\n<pre><code>wp blaminhor info\nwp blaminhor modules list [--active-only|--inactive-only] [--category=&lt;slug&gt;]\nwp blaminhor modules activate &lt;module-id&gt;\nwp blaminhor modules deactivate &lt;module-id&gt; [--yes]\n<\/code><\/pre>\n\n<p>A few examples per module (full reference: see the bundled <code>llms.txt<\/code>):<\/p>\n\n<ul>\n<li>SMTP: <code>wp blaminhor smtp add-relay --name=Gmail --host=smtp.gmail.com --port=587 --encryption=tls --from-email=hello@example.com<\/code>, <code>wp blaminhor smtp test --to=admin@example.com<\/code><\/li>\n<li>Redirections: <code>wp blaminhor redirections add --source=\/old --target=\/new<\/code>, <code>wp blaminhor redirections list --search=\/blog<\/code><\/li>\n<li>SEO\/GEO: <code>wp blaminhor seo set --sitemap-enabled=true --ai-block-chatgpt=true<\/code>, <code>wp blaminhor seo list-urls<\/code><\/li>\n<li>Maintenance: <code>wp blaminhor maintenance enable --headline=\"Be right back\"<\/code>, <code>wp blaminhor maintenance disable<\/code><\/li>\n<li>HTTPS Redirect: <code>wp blaminhor https-redirect enable --hsts=true<\/code><\/li>\n<li>Database Optimizer: <code>wp blaminhor db-optimizer scan<\/code>, <code>wp blaminhor db-optimizer clean --tasks=revisions,spam_comments<\/code><\/li>\n<li>Login Security: <code>wp blaminhor login-security unlock 203.0.113.7<\/code>, <code>wp blaminhor login-security reset-2fa admin<\/code><\/li>\n<li>Cache: <code>wp blaminhor cache purge<\/code>, <code>wp blaminhor cache status<\/code><\/li>\n<li>Backup: <code>wp blaminhor backup list<\/code>, <code>wp blaminhor backup delete &lt;prefix&gt; --yes<\/code><\/li>\n<\/ul>\n\n<p>All listing commands accept <code>--format=table|json|csv|yaml|count|ids<\/code> for scripting. Mutating commands require <code>--user=&lt;admin-login&gt;<\/code> for the capability check. Sensitive values (SMTP passwords, recovery keys) are never printed in cleartext.<\/p>\n\n<p>The Backup module exposes <code>list<\/code> and <code>delete<\/code> only \u2014 creating and restoring a backup remain admin-only, where the stepped AJAX flow avoids PHP timeouts and the pre-restore safety net runs.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>blaminhor-essentials<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Go to \"Blaminhor Essentials\" in the admin menu.<\/li>\n<li>Turn on the features you need.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20activating%20all%20features%20slow%20down%20my%20site%3F\"><h3>Will activating all features slow down my site?<\/h3><\/dt>\n<dd><p>No. Each module only loads its code when activated. Disabled modules have zero impact on performance \u2014 no PHP loaded, no hooks registered, no queries run.<\/p><\/dd>\n<dt id=\"is%20it%20really%20free%3F\"><h3>Is it really free?<\/h3><\/dt>\n<dd><p>Yes, genuinely free. Every module and every feature ships in the single free download \u2014 no expiring trial, no ads in your dashboard, nothing held back for a paywall. I don't track you and I don't sell your data. If it saves you time, a kind review is all I ask.<\/p><\/dd>\n<dt id=\"what%20are%20the%20requirements%3F\"><h3>What are the requirements?<\/h3><\/dt>\n<dd><p>WordPress 6.2 or newer and PHP 8.1 or newer. It runs fine on standard shared hosting: heavy jobs like backups and link scans are processed in small batches to avoid timeouts, and no background service or special server access is required.<\/p><\/dd>\n<dt id=\"can%20i%20replace%20multiple%20plugins%20with%20this%20one%3F\"><h3>Can I replace multiple plugins with this one?<\/h3><\/dt>\n<dd><p>Yes, that's the main goal. Blaminhor Essentials can replace Redirection, Yoast\/Rank Math, WP Mail SMTP, UpdraftPlus, Duplicate Post, User Role Editor, Limit Login Attempts, WP 2FA, and many others.<\/p><\/dd>\n<dt id=\"will%20it%20conflict%20with%20my%20existing%20seo%2C%20cache%20or%20smtp%20plugin%3F\"><h3>Will it conflict with my existing SEO, cache or SMTP plugin?<\/h3><\/dt>\n<dd><p>Every module is off by default and independent, so installing the plugin changes nothing until you switch something on. The one thing to avoid is running two plugins that do the same job \u2014 two SEO plugins, or two page caches \u2014 since they can clash. The clean path is to import your data into the matching module, then deactivate the old plugin.<\/p><\/dd>\n<dt id=\"how%20do%20i%20migrate%20my%20data%20from%20other%20plugins%3F\"><h3>How do I migrate my data from other plugins?<\/h3><\/dt>\n<dd><p>Several modules include import features, so you don't lose your existing setup:\n- <strong>SEO<\/strong>: Import titles, descriptions and keywords from Yoast SEO, Rank Math or All in One SEO.\n- <strong>SMTP<\/strong>: Import from WP Mail SMTP, Post SMTP or Easy WP SMTP.\n- <strong>Redirections<\/strong>: Import from the Redirection plugin, Safe Redirect Manager or a CSV file.\n- <strong>Post Types Order<\/strong>: Import your saved term order from Custom Taxonomy Order.\n- <strong>Favicon<\/strong>: Import an existing favicon set from Favicon by RealFaviconGenerator, or from the WordPress Site Icon.\n- <strong>User Role Editor<\/strong>: Import roles and custom capabilities from the standalone User Role Editor plugin, or from a JSON export.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20my%20data%20to%20external%20servers%3F\"><h3>Does the plugin send my data to external servers?<\/h3><\/dt>\n<dd><p>No. Everything runs on your own server by default \u2014 no telemetry, no usage tracking. The only data that ever leaves your site is what you set up yourself: the SMTP module sends your emails through the relay you choose, the Cache module can run a Google PageSpeed audit when you click the button, and Fatal Error Recovery can email me the errors this plugin causes if you switch that option on. Nothing else.<\/p><\/dd>\n<dt id=\"what%20exactly%20is%20sent%20if%20i%20turn%20on%20error%20reports%3F\"><h3>What exactly is sent if I turn on error reports?<\/h3><\/dt>\n<dd><p>That option lives in Fatal Error Recovery \u2192 Settings and is off until you tick it. Once on, an error raised inside a Blaminhor Essentials file is emailed to me so I can fix it; errors from other plugins or from your theme are never sent. A report contains the error message, the file and line inside the plugin, and the plugin, WordPress and PHP versions. File paths, email addresses, IP addresses and credentials are stripped out first, and your site address is never included \u2014 only a one-way identifier that cannot be traced back to your site. The same error is reported once per plugin version, five reports per version at most. Untick the option and everything stops immediately.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20settings%20if%20i%20deactivate%20or%20uninstall%20the%20plugin%3F\"><h3>What happens to my settings if I deactivate or uninstall the plugin?<\/h3><\/dt>\n<dd><p>Your data is safe by default. Deactivating keeps every setting untouched, so you can switch the plugin back on right where you left off. Even deleting the plugin removes nothing unless you first turn on the \"Delete all data on uninstall\" option \u2014 and your posts, pages and media are never touched either way. If you do opt in, uninstalling cleans up the plugin's own options, tables and files so nothing is left behind.<\/p><\/dd>\n<dt id=\"if%20i%20turn%20off%20a%20module%2C%20do%20i%20lose%20its%20data%3F\"><h3>If I turn off a module, do I lose its data?<\/h3><\/dt>\n<dd><p>No. Turning a module off only stops it from running \u2014 your redirects, SEO meta, form entries and settings are all kept, so you can switch it back on later exactly as it was. Data is only removed if you delete the whole plugin with the \"Delete all data on uninstall\" option enabled.<\/p><\/dd>\n<dt id=\"can%20i%20back%20up%20my%20entire%20site%3F\"><h3>Can I back up my entire site?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20backup%20restore%20goes%20wrong%3F\"><h3>What happens if a backup restore goes wrong?<\/h3><\/dt>\n<dd><p>The plugin automatically creates a safety backup before any restore. If something goes wrong, you can undo it with one click.<\/p><\/dd>\n<dt id=\"does%20the%20smtp%20module%20support%20multiple%20providers%3F\"><h3>Does the SMTP module support multiple providers?<\/h3><\/dt>\n<dd><p>Yes. You can configure multiple relays with automatic fallback. If the primary one fails, it tries the next in your list.<\/p><\/dd>\n<dt id=\"can%20i%20duplicate%20elementor%2Fdivi%20pages%3F\"><h3>Can I duplicate Elementor\/Divi pages?<\/h3><\/dt>\n<dd><p>Yes. The Content Duplicator fully supports all major page builders, including Elementor, Divi, Beaver Builder, Brizy and Oxygen.<\/p><\/dd>\n<dt id=\"can%20i%20control%20which%20user%20roles%20can%20access%20certain%20features%3F\"><h3>Can I control which user roles can access certain features?<\/h3><\/dt>\n<dd><p>Yes. For example, the Post Types Order module lets you choose which roles can reorder content (Administrator, Editor or Author), and the User Role Editor gives you fine-grained control over every capability.<\/p><\/dd>\n<dt id=\"what%20if%20my%20site%20crashes%20after%20a%20plugin%20update%3F\"><h3>What if my site crashes after a plugin update?<\/h3><\/dt>\n<dd><p>The Fatal Error Recovery module detects PHP fatal errors and gives you a secret recovery URL to deactivate the problematic plugin \u2014 no FTP access needed.<\/p><\/dd>\n<dt id=\"what%20languages%20is%20the%20plugin%20available%20in%3F\"><h3>What languages is the plugin available in?<\/h3><\/dt>\n<dd><p>Eleven. English, French, German, Spanish, Italian, Brazilian Portuguese, Japanese, Russian and Turkish are fully translated; Dutch and Indonesian are partially translated, with anything untranslated falling back to English.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20work%20with%20multisite%3F\"><h3>Does the plugin work with multisite?<\/h3><\/dt>\n<dd><p>Yes, on a per-site basis. Each site keeps its own settings, its own database tables and its own backups (Backup, Domain Changer and Database Optimizer store archives in a separate per-site folder), so sites stay fully isolated. Network activation, deactivation and uninstall apply cleanly to every site, and sites created later are set up automatically. Two notes: server-level browser cache and GZIP rules live in the shared root .htaccess and are managed by a network administrator (PHP page caching still applies on every site); and there is no central Network Admin screen yet, so you configure each site from its own dashboard.<\/p><\/dd>\n<dt id=\"how%20can%20i%20get%20support%3F\"><h3>How can I get support?<\/h3><\/dt>\n<dd><p>Email me at hi+wp@blaminhor.com or visit <a href=\"https:\/\/wp.blaminhor.com\/\">wp.blaminhor.com<\/a>. You can also use the feedback form on the plugin dashboard.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.7.1<\/h4>\n\n<ul>\n<li>Fixed: Backup &amp; Restore - Downloading a large backup no longer fails at the very end, and the saved archive opens correctly.<\/li>\n<li>Improved: Backup &amp; Restore - Backup downloads can be paused and resumed, and one that starts before your session ends finishes on its own.<\/li>\n<li>Fixed: Content Duplicator - The \"Original title\" option now works: it was listed in the settings but never applied, so the title was always copied.<\/li>\n<li>Added: Core - WP-CLI now covers every module, from download counters and link scans to database backups, consent exports and per-file access rules.<\/li>\n<li>Fixed: Core - WP-CLI no longer clears settings it was not asked to touch, among them the off-site backup destination, certificate expiry monitoring and delivery-failure alerts.<\/li>\n<li>Fixed: Core - WP-CLI commands that stopped with an error now work, including single-URL checks, item reordering and favicon generation.<\/li>\n<\/ul>\n\n<h4>2.7.0<\/h4>\n\n<ul>\n<li>New module: Downloads (Beta) - Know what actually gets downloaded from your media library, and decide who can:\n\n<ul>\n<li>Total and unique download counts per file, with robots, link previews and repeat clicks filtered out, and no visitor address ever stored.<\/li>\n<li>Documents save to disk instead of opening in a browser tab.<\/li>\n<li>Any file restricted to signed-in visitors, to chosen roles, or behind a password.<\/li>\n<li>Direct file requests routed through the counted link, so links already shared stay covered.<\/li>\n<\/ul><\/li>\n<li>Added: Login Security - Copies the authenticator key and the backup codes to the clipboard in one click.<\/li>\n<li>Improved: Login Security - Opens on Statistics so recent sign-in activity comes first, with settings next.<\/li>\n<li>Improved: Login Security - The two-factor tab now shows whether your own account is protected and links straight to where you set it up.<\/li>\n<li>Fixed: Core - Saving settings from a tab now returns to that tab instead of the first one, and reloading the page no longer asks to resend the form.<\/li>\n<li>Fixed: Core - The \"Settings saved\" confirmation is no longer lost when saving Broken Links, Database Optimizer, User Role Editor or Cookie Banner settings.<\/li>\n<li>Fixed: Anti-Spam - Saving from the email protection tab no longer sends you back to the first tab.<\/li>\n<li>Fixed: Login Security - Turning off a two-factor method now hides it from the profile screen as described, and it can no longer be set up once disabled.<\/li>\n<li>Fixed: Login Security - The sign-in challenge no longer overlaps the trust-this-browser checkbox with the confirmation button.<\/li>\n<\/ul>\n\n<h4>2.6.0<\/h4>\n\n<ul>\n<li>New module: Login Security (Beta) - Everything that guards the front door, on your own site with no external service:\n\n<ul>\n<li>Brute-force throttling across the login form, XML-RPC, the REST API and application passwords.<\/li>\n<li>Two-factor sign-in: authenticator app, security key or passkey, emailed code and single-use backup codes, with trusted browsers.<\/li>\n<li>A password policy and sign-in alerts, plus a privacy-friendly journal of every attempt with hashed addresses.<\/li>\n<li>WP-CLI unlock and second-factor reset, an IP allowlist and a wp-config.php switch so you can never lock yourself out.<\/li>\n<\/ul><\/li>\n<li>Improved: Core - Confirms compatibility with WordPress 7.1, including the always-iframed post editor, client-side media processing and the persistent editor toolbar.<\/li>\n<li>Improved: Hide Login Page - Points to the Login Security module for brute-force throttling, two-factor authentication and a sign-in journal.<\/li>\n<\/ul>\n\n<p>Older versions (2.5.14 and earlier) are archived in <code>changelog.txt<\/code> shipped with the plugin.<\/p>","raw_excerpt":"26 WordPress essentials in one plugin. No weight for what you disable, every feature free, no upsell, no tracking.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/276875","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=276875"}],"author":[{"embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/blaminhor"}],"wp:attachment":[{"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=276875"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=276875"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=276875"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=276875"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=276875"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kaa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=276875"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}