サイトを一時停止するときの3つのTIPSをGoogleが解説――ショッピングカート無効化、503HTTPステータスコード、インタースティシャル/ポップアップ表示

[レベル: 中級]

ウェブサイトの提供を一時的に停止するときに役立つ TIPS を Google の John Mueller (ジョン・ミューラー) 氏が英語版のウェブマスター向け公式ブログで解説しました。

とても役立つ記事です。
日本語版の公式ブログでもいずれ翻訳版が公開されると思いますが、それよりも先に僕のブログで紹介します。

ミューラー氏が今回説明したのは次の3つの項目です。

  • ショッピングカート機能の停止
  • インタースティシャルまたはポップアップを常に表示
  • サイト全体の停止

なお伝えている内容は変えていませんが、逐一の訳にはなっていません。

ショッピングカート機能の停止

ユーザーが商品を購入できないようにするための、いちばん簡単な方法は特定の機能を無効にすること。

たいていの場合は、ショッピングカートのページを、robots.txt でブロックしてクロールできないようにするか robots meta タグでインデックスできないようにすることができる。

検索エンジンはコンテンツを見たりインデックスしたりすることができないので、適切な方法でユーザーとやり取りできる。
たとえば、次のようなことができる。

  • カートへのリンクを無効にする
  • 説明するメッセージを追加する
  • カートの代わりに状態を説明するページを表示する

インタースティシャルまたはポップアップを常に表示

サイト全体にユーザーがアクセスできないようにする必要があるなら、503の HTTP ステータスコード (Service Unavailable) を返すようにする。
その際、「一時的にサーバーが利用できません」というメッセージや情報を与えるページ、ポップアップを提供する。

503 は、ユーザーに見せている一時的なコンテンツを Google が確実にインデックスしないようにできる。
503 を返さないと、インタースティシャルがコンテンツとしてインデックスされてしまうだろう。

恒久的なエラーであると処理して検索結果から削除するまでに、最大で約1週間、503 を返すページを Googlebot は再取得しに来る。
どのくらいの期間、サービスを停止しているのかを示すために Retry-After ヘッダーを含めることもできる。

サイトへのアクセスを1週間以上続けていると、こうした手段を講じていたとしても検索結果に悪い影響が出ることがありうる。

サイト全体の停止

サーバーを完全に停止することも選択肢の1つ。
別のサーバーに物理的に移動するときにもこの方法を使える。

一時的に使う代替サーバーを準備して、全ページに対して 503 HTTP ステータスコードを返すようにする(ユーザーに対して適切な情報を提供するページとともに)。
そして、次の手順で停止期間中は DNS がそのサーバーに向くように切り替える。

  1. 数日前から DNS の TTL を短くする(たとえば、5分)
  2. 一時的なサーバーのIPアドレスに DNS を変更する
  3. すべてのリクエストが一時的なサーバーに行くようになったら、メインサーバーをオフラインにする
  4. サーバーがオフラインになる
  5. 準備が整ったら、メインサーバーを再びオンラインにする
  6. DNS を、メインサーバーの IP アドレスに戻す
  7. DNS の TTL を元に戻す

以上です。

サーバーを一時的に停止する際には、次の過去記事も参考にしてください。