何回かやる必要が出てきそうなので、どういう形でやったのかをアバウトに記録しておく。本当は何もせずできればいいのだけど、世の仕様はそんなにうまくできてはいない。
事前に徹底的に書き換えておくのが良い。内部リンクにはドメインも不要なので/
で始まる絶対パスで全部書くように統一するのが楽だろう。
ただしrel=canonical
は色々なウェブサービスから(時々考えなしにプロトコル・スキームから始まっていると仮定されて)使われるため、http:
から始める方が安全かもしれない。そもそもFacebook向けのOGPでog:url
を書いている場合もあり、この類もプロトコル・スキームから始める必要があり、どうせ書き換える必要は出てくる。諦めて機械的に書き換えができる仕組みを作っておくのも良い。
このウェブサイトの場合は、OGP他を消した上で全て絶対パスにしておくという手法を取ったが、おすすめしない。
通常、Amazonアソシエイトを使って画像を得ようとするとHTTPの画像になる。一応リダイレクトで振り分けられるのだが、元々のURLはHTTPなためどうしてもMixed Contentにはなる。リダイレクトされてm.media-amazon.com
配下を参照する画像に書き換えるか、リダイレクト元の方をHTTPSに書き換えておくとうまくいく。
HTTPからHTTPSの画像を参照する分には問題は少ないので、これも事前に作業しておくことができる。
RSSフィードでは絶対URLでリンクは書く。そのためすべてのリンクを書き換える必要がある。あまり忘れない上、概ねブログ・ツール等から自動的に更新されることになるので、大丈夫だろう。RSSリーダーからは全部新着になったり、IFTTTのようなウェブサービスが暴発することがあることには気を付けた方が良い。
僕のように魂を込めてRSS(一部だが)をテキスト・エディターで書いている人は忘れないようにする。
RSSフィードは忘れないだろうが、サイトマップは忘れる可能性が高い。それなりに自動生成していない人もいると思うので、再構築した方が良い。
301でのURLの移動とサイトマップのURLが食い違ってると何らかの悪影響がある可能性を否定できないので、特に気を付ける必要がある。
HTTPで始まるURLを登録しているウェブサービスを利用している場合は忘れずに書き換える。FacebookページやTwitterアカウントなどは忘れがちだろう。
IFTTTやDlvr.itのようなRSSフィードをトリガーとしているものは注意を要する。これらは新着記事かそうでないかをURLで判断し、多くの場合HTTPのURLとHTTPSのURLを区別する。そのため今までの設定を書き換えて使おうとすると、全部新着とみなされ暴発する(僕はまんまと暴発させた)。面倒だが新しく作り直す必要があるだろう。
Googleの検索結果での表示などを制御するSearch ConsoleではHTTPとHTTPSが別のプロファイルになる。そのため改めて追加する必要がある。それだけでなくすべて設定のやり直しなので、ウェブサイトの認証やサイトマップの送信も行う。
特に何かこうというわけではないが、ウェブサイトについてGoogleへの連絡する際の要になるので、作っておいた方が無難だろう。
AnalyticsはHTTPとHTTPSの両対応であるが、設定内に優先するプロトコルの設定が複数ある。プロパティのプロパティ設定にあるデフォルトのURLとビューのビュー設定にあるウェブサイトのURLの2つだ。どちらも書き換えておく必要が出てくるだろう。
思い切ってAnalysticsを捨てるという選択もなくはない。どちらにせよ設定は書き換えておいても損はないだろう。
HTML生成に使うツールなどでプロトコル・スキームを切り替えられるようにしておくと書き換える場所が少なくて済むので、作業がスムーズに進む。といってもそういうことができることはあまりないので、どこを書き換えればうまく切り替わるかを事前に色々実験しておくと良い。
もう誰が使っているか知らないがBlosxomでは$blog_url
という設定変数で集中管理されるので、それをうまく利用する。
$scheme = "https:";
$domain = "hail2u.net";
$blog_url = "$scheme//$domain/blog";
このようにblosxom.conf
で設定を分離させ、切り替えられるようにしたうえで、プラグインやフレーバーから必ず$blog_url
を使うようにしておいた。たまにどうしようもないプラグインもあったりするので、その場合に$blosxom::scheme
で拾えるようにするためこうなっている。
grepして置換など必要のない形に事前に整えるのが最低限のラインで、HTTPで公開済みのHTMLがそのままHTTPSで機能するようになっているのが理想だ。HTTPSへの移行を発動させる直前の作業は、HTTPな参照が残っていないかgrepして確認するくらいで終えたい。