• TSUKURU HACK LABORATORY | studio:ex-presso

WordPressのSSL化について(2)

昨日行なったWordpressのSSL化ですが、無事に記事とそのソース自体を「HTTPS://」のパス経由で読み出しさせることが出来ました。ただしまだ問題は山積しています。

古いアドレスへのアクセスをどう捌くか

新たにファイルパスが「https://」に変更になり、サイトの信頼性はひとまず担保できたわけですが、既にシェアされた記事やfacebookなどに投稿した記事は旧アドレスのままです。このままではせっかくサイトの信頼性を上げてももとのアドレスを要求されてしまうことになります。そのため「http://」へのリクエストを自動的に「https://」へ遷移させてやる必要があります。

ここでサーバの設定ファイル「.htaccess」を利用します。このファイルの編集は非常に危険度が高く、不用意に触るとサーバへのアクセスが不可能になる可能性が高いので気をつけておこなってください。

WordPress運用をしている場合既にhtaccessファイルはサーバ上に存在していると思われるので、ftp経由などでファイルを取得し内容を書き加えます。加筆の必要な文面は以下の通り。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !(Facebot|facebookexternalhit/1.1) [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

要するに、「http」のリクエストが来た場合、「https」へ流してね、という意味になります。3行目の部分だけはちょっと特殊で、facebook経由でのリクエストは除く、という意味になります。ここは後述。ひとまずこれですべてのリクエストは「https」へと流せます。

Google Analyticsの設定を切り替える

ここまでできたら計測を行っているGoogle Analyticsの設定も切り替えておきましょう。これも旧アドレスに対しての計測を行っているので、管理画面より参照先を「https://」経由のものに変更しておきます。Analytics管理画面の左下「管理」をクリックし、「プロパティ設定」から切り替えができます。

続いて「ビュー設定」からウェブサイトのURLも「https://」に変更しておきましょう。

サーチコンソールは新たに登録が必要です。「http://」アカウントで登録されていたものとは別に新たに「プロパティを追加」して「https://」配下のアドレスを追加しておけばOKです。

facebookのいいね数を復活させる

さてこれまで積み上げてきたfacebookの「いいね」数が0にリセットされてしまいました。これは、これまでクリックで稼いだ「いいね」数はすべて旧アドレス「http://XXX」に紐付けられた数であり、あ新たにアドレスが「https://」となったため、facebook側からは新しいアドレスとして認識されてしまったことが原因です。

ここで先程の「facebook経由でのリクエストは除く」という部分が効いてきます。facebook経由ではこれまで通り「http://xxx」のファイルであると認識させるわけですね。ここで混同しがちなんですが、実際にリクエストされたファイル先は「https」のものになりますが、facebookでそのファイルが適切なものかどうかを判断するキー(OGPタグ)が「http」を参照するように設定してやる必要があります。今回は2つのプラグインを使ってこれを実現します。

Yoast SEOでOGP周りの編集を行う

All In One SEOと並んで最近非常に人気の高いSEO統括プラグインのYoast SEOを使って各ページのOGP情報を正確なものに変更しておきます。設定は初期設定を決めるウィザードが入っているのでそのまま進めていけばOK。

設定が終わったらWordpressの最重要ファイル「function.php」に以下のテキストを追記します。

add_filter( ‘wpseo_opengraph_url’, ‘replaces_opengraph_url_to_http’ );
function replaces_opengraph_url_to_http( $url ) {
return str_replace( ‘https://’, ‘http://’, $url );
}
これは先ほど説明した、「https://」化されたページがfacebookから見た場合は「http://」のまま設定されている状態を作る内容です。文字列の置換を行っていますね。実際に出来上がったページのOGPタグを参照すると、ちゃんと「http://」に変更されていることが解ります。ここまででまず第一段階が終了です。

SNS Count Cacheで旧アドレスのいいね数を引き継ぐ

次にSNS Count Cacheというプラグインを使い旧アドレスが取得していたいいね数を合算して持ってきます。無事にインストールが済むと管理画面内に「HTTPからHTTPSへのスキーム移行モード」という部分がありますので、ここを「無効」から「有効」に変更しキャッシュを消去します。

これで新たに各ページアドレスを取得し直しカウントを計算し直すモードに入ります。ページ全体のクロールが終わるまで暫く掛かるので気長に待ちましょう。当サイトでは昨晩作業を開始し夜中には終わりませんでしたので改めて一日立ってから作業を行っています。

さて、一晩立って改めてSNS Count Cacheのシェア数を確認してみます。はい、全て0のまま、一切カウントが復活していません。さてどうしたものか。

ここで必要になるのがfacebookの用意しているfacebookデバッガーと呼ばれるツール。各ページは初期設定で待機している状態になっているのです。ちょっと面倒ですが、1記事ごとに上記デバッガーのページでURLを打ち込み、facebook側に改めてOGPのデータを認識させてやります。以前更新されたときのままになっていたページ情報が改めてリセット・上書きされ、いいね数が戻ってきました。

WordPress SSL化のまとめ

今回改めてSSL化を行い、手順として非常に回りくどく面倒だということが骨身にしみました。改めてサイト運用を開始する場合は確実にSSL環境下で開始することをおすすめします。先人の方々の各種情報が溢れてはいますが、facebookの仕様もしょっちゅう変更になりますし、今回導入したプラグインの仕様もアップデートされるたびに、参考にする記事からの乖離が発生します。ここを押して、と書いてあってもそのメニューが存在しないなんてのはしょっちゅうです。

今後は確実にSSL化されていないサイトの信頼性がGoogleで評価されない状況になります。まず設定がされている段階からスタートすることで、無駄な作業を一切省くことができます。

今回の作業はこちらのサイトを参考にさせていただきました。

広告制作ディレクター & サウンドデザイナー。広告制作の傍ら、Ko ASHIDA・rudimentary echo・sizk名義などで楽曲制作・インタラクティブメディア制作を行っています。とにかくなんでも「つくる」のが大好き。音楽・料理・DIYなど思いついたものをどんどん作ってます。



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です