JSM's Force SSL / HTTPS

Description

A safe, amazingly fast, simple and effective way to make sure that all HTTP URLs get rewritten / redirected to HTTPS, including the WordPress upload folder and plugin url paths.

This plugin is significantly different than most other plugins of its type (in a good way) — 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 hooking WordPress filters and using 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 HTTP requests are rewritten / redirected to their HTTPS equivalent:

  • FORCE_SSL
  • FORCE_SSL_ADMIN
  • FORCE_SSL_LOGIN

The plugin also hooks the WordPress ‘upload_dir’ and ‘plugins_url’ filters to make sure that all URLs match the appropriate 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 1 locale. Thank you to the translators for their contributions.

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

Interested in development?

Browse the code, check out the SVN repository, 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.2.0 (2017/09/22)

  • New Features
    • None
  • Improvements
    • Added checks to leave relative urls unchanged.
    • Added a filter for the WordPress plugins_url() function.
  • Bugfixes
    • None
  • Developer Notes
    • Refactored several class methods that check and update url strings.