前回でサイト全体の常時SSL化の準備が完了したのでいよいよ変更に踏み切りました。といっても一応いろいろと動作を確認しながらなので不具合もあるかもしれません。まあ、ほかの常時SSL化を考えている管理者さんへの参考にでもなれば、というところです。
切り替えそのものはスムーズにできる
SSL接続時のサイトの状態確認はちゃんとできていた上にRewriteRuleによる変更もテストされていたのでそのあたりは問題ないですね。ここがつまずいているようだとどうしようもないです…。サイトの管理を仕事としてやってみようとしている人はそのあたりちゃんとできないと問題ありですからね。それはまあ置いておいて。問題は切り替えた後のいろいろな設定変更がまた大変、という話です。
Google AnalyticsやSearch Consoleなどの設定変更が面倒
一応SNSの運営テストも兼ねていますのでこういう系のツールも使い方を確認していく意味もあるので導入していますが…実はこれらのサイトですが、httpとhttpsで明確に分かれているので常時SSL化が完了した時点で設定を変更しないとhttpsでの処理が正しくできていない状態となります。おそらくしばらくはhttpでもhttpsにRewriteRuleによる移動がかかるので大丈夫と言えば大丈夫なのですがSEOを考えるとhttpsで接続できることを明示する必要があるかと思います。
特にサイトマップの変更がちゃんとできているかどうかも確認しておく必要があります。サイトマップにプロトコルを書いている場合はhttpからhttpsに変更しないと常時SSL化のうまみの一つであるSEO対策の意味がありませんからね。まあクロールある程度サポートされると言ってもこのあたりはちゃんとやっておきましょう。
blogのカウンタが…
今回悩んだ点です。準備の段階の記事にも書きましたがblogパーツの中にSSL化できないものが混じっているとブラウザによってはそのパーツを読んでくれないものがあります。今回問題なったのは有料で借りていたはてなカウンターがどうやってもSSL化できない、というものです。はてなからはもう一つはてなブックマークもあったのですが、こちらはSSLに対応していない上にhttp側の記事にブックマークされていたのでhttps側に切り替えるとブックマークされている記事が一つもない状態になることに加えてZenbackがSSLに対応しているのでどうでもいいや~という感じになりあっさりと使用しないことが決定したのですが、カウンタに関してはカウントされていく楽しみやクロールやbotだとカウンタの部分にアクセスがかからないこともたまにありある程度見た人数についってカウントできている上に簡易的なアクセスログとして使えていたので便利だったのですが…。対応は無理そうだ、ということでフリーのカウンタを導入して様子見してみることにしました。今のところほしいのはカウント機能でアクセスログ機能については別のものを利用することでなんとかする予定です。…というかサーバー構築時に導入してかなり怪しいアクセスがあったとき以外は見ていなかったAWStatsがやっとまともに使われることになりそうです。ただチェックの頻度が下がることと日ごとにログをとろうとするとちょっと変わったオプションが必要になるので面倒だな…とは思います。
そのほか参照しているサイトのリンクの書き換えも必要に
今回の場合はそのほか日常系の雑記を書くblogとなったはてなダイアリー側にあるリンクをhttpからhttpsに変更したりこのサイトにあるhtmlファイルに静的にhttp側を参照しているリンクがある場合にhttpsに変更する…というかプロトコルやドメイン名指定を切ってしまう、という変更を巡回して行いました。相互リンクになっているサイトは基本的にはない(はず…ですよね)ので通知はしていませんが相互リンクになっているサイトがある場合はできれば通知した方がたまにの連絡になったりもするのでいいかと思います。
しばらくこの状態で様子見してみる
アクセスの状態やGoogleへの変更反映がどのくらいで行われているかを眺めながら反映が完了した段階でhttp側にされている検索エンジンの登録を解除することを考えています。まあ、それにはかなり長い期間が必要になるとは思いますが…。
11/22 追記
どうもblogの状態がおかしいな~と思っていたら重要な設定を一つ変更することを忘れていました。サーバー内から発行しているblogへのcron処理の実行命令ですが、元々http側に行っていたのでhttp側からの返答は「移動した」というだけになり、飛ばしていたプログラムはそれに対して移動処理を無視していたためSSL化してから一回もblogにcronが飛んでいない、という状態が…。アドレス修正やらオプション修正(内部から直接飛ばしているのでSSL証明書のホスト名が合わない)などをしました。みなさんも気をつけましょう…。