• GoogleがHTTPS版を選べるようcanonicalと内部リンクとサイトマップをそろえる

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を決めて一つずつそろえてください。

戻る