GoogleがHTTPS版を選べるようcanonicalと内部リンクとサイトマップをそろえる
公開日: 執筆:佐藤
同じdomainで同じ内容をHTTPとHTTPSの両方から配信しているなら、HTTPSを正本として一貫させてください。rel="canonical"、内部リンク、XMLサイトマップ、転送先をHTTPSへそろえます。
Googleは、ページからリンクされていないHTTPS版も探し、条件を満たせばHTTP版よりHTTPS版を通常選びます。ただし、自動選択に任せて二つのURLを運用し続ける理由にはなりません。
HTTPS版を選ぶ条件を一件ずつ確認する
GoogleのHTTPS indexingに関する発表では、同じdomainのHTTPとHTTPSで同じ内容が配信される場合、次の条件を満たすHTTPS URLを通常indexすると説明しています。
- 安全でない依存resourceを含まない
- robots.txtでcrawlを遮断しない
- HTTP pageへ、またはHTTP pageを経由してredirectしない
- HTTP版を
rel="canonical"で指定しない - robots
metaのnoindexを含まない - 同じhost内のHTTP URLへlinkしない
- XMLサイトマップへHTTPS版を載せるか、HTTP版を載せない
- serverが有効なTLS certificateを持つ
これは、HTTPSという文字列がURLに入れば自動的に正本になるという意味ではありません。HTTPS版がHTTP版をcanonicalとしていたり、内部linkがHTTPへ戻ったりすれば、site自身が異なる指示を出すことになります。
canonicalと内部リンクを同じHTTPS URLへ向ける
代表ページを一件選び、最終的なHTTPS URLを決めます。末尾slash、wwwの有無、path、queryも含め、一つのURLとして記録してください。
HTTPS pageのrel="canonical"は、そのHTTPS URL自身を示します。header、logo、breadcrumb、本文内link、paginationなど、同じhostへ向くlinkもHTTPSへ直します。
<link rel="canonical" href="https://www.example.jp/service/">
<a href="https://www.example.jp/contact/">お問い合わせ</a>
上のURLは説明用の仮例です。相対URLを使うsiteでは、最終的にbrowserが解決するURLとbase要素の有無も確認します。
templateだけを直しても、投稿本文やmenuへHTTP URLが保存されている場合があります。site内検索だけでなく、HTML出力から同じhostのhttp://を抽出し、残った場所を分類してください。
XMLサイトマップとredirectで正本を明示する
XMLサイトマップには、indexさせたいHTTPS URLだけを載せます。HTTP版とHTTPS版を両方送信すると、どちらを正本にしたいのかというsite側の意思が弱くなります。
HTTPからHTTPSへ恒久的に移すなら、HTTPの各pathを対応するHTTPSの同じpathへredirectします。すべてをhomeへ送るのではなく、利用者が求めた内容を保ちます。
Googleは、ほかの検索engineへもHTTPS版を明確にする方法として、HTTPからHTTPSへのredirectとHSTS headerを挙げています。HSTSはbrowserへHTTPS接続を強制する強い設定です。certificate、subdomain、期限、解除方法を確認せずに有効化しないでください。
redirectとHSTSをserver管理者へ委託する場合は、対象host、status、path保持、header、適用日、戻し方を受け取ります。設定作業を任せても、正本URLと移行範囲を決める責任はsite側に残ります。
TLS certificateと安全でないresourceを確認する
HTTPS page自体が表示できても、画像、CSS、JavaScriptをHTTPから読み込むと、安全でない依存resourceが残ります。HTMLだけでなく、browserのconsoleとnetworkで取得先を確認してください。
TLS certificateは、対象hostに対して有効であり、期限内で、browserが信頼できる状態にします。wwwと非www、subdomainを使い分けるsiteでは、redirect前の入口も含めてcertificateの対象を確認します。
検査は、次の順で行うと原因を切り分けやすくなります。
| 順番 | 確認するもの |
|---|---|
| 1 | HTTPS URLのHTTP statusとcertificate |
| 2 | canonicalとrobots meta |
| 3 | CSS、JavaScript、画像の取得scheme |
| 4 | 同じhostへの内部link |
| 5 | XMLサイトマップの掲載URL |
| 6 | HTTP URLからのredirect先とpath |
一つのtestでsite全体を合格にせず、共通template、主要page、投稿、form、download fileから代表URLを選びます。決済や外部serviceを含むpageは、相手側の対応も別に確認してください。
indexの選択とHTTPS移行の完了を分ける
GoogleがHTTPS版をindexしたことは、移行作業全体の完了を意味しません。利用者のbookmark、外部link、広告のリンク先、計測設定、form送信先、mail内URLがHTTPのまま残ることがあります。
まず検索engineへ伝える正本をそろえ、その後、利用者が通る入口と運用設定を順に直します。検索結果のURLだけを成果にせず、HTTPへ戻る導線、certificate error、安全でないresourceがない状態を完了条件にしてください。
最初の一手は、検索流入のある代表ページを一件選び、HTTP版とHTTPS版のstatus、canonical、内部link、サイトマップ掲載を並べることです。指示が混在していたら、正本のHTTPS URLを決めて一つずつそろえてください。
関連記事

