グーグルは、HTTPSを使用しているかをランキングシグナルに含めることを発表しました。サイト内でHTTPまたはHTTPSプロトコルを使用しているかに関係してきます。
現時点では、グローバルサーチの検索に1%未満しか影響しない大変に軽量なシグナルです。他の(高品質のコンテンツなどの)シグナルよりも軽量なので、サイト管理者はHTTPSに変更しつつあります。
ここでは、SSLとHTTPSは何か、またその違い、SSL証明書のインストールと有効化の方法、そしてWordPressを、安全でないHTTP通信プロトコルの使用からHTTPSへの移動する方法について説明します。
SSL vs HTTPS
SSLはSecure Sockets Layerの略で、Webサーバーとブラウザの間に暗号化されたリンクを確立するためのスタンダードなセキュリティテクノロジーです。 このリンクは、ハッキングや乗っ取り防止のため、サーバーとブラウザ間の全データがプライベートだと保証します。
一方、HTTPSは、スキーム自体の違いを除けば、標準のHTTPスキームと同じ構文を持つURIスキームです。 ただし、HTTPSはトラフィックを守るため、SSLの追加の暗号化レイヤーを使用するようにブラウザに指示します。
一言で言えば、SSLは、HTTPSを通して接続がどう暗号化されるか定義するスタンダードです。
SSLの機能方法
通常、SSL証明書にはドメイン名、会社名、住所、市区町村、都道府県、国が含まれます。 また、証明書の有効期限と証明書の発行を担当する認証局に関する詳細も含まれます。
ブラウザのサイトへの接続時に、そのサイトのSSL証明書を取得し、有効期限が切れていないこと、ブラウザが信頼できる証明機関によって作られている、発行元のウェブサイトで使用されていることを確認します。 これらチェックのいずれかで不合格になった場合、ブラウザはユーザーに警告を発し、サイトがSSLで保護されていないと知らせます。
HTTP と HTTPSの違い
区別の仕方はいろいろありますが、この3点が私が考える方法です。
- URLスキーム:HTTPSのURLはhttps://で始まり、デフォルトでポート443を使用しますが、HTTPのURLはhttp://で始まり、デフォルトでポート80を使用します
- セキュリティ: HTTPは安全ではなく、ハッキングなどの攻撃を受けやすく、攻撃者はWebサイトの機密情報にアクセスする可能性がありますが、HTTPSはそのような攻撃から耐えらるよう作られています。
- ネットワークレイヤー: HTTPは、アプリケーション層のTCP / IPモデルの最上位層で動作します。
SSLセキュリティプロトコルは、同じTCP / IPモデルの下位サブレイヤーとして機能しますが、送信前にHTTPメッセージを暗号化し、到着時に追記します。 したがって、HTTPSは別のプロトコルではなく、暗号化SSL接続を通した通常HTTPの使用を指します。
HTTPSを使うのはどうして?
HTTPSは、暗号化されていないネットワーク(Wi-Fiなど)よりも非常に重要です。同じローカルネットワーク上の人が「パケット盗聴」して機密情報を見たりできるからです。
オープンネットワーク上のサイトにアクセスして、いらない広告が出る経験を、何度したことがありますか?
HTTPS経由でウェブサイトのコンテンツを安全に提供すれば、提供するものが変えられることはないと保証されます。オンラインビジネスを真剣に考えているなら、SSLは必要です。 SSLは、ユーザーデータを保護し、個人情報の盗難を回避する最善の方法だからです。
訪問者の多くは、SSL証明書を持っていないWebサイトでの取引を嫌がります。 SSLサイトシールを表示すれば、訪問者が保護されていることを認識し、安心してウェブサイトを閲覧、また買い物できるようになります。
WordPressをHTTPからHTTPSへ変更する
ブログ用のWordPressをインストールし後、SSLの設定を行いましょう。ウェブサイトをHTTPSにするには、まずドメインのSSL証明書を取得、サーバーにインストールしてウェブサイトのパーマリンクをhttpからhttpsに変更します。
多くのWordPressサイトは、コントロールパネルとしてcPanelを使用した共有ホスティングサーバー上にあるため、このチュートリアルは共有ホスティングでとします。 ウェブサイトが専用サーバーまたはVPS上にある場合でも、このチュートリアルは使えますが、プロセスはサーバーによって異なります。
このチュートリアルを進めるにあたり、共有ホスティングでSSL / TLSが有効になっていることを確認してください。 ない場合は、ホストに連絡ください。 有効にするのに料金が発生する場合もあります。
有効になっているかどうかを確認するには、cPanelにログインすると、セキュリティウィジェットの下にSSL / TLSが表示されるので、そこで確認します。
SSL証明書を取得する
SSL証明書にはいろいろな種類があります。 基本的には、ドメイン認証、企業認証、EV認証の3つのグループに分類されます
- ドメインレベルの認証は、SSLの最もベーシックなタイプで、普通もっとも安価のものです。
この証明は、基本的な暗号化を行い、非常に迅速に発行され、ドメインの所有権を確認するためのシンプルなチェックを伴います。 - 企業認証SSLは、ドメインの背後にある企業または組織の認証が含まれます。 より高いレベルのセキュリティを提供し、訪問者の個人情報を安心して任せられる信頼できるサーバーだとことを知らせてくれます
- EV認証は最優先事項です。 この認証で、認証機関は証明を発行する前に、ビジネスについて非常に詳細な調査を行います。 このタイプのSSLは、最高レベルのセキュリティと提供し、ユーザーの信頼を得ます。
what SSL certificate to choose―Namecheapのガイドです。
SSLs.com, Media Temple, GoDaddy, Comodo や NamecheapなどといったオンラインSSL認証を販売する企業は沢山あります。
SSL証明書を有効にするには
注:私はSSL証明書をNamecheapから購入しましたが、SSLを購入する会社に関係なく、手順は同じです。
SSL証明書を有効にする第一段階は、ホスティング会社からCSRコードを入手することです。 SSLでアクティブ化された共有ホスティングアカウントからCSRコードを得るには、以下の手順を行ってください。
- cPanelアカウントにログインして、SSL / TLSマネージャに移動します。
2. 証明書署名要求(CSR)の下のリンクをクリックしてください。
3. SSLを作成したいドメインのフォームに記入して、「作成」ボタンをクリックします。
4. すると、エンコードされたCSRが生成され、表示されます。
5. SSLアクティベーションには、SSLプロバイダにアクセスしてください。 表示されたCSRの上に表示されたCSRコードを入力し、ホストが稼働しているウェブサーバーを選択して[次へ]ボタンをクリックします。
6. CSR情報を入力して承認メールを選択するよう指示されます。
7.個人の連絡先を記入してください。 完了したら、送信します。 承認メールが送信されるので、 指示に従って確認作業を行ってください。
確認作業が終わると、SSLが発行されEメールで送られてきます。
発行されたSSLをサーバーにインストールしましょう。 cPanelアカウントには専用のIPアドレスを割り当ててください。ほとんどのcPanelホスティングはServer Name Indication(SNI)もサポートしています。これは、ひとつのサーバーに、同じIPアドレスとポート番号の証明書が複数存在することを許可するもので、複数の(HTTPS)ウェブサイトが存在するのを許可するものです。
WordPressでのブログで、私が使用している共有ホスティングはSNIをサポートしているので、専用IPを購入する代わりにそちらを使っています。
注:SNIではなく、専用のIPアドレスを使用することには、いくつかメリットがあります。 詳しくはこちらの記事を参照してください。
SSL証明書をインストールする手順:
- cPanel SSL / TLS管理で、証明書(CRT)の下のリンクをクリックします。
2.証明書(ファイル拡張子は.crt)をアップロードするか、テキストエリアに記入します。
3.サイトのSSLを有効にします。 サイトのSSLのインストールと管理(HTTPS)と書いてある下のリンクをクリックします。
4.ドロップダウンリストからドメインを選択し、[ドメインによる自動入力]をクリックして、最後に[証明書のインストール]ボタンをクリックします。
SSL/HTTPS用にWordPressを設定する
WordPress内のリンク(添付画像、テーマCSS、JavaScriptファイルなど)は、インストールURLと同じものです。
WordPressをHTTPからHTTPSに変更するには、インストールURLを http://designmodo.comからhttps://designmodo.comに変更する必要があります。
○WordPressダッシュボードにログインして、設定>一般に移動します。
○WordPressのアドレス(URL)とサイトアドレス(URL)がhttpsであることを確認しましょう。違う場合は、httpの後にSを足してhttpsを作成して、保存しておきます。
SSLを使ったWordPress管理を簡単に有効にするには、サイトのwp-config.phpファイルでFORCE_SSL_ADMINをtrueに設定し、すべてのログインとすべての管理セッションをSSLを介して実行させます。
1 | define(‘FORCE_SSL_ADMIN’, true); |
すべてのログインとすべての管理者セッションをSSLで強制的に行うには、FORCE_SSL_ADMINをtrueに設定します。
WordPressのサイトが画像、JavaScript、CSSスタイルシートにコンテンツデリバリネットワーク(CDN)を使用している場合は、URLがすべてhttps://であることを確認してください。
次は?
WordPressをHTTPSに変えましたが、まだ2つやることがあります。301パーマネントリダイレクトの設定と、GoogleへのURLの変更を通知です。
301パーマネントリダイレクトと設定するには、サーバーへFTP/SFTP を行って、WordPressの.htaccessファイルの一番上に以下のコードを追加します。
1
2 3 4 |
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursite.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.yoursite.com [NC] RewriteRule ^(.*)$ https://www.yoursite.com/$1 [L,R=301,NC] |
yoursite.comとある部分を全てWordPress URLに変更します。
URLの変更についてGoogleに通知するには、WordPressサイトをGoogleウェブマスターツールに再追加します(ただし今回はhttps://を使用)。通知はこのガイドに従って行ってください。Qualys SSL Labsを使ってSSLウェブサイトステータスを確認できます。
まとめ
このチュートリアルに従って進めれば、HTTPSとSSLに関するさまざまな知識を得られ、安全なサイトを作らないといけない理由、そしてWordPressでSSL / HTTPSを設定する方法が分かるでしょう。