WordPressをHTTPからHTTPSに移行し、サイトにSSL証明書をインストールしようとお考えですか?
Googleが2018年7月に、ChromeブラウザーがSSLのないサイトはすべて安全でないとマークすると発表したため、このトピックについて多くのリクエストをいただいています。
この投稿では、SSL証明書を追加してWordPressをHTTPからHTTPSに適切に移行する方法を紹介します。
SSLやHTTPSが何なのかわからなくても心配しないでください。それもこれから説明します。
HTTPSとは何か?
HTTPSまたはSecure HTTPは、ユーザーのブラウザーとサーバー間の接続を保護する暗号化方式です。これにより、ハッカーによる接続の盗聴が難しくなります。
私たちは毎日、購入やログイン中など、さまざまなサイトで個人情報を共有しています。
データ転送を保護するためには、安全な接続を作成する必要がある。
そこで登場するのがSSLとHTTPSだ。
各サイトには、識別のために固有のSSL証明書が発行されます。もしサーバーがHTTPSのふりをしていて、その証明書が一致しない場合、ほとんどの最新のブラウザーはユーザーにそのサイトへの接続を警告します。
さて、なぜWordPressサイトをHTTPからHTTPSに移行する必要があるのか、特に支払いを収集しないシンプルなブログや中小企業のサイトであれば、不思議に思うことだろう。
なぜHTTPSとSSLが必要なのか?
2018年、Googleはサイト所有者にHTTPからHTTPSへの切り替えを促すことで、ウェブセキュリティ全体を向上させる計画を発表した。この計画の一環として、同社の人気ウェブブラウザChromeは、SSL証明書のないサイトはすべて “Not Secure “とマークすることになった。
Googleはまた、SSLを導入したサイトはSEO上もメリットがあり、安全でないサイトよりも検索順位が上がると述べている。それ以来、多くのサイトがHTTPからHTTPSに切り替えた。
この発表の後、GoogleはChromeで「安全ではありません」という警告の展開を開始した。例えば、誰かがシークレット・ウィンドウを使ってHTTPサイトにアクセスすると、「安全ではありません」と表示される。通常モードでHTTPサイトにアクセスし、お問い合わせフォームやその他のフォームに入力しようとすると、そのサイトは安全でないと表示されます。
読者やカスタマイザーがこの告知を目にすると、あなたのビジネスに悪い印象を与えてしまう。
このため、すべてのサイトはHTTPからHTTPSに移行し、SSLをすぐにインストールする必要がある。
eコマースサイトでオンライン決済を利用する場合は、言うまでもなくSSLが必要です。
Stripe、PayPal Pro、Authorize.netなど、ほとんどの決済会社は、支払いを受け付ける前にセキュアな接続を必須としています。
WPBeginner、OptinMonster、WPForms、MonsterInsightsなどのサイトではSSLを使用しています。
WordPressサイトでHTTPS/SSLを使用するための必須条件
WordPressでSSLを使用するための必須条件はそれほど高くありません。必要なのはSSL証明書を購入することだけで、すでに無料で持っているかもしれません。
最高のWordPressホスティングサービス会社は、すべてのユーザーに無料のSSL証明書を提供しています:
詳しくは、WordPressサイトの無料SSL証明書の取得方法をご覧ください。
ホスティングサービス会社が無料のSSL証明書を提供していない場合は、SSL証明書を購入する必要があります。
Domain.comを利用することをお勧めします。Domain.comは、通常のSSL証明書とワイルドカードSSL証明書の両方で最高のSSL契約を提供しているからです。
同社からSSL証明書を購入することで、サイト用のTrustLogoサイトシールも取得でき、各SSL証明書には最低10,000ドルのセキュリティ保証が付いてくる。価格は年間33ドルからで、SSL証明書は自動的に更新される。
SSL証明書を購入したら、ホスティングサービスにインストールを依頼する必要があります。
SSLとHTTPSを使用するWordPressの設定
ドメイン名のSSL証明書を有効化した後、WordPressでSSLとHTTPプロトコルをサイトで使用するように設定する必要があります。
そのための2つの方法を紹介するので、自分のニーズに合った方を選んでほしい。
動画チュートリアル
文章での説明がお好きな方は、このまま読み進めてください。
方法1:プラグインを使ってWordPressにSSL/HTTPSを設定する
この方法は簡単で、初心者にお勧めだ。
まず、Really Simple SSLプラグインをインストールして有効化する必要があります。詳しくは、WordPressプラグインのインストール方法のステップバイステップガイドをご覧ください。
有効化したら、設定 ” SSLページにアクセスする必要があります。プラグインは自動的にSSL証明書を検出し、HTTPSを使用するようにWordPressサイトを設定します。
プラグインは、コンテンツが混在している場合のエラーも含め、すべてを処理します。プラグインが裏で行っていることは以下の通りです:
- SSL証明書の確認
- WordPressのURLでhttpsを使用するように設定する
- HTTPからHTTPSへのリダイレクト設定
- コンテンツに含まれるURLのうち、まだ安全でないHTTPソースから読み込まれているものを探し、修正を試みる。
注:このプラグインは、出力バッファリング技術を使用して、混合コンテンツのエラーを修正しようとします。ページが読み込まれる際にサイトのコンテンツを置き換えるため、パフォーマンスに悪影響を及ぼす可能性があります。この影響は最初のページ読み込み時にのみ見られ、キャッシュプラグインを使用している場合は最小限にとどまるはずです。
プラグインにはSSLを維持したままプラグインを安全に無効化できると書かれていますが、100%真実ではありません。プラグインを無効化するとミックスコンテンツエラーが復活するので、プラグインはすべて有効化したままにしておく必要があります。詳しくはReally Simple SSLレビューをご覧ください。
方法2:WordPressでSSL/HTTPSを手動で設定する
この方法では、手動でトラブルシューティングを行い、WordPressファイルを編集する必要があります。しかし、これは恒久的でよりパフォーマンスに最適化されたソリューションであり、私たちはWPBeginnerでこれを使用しています。
この方法が難しいと感じる場合は、WordPress開発者を雇うか、最初の方法を代わりに使うことができる。
この方法の一環として、WordPressテーマとコードファイルを編集する必要があるかもしれません。この作業を行ったことがない場合は、WordPressでコード・スニペットをコピー&ペーストする方法をご覧ください。
まず、設定 ” 一般ページにアクセスする必要があります。ここから、httpをhttpsに置き換えてWordPressとサイトのURLアドレス欄を更新する必要があります。
変更を保存」ボタンをクリックして、設定を保存することを忘れないでください。
設定が保存されるとWordPressはログアウト中となり、再ログインを求められます。
次に、.htaccessファイルに以下のコードを追加して、WordPressのHTTPからHTTPSへのリダイレクトを設定する必要がある:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
NGINXサーバーを使用している場合は、設定ファイルにHTTPからHTTPSにリダイレクトするための以下のコードを追加する必要があります:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
example.comをあなたのドメイン名に置き換えることをお忘れなく。
これらの手順を実行することで、WordPressがHTTPSを使用してサイト全体を読み込むため、WordPress HTTPS not workingエラーを回避できます。
WordPressの管理エリアやログインページでSSLとHTTPSを強制したい場合は、wp-config.phpファイルでSSLを設定する必要があります。
wp-config.phpファイルの“That’s all, stop editing!”行の上に以下のコードを追加します:
define('FORCE_SSL_ADMIN', true);
この行により、WordPressの管理エリアでSSL/HTTPを強制することができます。WordPressのマルチサイトネットワークでも動作します。
これを行うと、サイトはSSL / HTTPSを使用するように完全に設定されますが、コンテンツが混在したエラーが発生します。
これらのエラーは、URLのソース(画像、スクリプト、スタイルシート)がまだ安全でないHTTPプロトコルを使用して読み込まれているために発生します。この場合、サイトのアドレスバーに安全な南京錠のアイコンが表示されません。
最近のブラウザーは、安全でないスクリプトやリソースを自動的にブロックするものが多い。
南京錠のアイコンが表示されますが、ブラウザーのアドレスバーにはその旨が表示されます。
どのコンテンツが安全でないプロトコルで提供されているかは、Inspectツールを使って調べることができます。
混合コンテンツエラーは、各混合コンテンツ項目の詳細とともにコンソールに警告として表示されます。
ほとんどのURLは画像、iframe、画像ギャラリーであり、一部はWordPressプラグインやテーマによって読み込まれたスクリプトやスタイルシートであることがわかります。
WordPressデータベースの混合コンテンツの修正
不正なURLの大半は、WordPressのデータベースに保存されている画像、ファイル、埋め込み、その他のデータです。まずはそれらを修正しましょう。
データベースから、httpで始まる古いサイトのURLをすべて探し出し、httpsで始まる新しいサイトのURLに置き換える必要があります。
Search & Replace Everythingプラグインをインストーラし、有効化することで簡単に行うことができます。詳しくは、WordPressプラグインのインストール方法のステップバイステップガイドをご覧ください。
有効化したら、Tools ” WP Search & Replaceページにアクセスしてください。検索」フィールドの下に、httpで
あなたのサイトのURLを追加する必要があります。その後、「置換」フィールドにhttpsの
サイトURLを追加します。
その下に、WordPressデータベースのテーブルがすべて表示されます。徹底的なチェックを行うには、すべてを選択する必要がある。
次に、「Preview Search & Replace」ボタンをクリックして、プラグインが行うすべての変更を確認します。最後に、「すべて置換」ボタンをクリックします。
プラグインはWordPressデータベースのhttpで始まるURLを検索し、安全なhttpsのURLに置き換えます。WordPressデータベースのサイズによっては、しばらく時間がかかる場合があります。
WordPressテーマのコンテンツが混在したエラーの修正
コンテンツが混在したエラーを引き起こすもう一つの一般的な原因は、WordPressテーマです。WordPressのコーディング標準に従ったまともなWordPressテーマであれば、この問題は発生しません。
まず、ブラウザーのインスペクトツールを使って、リソースとその読み込み元を見つける必要がある。
その後、WordPressテーマでこれらのURLを見つけ、httpsに置き換える必要があります。どのテーマファイルにこれらのURLが含まれているのかを確認することができないため、ほとんどの初心者には少し難しいでしょう。
プラグインによるコンテンツ混在エラーの修正
WordPressプラグインによって読み込まれる混合コンテンツリソースがあります。WordPressのコーディング標準に従ったWordPressプラグインであれば、ミックスコンテンツエラーは発生しません。
WordPressプラグインファイルの編集はお勧めしません。代わりに、プラグイン作者に連絡して、その旨を伝えるべきです。もし作者が対応してくれなかったり、修正できなかったりした場合は、適切な代替案を探してください。
注:何らかの理由でまだコンテンツが混在したエラーが発生する場合は、ステージングサイトで問題を解決するか開発者に依頼する間、ユーザーに影響が出ないように Really Simple SSL プラグインを一時的に使用することをお勧めします。
HTTPSサイトをGoogle Search Consoleに送信する
Googleのような検索エンジンは、httpsとhttpを2つの異なるサイトとみなしています。SEO上の問題を避けるためには、Googleにサイトが移転したことを知らせる必要があります。
そのためには、Google Search Consoleのアカウントにアクセスし、「物件を追加」ボタンをクリックするだけです。
ポップアップが表示され、サイトのhttpsアドレスを追加する必要があります。
サイト認証には、ドメイン名またはURLプレフィックスの2つの方法があります。より柔軟性が高いため、URLプレフィックス方式をお勧めします。
その後、Googleはあなたのサイトの所有権を確認するよう求めます。
それにはいくつかの方法があります。いずれかの方法を選択すると、サイトを検証するための指示が表示されます。HTMLタグを使用する方法をお勧めします。
WordPressサイトのheadセクションに追加するHTMLコードスニペットが表示されます。
All In One SEOを使ってSearch Console検証コードを追加する
まず、All In One SEO for WordPressプラグインをインストールして有効化します。詳しくは、WordPressプラグインのインストール方法のチュートリアルをご覧ください。
注: All In One SEOには無料版もあり、試すことができる。
有効化したら、All In One SEO ” 一般設定ページに移動し、Google Search Consoleをクリックします。
その下に、先ほどGoogle Search Consoleのサイトからコピーした認証コードを追加する必要があります。
変更を保存」ボタンをクリックして、設定を保存することを忘れないでください。
次に、Google Search Consoleタブに戻り、「検証」ボタンをクリックします。
サイトが認証されると、Googleはサーチコンソールレポートをここに表示します。
また、https版とhttp版の両方がSearch Consoleに追加されていることを確認する必要があります。
これにより、Googleはhttps版を主要なサイトとして扱ってほしいことを伝えます。先に設定した301リダイレクトと組み合わせることで、Googleは検索順位をhttpsバージョンに転送し、検索順位が向上する可能性が高くなります。
この投稿がWordPressにHTTPSとSSLを追加するのにお役に立てば幸いです。WordPressサイトを安全に保つためのステップバイステップの手順が記載された究極のWordPressセキュリティガイド、またはWordPressの専門家が選ぶ最高の解析ソリューションもご覧ください。
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Mrteesurez
This is really fantastic.
Notinhy is bad as a visitors seeing a website insecured especially an ecommerce that collect online payment from users, this is definitely a bad experience.
That’s why it’s always advisable to have https Website. Choosing one of the hostings you have listed like Bluehost and others gives free SSL and free domain for the first year.
With Bluehost, you don’t need to manually installed the SSL certificate on your website.
Thanks, sharing this.
Moinuddin Waheed
one of my clients recently purchased a shared hosting from GoDaddy and then asked to make his website.
I started making one and realised that it doesn’t come with inbuilt one click SSL installation like that of hostinger, bluehost and other hosting services providers mentioned above.
The value of having good hosting was evident when I had to go through the painstaking process of getting SSL certificate installed.
it is very advisable that one must choose good hosting service.
Moinuddin Waheed
Having https for websites is a must for securing the trust of the visitors on the website.
just curious if we have already enabled SSL for our websites, is it necessary to change everywhere from http to https?
or it will automatically take one.
WPBeginner Support
It would depend on how you enabled SSL and your hosting provider as some will automatically update your site to https while others wont. You would want to check your site to see if it was updated and if not you would need to manually update the site address.
管理者
Jiří Vaněk
It is usually necessary to manually change everything to https or use the really simple SSL plugin. If part of the site will be http and part will be https, it is called mixed content and will end up with error and problems.
THANKGOD JONATHAN
If you are beginner and do not know much about coding I recommend you use the first method.
editing your Wordpress code is very risky much especially for no coders. After all, the plugin is easier to use and it also have a free version.
Moinuddin Waheed
Most of the hosting providers now a days give free ssl certificate to your site with a one click install as you have mentioned there.
having ssl certificate installed on website is of utmost importance as it gives a sense of security to the visitors and they can be sure about every thing they do on SSL certificate installed website is secure .
thank you for making a detailed description about http and https.
WPBeginner Support
You’re welcome
管理者
Nimdaqiu
I feel like I am no more a beginner now. Thank you for this beautifully detailed article.
WPBeginner Support
Glad we could help make the process simpler!
管理者
Andrew Meador
I followed Method 2. The only thing I modified was using the WordPress redirect method. My web host has a tool that creates a redirect (for Windows Server hosting) which adds redirect rules into the web.config – allowing the redirect to HTTPS to happen at the web server level vs at the WordPress level. Works good and is 1 level of abstraction higher. Thanks!
WPBeginner Support
Thanks for sharing, not all hosting providers offer that but glad your host was able to help
管理者
Clinton Waller
Thank you very much for this excellent tutorial.
I recently installed an SSL cert and was dreading the change-over with WordPress and Google. Not saying there wasn’t any pain, but your step-by-step instructions helped immensely!
Really appreciated the .htaccess code too, that’s just perfect. I was worried that Google would index both the insecure http and secure https variants of the old vs new website and give me a ranking penalty, but that trick completely avoids serving up insecure legacy http content — a real plus!
William
I have a mix of domains (all HTTPS) on my WordPress site. Can this plugin go through my site and set them all to my current domain?
WPBeginner Support
You would want to check with your hosting provider as some have tools for what it sounds like you are wanting to do.
管理者
Long
There are just no ‘Wordpress Address’ and ‘Site Address’ in ‘General Settings’.
Now I use wordpress multisite, one site is https and another is http. This wordpress installation is new, I have already set https at the previous wordpress installation in my sitegroud.
WPBeginner Support
You would need to go to the network admin to change the URLs of your sites on a multisite installation.
管理者
NIKHIL
I am Using the First Method So Is There Any Need to Make Changes in WordPress and Site Address URL ??
WPBeginner Support
So long as there are no hiccups with the plugin you shouldn’t need to edit your address and URL as the plugin would handle that for you.
管理者
Stein
I followed the steps in method 2, but once I reached the step “Once the settings are saved, WordPress will log you out, and you will be asked to re-login.” instead of just logging me out it also now says that “this site is not avalible” when I try to log in to wp-admin again, making the next steps impossible to do.
So how can I access the wp-admin site following the url change?
WPBeginner Support
For that specific error, you would want to go through the troubleshooting steps in our article below:
https://www.wpbeginner.com/beginners-guide/beginners-guide-to-troubleshooting-wordpress-errors-step-by-step/
管理者
Jithin
after adding this home page is redirecting but posts not redirecting to https.
http and https .. both are working .. please help.
WPBeginner Support
Should you run into that issue, you would want to reach out to your hosting provider to ensure they do not have any redirects set up.
管理者
shantun
It helps a lot thank you
WPBeginner Support
Glad our guide was helpful
管理者
RichPat
Thank you for the SSL upgrade instructions.
Using Really Simple SSL with my hosting provided certificate was a v simple upgrade process
WPBeginner Support
Glad our guide was helpful
管理者
Michael
Thanks for your valuable content.please I want to ask,if I can use the Really simple SSL plugin which is easier,why will I want to do it manually.
WPBeginner Support
That would be mainly for personal preference, there shouldn’t be a major difference between using the plugin or manually changing it.
管理者
Jithin
Thank you for the guide.
I going to install a fresh WordPress on hostgator. Do I need to do anything different for the HTTPS ? or follow the guide after installation ?
WPBeginner Support
You can follow our guide after installing your site for enabling https.
管理者
nick Devine
Hello, I went into settings and changes http to https and now I am locked out of wordpress completely. Do you have a solution to this as it is a clients website and I am concerned I have lost everything completely. Nick
WPBeginner Support
You would want to enable an SSL certificate for the site or reach out to your hosting provider to assist you in setting the URLs back to HTTP
管理者
Oleksandr Piddubnyy
First, you need to visit Settings » General page. From here you need to update your WordPress and site URL address fields by replacing http with https.
BUT! After that my page is totally disabled! I can’t backup. I can’t even enter to the admin panel. And I don’t know what’s going on. What should I do? Do you have any idea?
WPBeginner Support
It sounds like you may have not enabled an SSL certificate on your site before changing the address. You would want to reach out to your hosting provider to enable an SSL certificate for your site or have them change your URLs back to HTTP
管理者
osama khan
Good day, thank you for the guide. I installed a fresh wordpress on a VPS with an ip addresss. Now, I want to change it to a domain name – Do I need to do anything different for the HTTPS:// ?
WPBeginner Support
You would want to check with your hosting provider for how their servers are set up for swapping to the domain.
管理者
Araceli
Hi! So it looks like, after following the steps through “Fixing Mixed Content Errors in WordPress Theme,” I see that my images are causing mixed content issues. The error I am getting is, “This content should also be served over HTTPS.” How can I fix this?
WPBeginner Support
For fixing the mixed content you would want to take a look at our article below:
https://www.wpbeginner.com/plugins/how-to-fix-the-mixed-content-error-in-wordpress-step-by-step/
管理者
Araceli
Will do…thank you!
Putri
would it be okay if I change website address and site address to https but didn’t do the rest of manual process, then install the plugin instead?
WPBeginner Support
We would recommend if you are planning on using the plugin to start with the plugin method to prevent any hiccups during the process.
管理者
Amar
Hello Sir,
I have wordpress site running on wordpress 3.5.1 . can I use really simple ssl plugin for it. The plugin says it needs wordpress 4.6 and higher.
Pls suggest me how can i do it
Thanks
WPBeginner Support
For updating your WordPress site, you would want to follow our guide below:
https://www.wpbeginner.com/beginners-guide/ultimate-guide-to-upgrade-wordpress-for-beginners-infograph/
管理者
Shawn
I am unable to access the admin login URL after updating the site URLs, it keep redirecting to https but I get a “This site can not be reached error” .. I also tried to update the .htaccess file but no luck. the original website is also not getting redirected to https.
Any ides what might I be missing here?
WPBeginner Support
You would want to first reach out to your hosting provider for them to take a look and ensure your SSL certificate doesn’t have an issue.
管理者
Lola
Thank you!
Thank you!
THANK YOU!!!
WPBeginner Support
You’re welcome
管理者
Kevin
Thank you, that Plug in Better Search and Replace made the trick!
WPBeginner Support
You’re welcome, glad our recommendation was helpful
管理者
daniel
where exactly should I place the code in the .htaccess file?
WPBeginner Support
The normal location would be beneath the current code in your htaccess file
管理者
Jessica
Inner pages and post pages are still opening with http also, which will impact on search engines. What should I do now ?
WPBeginner Support
You would likely need to clear all caching on your site and you may want to check with your hosting provider that the SSL certificate was applied correctly.
管理者
Leos
Why would you add define(‘FORCE_SSL_ADMIN’, true) to wp-config file if the .htaccess redirect rule already does the job?
When adding the line to wp-config file I got a syntax error right after and it was not possible to get to the admin area.
WPBeginner Support
The FORCE_SSL_ADMIN is for your admin area to ensure it is using HTTPS. You would want to ensure you copied the entire code correctly. If you were missing the ; it would give a syntax error.
管理者
rohan
Hello,
Thanks for the detailed guide. After switching from HTTP to HTTPS, I added the new property to Google Search Console.
Do I need to submit the sitemaps again as well on the HTTPS version in GSC?
Beginner query.
WPBeginner Support
You would want to do that for safety, yes
管理者
Celena
Thank you! Very helpful!
WPBeginner Support
You’re welcome
管理者
Phil
Better Search & replace is 1.3.3 and has not been updated for a year and is not tested on the current wordpress version. It is compatible only up to 5.2.6.
Is it safe to use, or can you recommend an alternative please?
WPBeginner Support
For those warnings, you would want to take a look at our guide below.
https://www.wpbeginner.com/opinion/should-you-install-plugins-not-tested-with-your-wordpress-version/
管理者
RomRom
Solution 2 wasn’t working for me, the website would be unavaible.
After a few attemps, I noticed my hosting provider already provides a force https option. Turn it on, and bingo.
WPBeginner Support
Glad you were able to find a solution that worked for you
管理者
Feranmi
What of if my hosting provider doesn’t support free SSL certificate can the plugin works also or how can I get it for free?
WPBeginner Support
If your current host does not offer free SSL then you would want to reach out to them for what options are available.
管理者