こんにちは。エンジニアの齋藤です。
先日、弊社サイトも常時SSLに対応しましたので、備忘録的にまとめてみたいと思います。
とはいえ、検索すれば大概の事は出てきますので気になる部分だけですが…
nginx
|
proxy_set_header X-Forwarded-Proto $scheme; |
・バックエンドサーバでのスキーム判定に使用
・AWS ELBのスキーム判定と合わせたいので
参考:HTTP ヘッダーおよび Classic Load Balancer – Elastic Load Balancing
|
add_header Access-Control-Allow-Headers 'X-Requested-With'; add_header Access-Control-Allow-Origin *; |
・CORS対応
|
add_header Strict-Transport-Security 'max-age=600'; |
・HSTS。ロールバックを考えて初めは小さめの値で設定
・includeSubDomainsは全サブドメインでhttpsに対応してから
WordPress
・WordPress HTTPSプラグインを使用
URL Filters に / を設定。同ドメインのリンクや画像のパスを全てhttpsに書き換えてくれる
Domain MapingにAmazon S3などを設定
・wp-config.phpにX-Forwarded-Protoの判定を追加
・その他気になるものは Database Search and Replace Script in PHPを使って置換
mixed contentの調査
・PhantomJSとmixed content調査用のjsを使うと楽
負荷
・調査はGatlingを使用。Scala DSLでシナリオが書けるので楽。結果がグラフィカルなので非エンジニアの人にも分かりやすい
・リダイレクトの負荷は微小ながらある。アクセス数次第では無視できないくらいの負荷になる可能性も。HSTSまで設定すればかなり軽減する
移行手順
・ディレクトリで切って少しづつ。SEO的には特に影響はないとの事
・リダイレクトはページランク下がらない
参考:概要: URL の変更を伴うサイト移転 – Search Console ヘルプ
サーチコンソール
・httpとは別で登録
・インデックスステータスに反映されるまでしばらくかかる。1週間~1ヶ月~それ以上
・インデックスステータスに反映されなくても、Googleの検索結果や、検索アナリティクスへは1週間ほどで反映される
Google Analytics
・プロパティ設定、ビュー設定 → コンソール上で補完されるスキームなのでSEOに影響はしない
・Search Consoleの調整 → httpsで登録したサイトと紐づける
・ページ速度はほぼ変化なし。ただしリダイレクト時間は微小ながら増加
プリロードHSTS
・ペイレベルドメインにしか対応してないので、全サブドメインをhttpsに対応してから登録
ソーシャルボタン
・いいね数はリセットされる。Facebookからのリクエストのみhttpにすれば引き継げない事もないが、設定が煩雑になるのであまり推奨はできない
フィーチャーフォン
・ワイルドカード、マルチドメイン、SNI、SHA256のSSL証明書に対応していない
・フィーチャーフォン用のGooglebotが廃止になった
参考:Google ウェブマスター向け公式ブログ: フィーチャーフォン用のクロールとインデックスが変わります
・総合的にhttpsへの移行はあまり現実的ではないので、httpでの運用とした
以上、ご参考になれば幸いです。