Force SSL Admin
Every time you log into WordPress over plain HTTP, your password travels across the internet in plain text. Anyone on the same network — coffee shop WiFi, hotel, airport — can intercept it. This module forces all admin and login traffic over HTTPS, encrypting everything between your browser and your server.
Use Cases
- Protect admin passwords from being intercepted on public WiFi
- Prevent session hijacking where attackers steal your logged-in session
- Meet PCI compliance requirements for secure admin access
- Ensure all admin work happens over encrypted connections
- Protect contributor and editor logins on multi-author sites
How It Works
When enabled, the module:
- Defines the
FORCE_SSL_ADMINconstant (WordPress core setting) - Automatically redirects any HTTP admin request to HTTPS
- Displays warnings if SSL isn’t properly configured
This is a toggle module — enable it and it works automatically.
Requires a working SSL certificate. Before enabling, make sure your site has HTTPS working. Test by visiting https://yoursite.com/wp-admin/ manually first.
Prerequisites
Before enabling this module, confirm:
- SSL certificate installed — Your hosting provider or a service like Let’s Encrypt
- HTTPS accessible — Visit
https://yoursite.comand confirm it loads - No mixed content warnings — Check browser console for errors
- Admin accessible via HTTPS — Test
https://yoursite.com/wp-admin/
Verification
After enabling:
- Go to your WordPress login page
- Check the URL bar — should show
https://with a padlock icon - Log in and navigate the admin area
- All URLs should remain HTTPS
If you see any HTTP URLs or broken padlock icons, there may be mixed content issues to resolve.
Emergency Disable
Locked out? If enabling this module causes redirect loops or access issues:
Visit your homepage (not admin) with the bypass parameter:
https://yoursite.com/?switchboard_disable_ssl=trueThis automatically disables the module and redirects you to the admin area.
Important: Add the parameter to your homepage URL, not the admin URL. The bypass only works when accessed from the frontend first.
Common Issues
Redirect Loop
Symptom: Page keeps refreshing or shows “too many redirects” error.
Cause: Your site doesn’t have a working SSL certificate, or your server isn’t properly detecting HTTPS.
Fix: Use the emergency disable parameter above, then ensure SSL is properly configured before re-enabling.
Mixed Content Warnings
Symptom: Admin loads but browser shows broken padlock or warnings.
Cause: Some resources (images, scripts, stylesheets) are loading over HTTP instead of HTTPS.
Fix: This is a theme or plugin issue, not a problem with this module. Check browser console for specific URLs and update them to HTTPS.
SSL Certificate Not Trusted
Symptom: Browser shows “Your connection is not private” warning.
Cause: SSL certificate is expired, self-signed, or misconfigured.
Fix: Contact your hosting provider or renew your SSL certificate.
FAQ
Does this affect my site’s frontend?
No. This module only forces HTTPS for the admin area (/wp-admin/) and login page (wp-login.php). Your frontend can still be accessed via HTTP if you haven’t set up full-site HTTPS.Should I use this if my whole site is already HTTPS?
If your entire site already forces HTTPS (through .htaccess, server config, or another plugin), this module is redundant but won’t cause issues. It provides an extra layer of assurance that admin traffic is always encrypted.What about wp-login.php?
The module protects the login page too. Any request towp-login.php over HTTP will be redirected to HTTPS before your password is submitted.Will this work with CloudFlare or other CDNs?
Usually yes, but CDN configurations vary. If you’re using CloudFlare’s Flexible SSL (where CloudFlare connects to your server over HTTP), you may experience redirect loops. Use CloudFlare’s Full or Full (Strict) SSL mode instead.Do I need this if I have a security plugin like Wordfence?
Security plugins often have similar functionality. If you already have SSL admin forced through another plugin, you don’t need this module too. Having both enabled won’t cause problems, but it’s redundant.Best practice: Don’t stop at admin-only HTTPS. Your entire site should use HTTPS. Many hosts offer free SSL via Let’s Encrypt. Once you have full-site HTTPS, update your WordPress Address and Site Address in Settings → General to use https://.
This module sets the WordPress FORCE_SSL_ADMIN constant. If this constant is already defined in your wp-config.php, the module respects that setting.
Get access to all 147 modules with a single license