Search Over 30,000 FREE Plugins from the Official WordPress Plugin Directory Repository


A simple and effective way to force webpage and upload directory URLs from HTTP to HTTPS with a permanent redirect.

An effective way to make sure that all the HTTP URLs on your website get redirected to HTTPS, including the WordPress upload directory URL for images, etc.

The plugin defines the FORCE_SSL, FORCE_SSL_ADMIN, and FORCE_SSL_LOGIN constants, then makes sure that all front-end HTTP requests are redirected to their HTTPS equivalent.

The plugin also hooks the WordPress 'upload_dir' filter to make sure that all upload directory URLs match the current webpage protocol.

The plugin checks and honors the proxy / load-balancing HTTP_X_FORWARDED_PROTO and HTTP_X_FORWARDED_SSL web server variables.

There are no plugin settings — simply install and activate the plugin.


Your web server must be configured with an SSL certificate and able to handle HTTPS request. ;-)

Author JS Morisset
Contributors jsmoriss
Tags force, force_ssl, force_ssl_admin, force_ssl_login, https, load balancing, permament, proxy, redirect, ssl, upload, upload_dir

Automated Install

  1. Go to the wp-admin/ section of your website.
  2. Select the Plugins menu item.
  3. Select the Add New sub-menu item.
  4. In the Search box, enter the plugin name.
  5. Click the Search Plugins button.
  6. Click the Install Now link for the plugin.
  7. Click the Activate Plugin link.

Semi-Automated Install

  1. Download the plugin archive file.
  2. Go to the wp-admin/ section of your website.
  3. Select the Plugins menu item.
  4. Select the Add New sub-menu item.
  5. Click on Upload link (just under the Install Plugins page title).
  6. Click the Browse... button.
  7. Navigate your local folders / directories and choose the zip file you downloaded previously.
  8. Click on the Install Now button.
  9. Click the Activate Plugin link.


Version Numbering Scheme

Version components: {major}.{minor}.{bugfix}-{stage}{level}

  • {major} = Major code changes / re-writes or significant feature changes.
  • {minor} = New features / options were added or improved.
  • {bugfix} = Bugfixes or minor improvements.
  • {stage}{level} = dev < a (alpha) < b (beta) < rc (release candidate) < # (production).

Note that the production stage level can be incremented on occasion for simple text revisions and/or translation updates. See PHP's version_compare() documentation for additional information on "PHP-standardized" version numbering.

Changelog / Release Notes

Version 1.1.1-1 (2017/02/12)

  • New Features
    • None
  • Improvements
    • Added a check (and fix) for relative URLs coming from the WordPress Media Library.
  • Bugfixes
    • None
  • Developer Notes
    • None

Version 1.1.0-1 (2017/01/04)

  • New Features
    • None
  • Improvements
    • Added support for proxy / load-balancing web server variables.
  • Bugfixes
    • None
  • Developer Notes
    • Added an is_https() static method to check is_ssl(), along with the 'HTTP_X_FORWARDED_PROTO' and 'HTTP_X_FORWARDED_SSL' web server variables.

Frequently Asked Questions

  • None

Other Notes

Additional Documentation

Version 1.1.1-1

Requires WordPress version: 3.8 or higher

Compatible up to: 4.7.2

Last Updated 11 Feb 2017

Date Added: 02 Jan 2017

Plugin Homepage


0 stars
0 ratings


Not Enough Data

Works: 0
Broken: 0