WordPress SSL:それについて知っておくべきことは次のとおりです
公開: 2020-05-27
あなたのビジネスがオンラインで存在している場合、そしてあなたがいくつのSEO戦略を適用しても、あなたは良い検索エンジンランキングを達成できないように見えるか、訪問者はあなたのウェブサイトから戻ってきます。
あなたはあなたのウェブサイトを監査し、痛ましい真実を発見することにしました:あなたのウェブサイトにSSL証明書がインストールされていません! 言い換えれば、あなたのウェブサイトのセキュリティは、検索エンジンだけでなく、訪問者にとっても信頼できないようです。
この記事では、SSLとは何か、なぜSSLが重要なのかを学びます。 SSL証明書にはどのような利点があり、どのように機能しますか? どのタイプのWordPressSSL証明書が存在し、どれがWebサイトに最も適していますか?
これらは、WordPressSSLをインストールする前に知っておくべき質問のほんの一部です。
- SSLとは何ですか?なぜそれが重要なのですか?
- SSL証明書はどのように機能しますか?
- SSL証明書:検証とタイプ
- SSL証明書を使用する利点
- Let's Encrypt:無料のSSL / TLS証明書
- WordPressに無料のSSL証明書をインストールする
- WordPressに有料SSL証明書をインストールする
- HSTSとは何ですか?なぜそれを使用する必要がありますか?
- CloudflareのSSL証明書(オプション)
- ウェブサイト、ホスティング、ブラウザのキャッシュをクリアする
- SSL証明書が正しく機能していることを確認する
- ミックスコンテンツの警告を特定して修正する
- Google検索コンソールのHTTPSを構成する
SSLとは何ですか?なぜそれが重要なのですか?
Secure Sockets Layer(SSL)は、サーバーとブラウザー間の暗号化通信の標準です。 ブラウザはこの証明書を受信して解釈し、その信頼性を検証します。 検証が実行されると、安全な接続を介して送信されるすべてのデータが暗号化されます。 ブラウザは、閉じた南京錠のアイコンでこの接続の存在を表示し、Webサイトアドレスの前にhttpsを追加します。

ハイパーテキスト転送プロトコルセキュア(HTTPS)は、HTTPとSSLの2つのプロトコルを組み合わせたものです。 HTTPはデータを送信するトンネルであり、SSLはトンネル内のデータを暗号化するセキュリティプロトコルです。 その結果、サーバーとクライアント間の通信の読み取り、コピー、または復号化への不正アクセスは(ほぼ)不可能です。 一般的なSSL証明書には次のものが含まれます。
- ドメイン名と公開鍵
- 有効性情報とシリアル番号
- 認証局の署名
SSL証明書には一時的な有効性(ほとんどの場合最大90日)があるため、Webサイトの継続的な信頼性を保証するために、SSL証明書を定期的に更新する必要があります。 これらの証明書は、個人データと機密性の高い財務情報を扱うすべてのWebサイトに必須の要件です。
SSLで保護されたWebサイトのSERPランキングを向上させるというGoogleのイニシアチブは、SSL証明書をインストールすることの重要性も示しています。 2014年以降、SSL証明書はすべてのWebサイトに必須のコンポーネントになりました。 次のグラフは、SSL認定のWebサイトで読み込まれるページの割合が大幅に増加していることを示しています。

WordPressの共同創設者であるMattMullenwegはかつて、次のように述べています。「アカウントでデフォルトでSSL証明書を提供するホスティングパートナーのみを宣伝します。 さらに、ホスティング要件に対するHTTPSサポートについての特別な言及もあります。
SSL証明書はどのように機能しますか?
SSLプロトコルは、サーバーとブラウザー間のデータを安全に暗号化する4層構造(SSLレコード、ハンドシェイク、暗号化変更仕様、およびアラートプロトコル)です。 これらのレイヤーを使用すると、暗号化/復号化用のキーと、公開キーと秘密キーの使用に基づく認証モデルを使用できます。

このモデルでは、公開鍵がデータを暗号化し、秘密鍵が復号化に使用されます。 これは、データを暗号化および復号化するための非対称暗号化キーが交換されるSSLプロトコルのハンドシェイク層で発生します。
SSL証明書:検証とタイプ
SSL証明書には、通常、次の3つの検証レベルがあります。
1.ドメイン検証(DV)
認証局は、特定のドメイン名を使用する申請者の権利を確認します。 ドメインの背後にある会社の身元は検査されません。 ユーザーがセキュリティで保護されたサイトの南京錠をクリックすると、情報が表示されます。 ご想像のとおり、これはかなり基本的なレベルのSSL検証です。
2.組織検証(OV)
認証局は、特定のドメイン名を使用する申請者の権利と、ドメインの背後にある組織の有効性を確認します。
組織検証(OV)はより複雑ですが、ドメインの正当性を保証し、会社の所有者を識別して、訪問者により多くの信頼を提供します。 これは通常、eコマースビジネスや企業のWebサイトで使用されます。
3. Extended Validation(EV)
認証局は、特定のドメイン名を使用する申請者の権利を確認し、組織を詳細な検査にかけます。 Extended Validation(EV)を使用して証明書を発行するプロセスは、CA /ブラウザフォーラムのガイドラインで広く定義されています。
Extended Validation(EV)は最高レベルのSSL証明書検証であり、会社の存在を確認するために文書と法的許可の提示が必要です。 EVを使用すると、ユーザーはブラウザのアドレスバーに安全なサイトシールを表示できます。
検証に加えて、SSL証明書はいくつかのアプリケーション構成でも利用できます。
1.単一ドメイン
ドメインのみを保護する場合は、単一ドメイン証明書が最適なオプションです。 これらの証明書は、トップレベルドメイン(たとえば、 website.com)にのみ適用されます。 このタイプのSSL証明書は、すべての検証レベルで使用できます。
2.マルチドメイン
このタイプの証明書は、単一のSSL証明書で複数のドメイン(たとえば、 website.com 、 website.com.uk)を認証します。 認証局によっては、保護されるドメインの数が異なる場合があることに注意してください。 マルチドメインSSL証明書は、EVを除くすべての検証レベルで使用できます。
3.ワイルドカード
これらは、複数のサブドメインを持つ単一のドメインに使用されます。 ワイルドカードSSL証明書を発行する認証局は、保護されたサブドメインの数を制限する権利を持っています。 このタイプのSSL証明書は、EVを除くすべての検証レベルで使用できます。
4.マルチドメインワイルドカード
これらの証明書は、マルチドメイン証明書とワイルドカード証明書を組み合わせたものです。 これらの証明書を使用して、サブドメインとともに多数のトップレベルドメインを保護できます。 繰り返しになりますが、制限は認証局によって異なる場合があります。 このタイプのSSL証明書は、EVを除くすべての検証レベルで使用できます。
WordPressSSL証明書を使用する利点
この時点で、SSL証明書の重要性をすでに理解できています。 次に、SSL証明書の利点について説明します。
- 信頼: SSL証明書を使用すると、訪問者はWebサイトへの接続が暗号化されていることを認識し、それによって信頼性と信頼性が向上します。
- 正当性:すべての活動が既知で適切に保護されたWebサイトで行われていることは明らかだからです。
- セキュリティ:訪問者は情報が暗号化されていることを知っているため、データはあらゆる種類のサードパーティの不正アクセスや攻撃から保護されます。
- ランキング: Googleは、アドレスにSSLとHTTPSを含むWebページを優先します。
SSL証明書は、企業、特にユーザーの個人データを扱うオンラインストアに特に推奨されます。
Let's Encrypt:無料のSSL / TLS証明書
Let's Encryptは、無料の自動認証局(CA)であり、90日間の有効期間でドメイン検証済み(DV)証明書を無料で提供します。 このサービスは、インターネットセキュリティ研究グループ(ISRG)によって提供されています。 ドメインとホスティングを所有している人なら誰でも、Let's EncryptSSL証明書を無料でWordPressに追加できます。
証明書のアクティブ化時間は、Let'sEncryptリソースの可用性と認証局自体の一連の制限にも依存する場合があります。 これらの制限は次のとおりです。
- 登録ドメインごとの証明書(週50)
- 証明書ごとの名前(最大100)
- 一意のサブドメイン(週に最大5,000)
- 重複した証明書(週5回)
これらの制限の詳細を確認するには、Let'sEncryptのレート制限を参照してください。 また、Let's Encrypt SSL証明書を使用して、今後の実用的なアイデアを示します。
次のセクションに進む前に、WordPress Webサイトをバックアップすることをお勧めします。そうすれば、事態が悪化した場合にいつでも復元できます。 バックアップは、WordPressバックアッププラグインまたはサーバー側バックアップの2つの方法で行うことができます。 または、WordPressステージング環境を作成するか、テスト用にWebサイト全体のクローンを作成することもできます。
WordPressに無料のSSL証明書をインストールする
この記事ではCloudwaysプラットフォームを使用しており、既にアカウントにサインアップし、WordPressアプリケーションでサーバーを起動し、それをドメインにポイントしていることを前提としています。 そうでない場合は、WordPressでサーバーを起動する方法は次のとおりです。
次のステップでは、左上のメニューバーから[アプリケーション]に移動します。 サーバーにインストールされているWordPressアプリケーションを確認できます。 アプリケーションをクリックして、アプリケーション管理ダッシュボードを表示します。

サイトにシングルドメインのWordPressSSLを追加する
WordPress SSLをインストールする前に、ドメインが完全なDNS伝播で稼働していることを確認してください。 そうしないと、SSL証明書をインストールできません。
次のステップでは、ドメイン名と、Cloudwaysアカウントの作成に使用したものと同じメールアドレスを入力します。 次に、[証明書のインストール]をクリックします。

サイトにマルチドメインWordPressSSLを追加する
Let's Encrypt WordPress SSL証明書を複数のドメインにインストールするには、[ドメインの追加]をクリックして、WordPressWebサイトに関連付けられているドメイン名を入力します。 完了したら、[証明書のインストール]をクリックします。

サブドメインのワイルドカードSSL証明書を追加する
[ワイルドカードを適用]チェックボックスをオンにする必要があります。 ドメインレジストラに追加する必要のあるCNAMEレコードが提供されるまで少し時間がかかります。

ドメインレジストラにログインし、同様の情報を含むCNAMEレコードを追加します。
- タイプ: CNAME
- ホスト: _acme-challenge
- 値: [あなたのウェブサイトのURL]
完了したら、[ SSL証明書]セクションに戻り、[ DNSの確認]をクリックします。 設定を検証し、それに応じて通知します。 次のステップで、[証明書のインストール]をクリックして、サイトにWordPressSSLをインストールします。
Let's Encrypt WordPressSSL証明書の自動更新
Auto-RenewalオプションをEnableに設定すると、CloudwaysPlatformは更新プロセスを自動的に処理します。 [今すぐ更新]ボタンをクリックして、いつでも更新することもできます。

または、SSL監視サービスを使用して、すべてのSSL証明書が有効であり、クライアントがセキュリティ警告を受信していないことを確認することもできます。
有料のWordPressSSL証明書をインストールする
有料SSL証明書の場合、最初にWordPressアプリケーションで証明書署名要求(CSR)を有効にする必要があります。
[ SSL証明書]セクションに移動し、ドロップダウンメニューから[証明書がありません]を選択して、[ CSRの作成]をクリックします。

複数のドメインで単一のWordPressSSL証明書を使用する場合は、SANと表示されているチェックボックスをオンにして、フォームにドメイン名を追加します。

フォームを送信すると、CSRが生成されます。 次のステップで、[ CSRのダウンロード]ボタンをクリックして、CSRファイルをダウンロードします。

ダウンロードしたCSRファイルをWordPressSSL証明書プロバイダーに送信して、要件に基づいてSSL証明書を生成します。
SSL証明書プロバイダーは、 [yourdomain] .crt (証明書コード)と[yourdomain] .ca (チェーンファイル)の2つのファイルを提供します。 [証明書のインストール]をクリックすると、証明書コードとCAチェーンを要求するポップアップが表示されます。 この情報をそれぞれのフィールドに送信してください。


この情報を送信したら、[送信]をクリックして準備完了です。 これで、SSLがWordPressWebサイトで機能するはずです。
HSTSとは何ですか?なぜそれを使用する必要がありますか?
HTTP Strict Transport Security(HSTS)は、WebブラウザとユーザーエージェントにWebサイトとの接続を処理する方法を指示するWebサーバーディレクティブです。 最初に指示を含む応答ヘッダーを送信します。
攻撃者はhttp://を介してWebサイトにアクセスする方法を見つけるため、HTTPSでは不十分な場合があります。 HSTSは、利用可能な場合、ブラウザにHTTPSの使用を強制します。 WordPressSSL証明書用のHSTSの構成は非常に簡単です。 Apacheサーバーでホストしている場合は、.htaccessファイルに次の行を追加します。
#HSTSを使用して、クライアントに安全な接続のみを使用するように強制します ヘッダーは常にStrict-Transport-Security "max-age = 300; includeSubDomains; preload"を設定します
WordPress WebサイトにHSTSを追加する前に、次の前提条件を必ずお読みください。
- Webサイトには有効なSSL証明書がインストールされている必要があります。
- 301パーマネントリダイレクトを使用して、すべてのHTTPリンクをHTTPSにリダイレクトします。
- すべてのサブドメインがSSL証明書でカバーされていることを確認してください。 (ワイルドカード証明書を検討してください)
Cloudflare上のWordPressSSL証明書(オプション)
何らかの方法でCloudflareを使用している場合は、いくつかの追加手順を実行する必要があります。 まず、Cloudflareを無効にします。そうしないと、構成プロセスが失敗する可能性があります。
ステップ1
Cloudflareダッシュボードにログインし、[DNS]タブで、トグルスイッチを使用してwwwオプションと[yourdomain] .comオプションの両方を無効にします。 灰色の場合は、サービスが無効になっていることを意味します。

ステップ2
次に、[詳細設定]タブ内の[ Cloudwaysプラットフォーム] → [サーバー管理] → [設定とパッケージ]セクションに移動し、[ WAFモジュール]で[ Cloudflare ]を選択して、[変更を保存]ボタンをクリックします。

ステップ3
Cloudflareダッシュボードに戻り、ステップ1で無効にしたオプションを有効にします。 上部の[ SSL / TLS ]タブをクリックし、 SSL / TLS暗号化モードを[フレキシブル]に切り替えます。 Cloudflareが証明書をアクティブ化するのに最大24時間かかる場合があります。 ただし、以前に同じドメインを使用したことがある場合は、すぐにアクティブ化されます。

証明書がアクティブ化されたら、完全(厳密)に切り替えます。
ウェブサイト、ホスティング、ブラウザのキャッシュをクリアする
次に、無料のWordPressSSL証明書がインストールされているかどうかを確認します。 先に移動する前に、パージサービスの管理→Cloudwaysプラットフォーム→サーバーの管理に移動してニスのようなウェブサイトのキャッシュだけでなく、サーバー側のキャッシング。

SSL証明書が正しく機能していることを確認する
あなたのウェブサイトにLet'sEncrypt WordPress SSL証明書をインストールし、すべてを適切に構成したと仮定します。 次に、SSL証明書をテストします。 Webサイトにアクセスして、表示されているアイコンを確認してください。

2番目のアイコンが表示されている場合は、SSL証明書が正常に機能していることを意味します。 3番目のアイコンが表示されている場合は、WebサイトがSSL証明書を使用しているが、HTTPSを使用していない要素がページにあることを意味します。これは混合コンテンツと呼ばれる現象です。
SSL Labsは、ドメイン名を入力するだけの優れたSSLチェックツールを提供し、以下のようなレポートを分析して提供します。

多くのCloudflareユーザーは、無料のLet's Encrypt WordPressSSL証明書をCloudflareの無料アカウントのドメインにインポートしようとすると問題を報告します。 上記の設定は機能するはずですが、機能しない場合は、次の手順を試してください。
- Cloudflareにログインし、使用するドメインを選択します。
- トップメニューオプションからSSL / TLSを選択します
- SSL / TLS暗号化モードをFlexibleに変更します
- [常にHTTPSを使用する]を[オン]に設定します
- [HSTS]セクションで、[HSTSを有効にする]
- Max-Ageを3か月に設定します
- サブドメインを含める:オフ(必要に応じて変更–上記をお読みください)
- プリロード:オフ
- 最小TLSバージョンをTLS1.2に設定します
- 日和見暗号化:オン
- TLS 1.3を設定:オン
- 自動HTTPS書き換え:オン(リダイレクトを有効にするため)
- ユニバーサルSSLを無効にします(ここでも上記をお読みください)。 これにより、Cloudflare SSL証明書を使用しなくなり、サーバーから提供された証明書のみを使用するようになります。
ウェブホスティングレビュー-上記のプロセスは、カナダのホスティングからゲイリースティーブンスによって寄贈されました。
URLをHTTPからHTTPSに変更します
WordPressダッシュボード→設定→一般→ WordPressアドレス(URL)とサイトアドレス(URL)の前に移動→ httpの代わりにhttpsを入力→ページの下部にある[変更を保存]をクリックします。 これにより、 https://へのすべての内部URLが置き換えられます。

WordPressログインページにSSLを強制する
WordPressダッシュボードのURLを変更することにより、すべてのWebサイトのURLも変更する必要があります。 そうでない場合は、wp-config.phpファイルでSSLを構成して、WordPressログイン領域にSSLを強制することをお勧めします。
wp-config.phpファイルで、次の行を追加します。「これですべてです。編集を停止してください。 」
define( 'FORCE_SSL_ADMIN'、true);
上記の行は、WordPressログインページのSSLを強制します(URLは通常wp-admin / wp-login.phpです)
.htaccessファイルを介してHTTPをHTTPSにリダイレクトする
誰かがHTTPを使用してWebサイトにアクセスした場合、サーバーはHTTPS経由でサービスを提供するように強制されません。 次のステップでは、すべてのトラフィックをHTTPからHTTPSにリダイレクトするためのルールを.htaccessファイルに追加します。 変更を加える前に、.htaccessファイルをオフサイトの場所にバックアップしてください。1つのドットがWordPressに影響を与える可能性があります。
WordPressホスティングにログイン→WordPressルートディレクトリに移動→任意のエディターで.htaccessファイルを開く→.htaccessファイルの先頭に次の行を貼り付けます。
RewriteEngineオン
RewriteCond%{http:X-Forwarded-Proto}!HTTPS
RewriteRule ^(。*)$ https://%{HTTP_HOST} / $ 1 [R = 301、L].htaccessファイルは次のようになります。
RewriteEngineオン
RewriteCond%{http:X-Forwarded-Proto}!HTTPS
RewriteRule ^(。*)$ https://%{HTTP_HOST} / $ 1 [R = 301、L]
#WordPressを始める
<IfModule mod_rewrite.c>
RewriteEngineオン
RewriteBase /
RewriteRule ^ index \ .php $-[L]
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond%{REQUEST_FILENAME}!-d
RewriteRule。 /index.php [L]
</ IfModule>
#WordPressを終了CDNURLをHTTPSに更新します
WordPress CDNを使用している場合は、WordPressのURLをhttps://に更新します(上記のCloudflareセクションで説明したように)。
ミックスコンテンツの警告
Webサイトにアクセスして、すべての内部リンクがhttps://に移動されていることを確認します。 一部のWebページに情報アイコンが引き続き表示される場合は、1つ以上のURLがHTTP経由で提供されています。 それらのURLを識別する必要があります。
ミックスコンテンツの警告URLを特定する
ミックスコンテンツのシナリオを示すために、投稿に画像を追加し、投稿のテキストエディターに移動してURLをHTTPに変更しました。 次に、投稿にアクセスして、開発者コンソール(要素の検査)を開きました。 エラーアイコンをクリックして、検索バーに「mix」と入力します。 これにより、HTTP経由で提供されており、HTTPSに更新する必要があるすべてのURLが表示されます。

私の場合、それは画像のURLだけです。 ただし、WordPress SSL証明書のないドメインからのいくつかの外部画像、スタイルシート、またはスクリプトがWebサイトで使用されている可能性があります。 それらを手動でhttps://に移動する必要があります。 または、それらを削除するか、これらのファイルをサーバーに移動することもできます。
JitBitの非SSLURLは、Webサイト上の非SSLリンクをクロールしてチェックする優れたオンラインツールです。 テストWebサイトをスキャンしたところ、次のスクリーンショットはHTTP経由で提供されていたURLを示しています。

混合コンテンツ警告の問題を修正する方法は複数あります。 それらのいくつかについて説明しましょう。
方法1:VelvetBlues更新URLプラグインを使用する
すべてのURLをチェックし、それに応じて更新する便利なプラグインVelvet Blues UpdateURLがあります。 プラグインをインストールした後、 WordPressダッシュボード→ツール→URLの更新→以下のようにプラグインを設定→そして今すぐURLを更新をクリックします。

方法2:より良い検索置換プラグインを使用する
Better Search Replaceは、データベース内のHTTPURLをHTTPSに置き換えるもう1つの優れたプラグインです。 プラグインをインストールした後、 WordPressダッシュボード→ツール→より良い検索置換→以下のようにプラグインを構成→そして「検索/置換の実行」をクリックします。

方法3:本当にシンプルなSSLプラグインを使用する
無料のHTTPSを構成する最も簡単な方法は、Really SimpleSSLプラグインを使用することです。 プラグインをインストールした後、 WordPressダッシュボード→設定→SSLに移動します。 すべてが正しく行われると、以下のようなものが表示され、設定が間違っている場合は、その警告を修正するための手順とともに赤い十字が表示されます。

本当にシンプルなSSLは、ページが読み込まれるときにURLを置き換えます。 これはパフォーマンスにわずかに影響を与える可能性があり、WordPressキャッシュプラグインを使用している場合、影響は最初のロードにのみ影響します。
Google検索コンソールのHTTPSを構成する
検索コンソールでHTTPSリンクを追跡するには、 Google Analyticsダッシュボード→管理→必要なプロパティを選択し、プロパティ設定をクリック→デフォルトURLをhttp://からhttps://に変更→ページの最後にある[保存]をクリックします。

WordPress用の無料のSSL証明書を取得する方法はこれで完了です。 事前定義されたすべてのURLをHTTPからHTTPSに変更することを忘れないでください。これらは、GoogleAnalyticsを介して追跡されます。
まとめ!
ここに到達した場合は、WordPress SSLの重要性と、WordPressにSSLをインストールする方法を想像できます。 あなたがそれを使わないならば、あなたは潜在的な顧客を失い、訪問者は彼らが安全であると感じないのであなたのウェブサイトを放棄し、そして最も重要なことに、あなたは検索エンジンのランキングを失うでしょう。
この最後の質問は、Googleの場合に特に深刻です。 これは、SSL証明書のないページにペナルティを課す責任があります。 フィッシングやデータの盗難への扉を開く可能性は言うまでもありません。 ご不明な点がございましたら、下記のコメント欄にてお気軽にお問い合わせください。
