Title: JSM Force HTTP to HTTPS / SSL &#8211; No Setup, Fast and Reliable
Author: JS Morisset
Published: <strong>Januari 2, 2017</strong>
Last modified: Maret 25, 2026

---

Search plugins

![](https://ps.w.org/jsm-force-ssl/assets/banner-772x250.jpg?rev=3312270)

![](https://ps.w.org/jsm-force-ssl/assets/icon-256x256.jpg?rev=2396817)

# JSM Force HTTP to HTTPS / SSL – No Setup, Fast and Reliable

 By [JS Morisset](https://profiles.wordpress.org/jsmoriss/)

[Download](https://downloads.wordpress.org/plugin/jsm-force-ssl.3.5.0.zip)

 * [Details](https://su.wordpress.org/plugins/jsm-force-ssl/#description)
 * [Reviews](https://su.wordpress.org/plugins/jsm-force-ssl/#reviews)
 * [Development](https://su.wordpress.org/plugins/jsm-force-ssl/#developers)

 [Support](https://wordpress.org/support/plugin/jsm-force-ssl/)

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

**SIGNIFICANTLY FASTER than other popular plugins of this type:**

Other well known plugins use [PHP’s output buffer](https://secure.php.net/manual/en/function.ob-start.php)
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](https://en.wikipedia.org/wiki/HTTP_301)).

**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](https://developer.mozilla.org/en-US/docs/Web/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 connections. 😉

## Reviews

![](https://secure.gravatar.com/avatar/e9f688c942b08ba91a66782fd56f1f967f4f2a2991dee6213c21aa115e526d1e?
s=60&d=retro&r=g)

### 󠀁[thank you!](https://wordpress.org/support/topic/thank-you-3444/)󠁿

 [iqbalresources](https://profiles.wordpress.org/iqbalresources/) Oktober 24, 2023

for two days i’m a it headache with ‘skip to main content’ in front page. after 
looking around to find a fix, found the way to do it, by converting all http into
https. but it’s quite complex to find all the http inside the whole web. suddenly
found this plugin, and thank god.. all http become https. thank you plugin’s author.

![](https://secure.gravatar.com/avatar/61094bc812bb50313d53b1e9d9c6b5380e6515ae78a6f34179c5af57d5e48f4a?
s=60&d=retro&r=g)

### 󠀁[Excellent Plugin](https://wordpress.org/support/topic/excellent-plugin-8834/)󠁿

 [Ken Haynes](https://profiles.wordpress.org/kenhaynes_it/) Oktober 8, 2023

I use this plugin on all of my WordPress websites. I can’t image not having it installed.
No setup is required and it works flawlessly.

![](https://secure.gravatar.com/avatar/1b494af9ae64aa36ad4d30ac990f9e2a6309d337b8dd6010a85d53a61ffce6f7?
s=60&d=retro&r=g)

### 󠀁[Simple, useful, plugin.](https://wordpress.org/support/topic/simple-useful-plugin-7/)󠁿

 [ronca1](https://profiles.wordpress.org/ronca1/) Agustus 15, 2021 1 reply

Makes this easy as pie

![](https://secure.gravatar.com/avatar/2227539581ca95cb53f1aa4b3b7e8a58570ceec08c62af038a38d75895afd0e4?
s=60&d=retro&r=g)

### 󠀁[Perfect!](https://wordpress.org/support/topic/perfect-8135/)󠁿

 [lanceblocker](https://profiles.wordpress.org/lanceblocker/) Januari 29, 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)

![](https://secure.gravatar.com/avatar/8d3994fa6639d61c5566d65a370327fce4cc5aeb96e2da23b8f58313a0b022f8?
s=60&d=retro&r=g)

### 󠀁[Solved my issue on Azure Web app service](https://wordpress.org/support/topic/solved-my-issue-on-azure-web-app-service/)󠁿

 [shadyshrif](https://profiles.wordpress.org/shadyshrif/) Méi 7, 2020 1 reply

Thanks for the prefect work

![](https://secure.gravatar.com/avatar/9db13d28639ac72e633c651f00111df4c9f866016e2565106f0919c66c59763f?
s=60&d=retro&r=g)

### 󠀁[it worked I am shocked](https://wordpress.org/support/topic/it-worked-i-am-shocked/)󠁿

 [uninstall123](https://profiles.wordpress.org/uninstall123/) Maret 25, 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

 [ Read all 13 reviews ](https://wordpress.org/support/plugin/jsm-force-ssl/reviews/)

## Contributors & Developers

“JSM Force HTTP to HTTPS / SSL – No Setup, Fast and Reliable” is open source software.
The following people have contributed to this plugin.

Contributors

 *   [ JS Morisset ](https://profiles.wordpress.org/jsmoriss/)

“JSM Force HTTP to HTTPS / SSL – No Setup, Fast and Reliable” has been translated
into 4 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/jsm-force-ssl/contributors)
for their contributions.

[Translate “JSM Force HTTP to HTTPS / SSL – No Setup, Fast and Reliable” into your language.](https://translate.wordpress.org/projects/wp-plugins/jsm-force-ssl)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/jsm-force-ssl/), check
out the [SVN repository](https://plugins.svn.wordpress.org/jsm-force-ssl/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/jsm-force-ssl/) 
by [RSS](https://plugins.trac.wordpress.org/log/jsm-force-ssl/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

### Version Numbering

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

 * {major} = Major structural code changes and/or incompatible API changes (ie. 
   breaking 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

 * [GitHub](https://jsmoriss.github.io/jsm-force-ssl/)
 * [WordPress.org](https://plugins.trac.wordpress.org/browser/jsm-force-ssl/)

### Changelog / Release Notes

**Version 3.5.0 (2024/09/28)**

 * **New Features**
    - None.
 * **Improvements**
    - Improved PHP ‘HTTP_HOST’ and ‘REQUEST_URI’ server variable checks for command
      line execution.
 * **Bugfixes**
    - None.
 * **Developer Notes**
    - Updated `JsmForceSsl::force_ssl_redirect()` to use not empty() instead of 
      isset().
 * **Requires At Least**
    - PHP v7.4.33.
    - WordPress v6.0.

## Meta

 *  Version **3.5.0**
 *  Last updated **4 weeks ago**
 *  Active installations **7.000+**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4.33 or higher **
 *  Languages
 * [English (Canada)](https://en-ca.wordpress.org/plugins/jsm-force-ssl/), [English (US)](https://wordpress.org/plugins/jsm-force-ssl/),
   [French (Belgium)](https://fr-be.wordpress.org/plugins/jsm-force-ssl/), [French (Canada)](https://fr-ca.wordpress.org/plugins/jsm-force-ssl/),
   and [French (France)](https://fr.wordpress.org/plugins/jsm-force-ssl/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/jsm-force-ssl)
 * Tags
 * [force ssl](https://su.wordpress.org/plugins/tags/force-ssl/)[insecure content](https://su.wordpress.org/plugins/tags/insecure-content/)
   [mixed content](https://su.wordpress.org/plugins/tags/mixed-content/)[redirect](https://su.wordpress.org/plugins/tags/redirect/)
   [seo](https://su.wordpress.org/plugins/tags/seo/)
 *  [Advanced View](https://su.wordpress.org/plugins/jsm-force-ssl/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  13 5-star reviews     ](https://wordpress.org/support/plugin/jsm-force-ssl/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/jsm-force-ssl/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/jsm-force-ssl/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/jsm-force-ssl/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/jsm-force-ssl/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/jsm-force-ssl/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/jsm-force-ssl/reviews/)

## Contributors

 *   [ JS Morisset ](https://profiles.wordpress.org/jsmoriss/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/jsm-force-ssl/)