JSM's Force SSL / HTTPS

Description

An fast and effective way to make sure that all the HTTP URLs get redirected to HTTPS, including the WordPress upload folder for uploaded images and media.

This plugin is significantly different than most other plugins of its type — other plugins generally create an output filter using PHP’s output buffering to search / replace URLs within the webpage document. This is much slower (and error prone) than using the WordPress ‘upload_dir’ filter and permanent (301) redirects (which is considered best practive when moving from HTTP to HTTPS).

The plugin defines the following constants (if not already defined), then makes sure that all front-end HTTP requests are redirected to their HTTPS equivalent:

  • FORCE_SSL
  • FORCE_SSL_ADMIN
  • FORCE_SSL_LOGIN

The plugin also hooks the WordPress ‘upload_dir’ filter, to make sure that all upload directory URLs match the required protocol.

The plugin checks and honors the following proxy / load-balancing web server variables:

  • HTTP_X_FORWARDED_PROTO
  • HTTP_X_FORWARDED_SSL

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

Requirements

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

Additional Documentation

Installation

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.

FAQ

Installation Instructions

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.
Frequently Asked Questions
  • None

Reviews

Good Plugin

I tried many ssl or https to fix my mixed content only this fix my problem thank to the author of the plugin.

Read all 2 reviews

Contributors & Developers

“JSM's Force SSL / HTTPS” is open source software. The following people have contributed to this plugin.

Contributors

“JSM's Force SSL / HTTPS” has been translated into English (Canada). Thank you to the translators for their contributions.

Translate “JSM's Force SSL / HTTPS” into your language.

Interested in development?

Browse the code or subscribe to the development log by RSS.

Changelog

Repositories

Version Numbering

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

  • {major} = Major structural code changes / re-writes or incompatible API changes.
  • {minor} = New functionality was added or improved in a backwards-compatible manner.
  • {bugfix} = Backwards-compatible bug fixes or small improvements.
  • {stage}.{level} = Pre-production release: dev < a (alpha) < b (beta) < rc (release candidate).

Changelog / Release Notes

Version 1.1.3 (2017/04/08)

  • New Features
    • None
  • Improvements
    • None
  • Bugfixes
    • None
  • Developer Notes
    • Maintenance release – update to version numbering scheme.
    • Dropped the package number from the production version string.