JSM's Force HTTP to HTTPS (SSL) – Simple, Safe, Reliable, and Fast!

Description

A simple, safe, and reliable way to force HTTP URLs to HTTPS dynamically:

No setup required — simply activate the plugin to force HTTP URLs to HTTPS.

There are no plugin settings to adjust, and no changes are made to your WordPress configuration — simply activate or deactivate the plugin to enable / disable the filters and dynamic redirects.

SIGNIFICANTLY FASTER than other popular plugins of this type:

Other well known plugins use PHP’s output buffer to search & replace URLs in the rendered HTML, which is a technique that is error prone and negatively affects caching performance (as changes are not cached).

This plugin uses standard WordPress filters instead of PHP’s output buffer for maximum reliability, performance, caching compatibility, and uses 301 permanent redirects for best SEO results (301 redirects are considered best for SEO when moving from HTTP to HTTPS).

Supports advanced proxy / load-balancing HTTP headers:

  • X-Forwarded-Proto (aka HTTP_X_FORWARDED_PROTO server value)
  • X-Forwarded-Ssl (aka HTTP_X_FORWARDED_SSL server value)

See Web technology for developers > HTTP > HTTP headers > X-Forwarded-Proto for more details.

Plugin Requirements

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

Need a Boost to your Social and Search Ranking?

Check out the WPSSO Core plugin to present your content at its best on social sites and in search results, no matter how webpages are shared, re-shared, messaged, posted, embedded, or crawled.

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 ZIP 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.

Reviews

29 January 2021
I spent HOURS trying to make this happen, but a problem kept coming up... I had no idea what I was doing. AND everyone had a different redirect idea online. This plugin worked the magic quickly! Thanks! (I did have to restart Apache after installing the plugin for those using AWS Lightsail)
25 March 2020
I spent 20 hours with no sleep trying to make this SSL nonsense work and this little plugin did it in a click Honestly, I didn't believe it and checked the site on 2 other pcs
20 May 2019
In the split second changed all HTTP to HTTPS and increased speed ! I'd recommend this plugin. Thank you @jsmoriss 😉
19 November 2018
Thank you so much for developing this plugin. It works great.
Read all 10 reviews

Contributors and Developers

“JSM's Force HTTP to HTTPS (SSL) – Simple, Safe, Reliable, and Fast!” is open source software. The following people have contributed to this plugin.

Contributors

“JSM's Force HTTP to HTTPS (SSL) – Simple, Safe, Reliable, and Fast!” has been translated into 4 locales. Thank you to the translators for their contributions.

Translate “JSM's Force HTTP to HTTPS (SSL) – Simple, Safe, Reliable, and Fast!” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Change Log

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).

Repositories

Changelog / Release Notes

Version 3.4.1 (2021/02/14)

  • New Features
    • None.
  • Improvements
    • Minor update for readme text and copyright date.
  • Bugfixes
    • None.
  • Developer Notes
    • None.
  • Requires At Least
    • PHP v7.0.
    • WordPress v4.5.

Version 3.4.0 (2020/11/17)

  • New Features
    • None.
  • Improvements
    • Updated the actions and filter hooks to use PHP_INT_MIN and PHP_INT_MAX.
  • Bugfixes
    • None.
  • Developer Notes
    • None.
  • Requires At Least
    • PHP v7.0.
    • WordPress v4.5.