サーバーメンテナス時に503を返す

打ち手

自身のサイトがメンテナンス時に、どのようなページを表示しているか、把握してますでしょうか。

特に複数サイトを担当している方や、ドメイン内に複数システムが組み込まれているサイト、いつも深夜にメンテナンスしている場合などに、メンテナンス時に表示されるページの状態を把握できていないことがあると思います。

Google検索セントラルブログでは、メンテナンス時には503のhttp headerステータスを返すように推奨しています。

HTTP ステータス コードとして 503 (Service Unavailable) を返すように設定した方が、検索エンジンのクローラに対してダウン タイムが一時的であることを伝えることができます。

https://developers.google.com/search/blog/2011/01/how-to-deal-with-planned-site-downtime?hl=ja

またRetry-After ヘッダーを使い復旧時間、または何分後に復旧するのかをGooglebotに伝えることもできます。Retry-After ヘッダーに記載した情報に、Googlebotが必ず従うわけではありません。

しかし再クロールするタイミングを決める際に、Retry-After ヘッダーの情報を参考にすることもあります。

そのため、数分程度のメンテナンスではRetry-After ヘッダーを記述しなくても良いかもしれませんが、数時間以上にわたるメンテナスが発生する場合で、かつ、メンテナス終了時間が判明している場合は、Retry-After ヘッダーを記載することも検討しましょう。

Google検索セントラルブログではカスタム503ページを作成し、メンテナンス中であることや、メンテナンス時間などを表示することも推奨しています。

503以外のメンテナンスページを表示した場合

もしメンテナンス中に503を記載しなかった場合の、順位への影響です。
概ね503以外のhttp headerステータスに関しては、Googleのアルゴリズムにメンテナンスの判断を任せる形になります。

http headerステータス順位への影響
200通常のページとしてGooglebotにクロールされ、インデックスされてしまう可能性があります。もしインデックスされてしまうと、メンテンスページ自体が評価されてしまい、順位に悪影響が出る可能性があります。

必ずしもメンテナンスページがインデックスされるわけではなく、また、順位に悪影響が出るとも限りませんが、メンテナンス中かどうかの判断をGoogleアルゴリズムに任せることになるため、非推奨です。
301301リダイレクトは恒久的なリダイレクトとして取り扱いされます。そのため、メンテナンスページへリダイレクトしてしまうと、恒久的にリダイレクトされていると認識される可能性があります。
ただし複数のページが同じメンテナンスページへリダイレクトしている場合など、通常のリダイレクトでは無いと判断される場合は、直ぐにメンテナンスページへのリダイレクトを認識しない可能性もあります。

しかし、Googleにメンテナンスの判断を任せることになり、順位への影響が読めないため非推奨です。
302302は一時的なリダイレクトのため、メンテンス時にメンテンスページへのリダイレクト時に利用されることがあります。しかし302は本来、ページの移転を示すためのhttp headerステータスです。現に302の状態が長く続いた場合に、Googleは301として処理します。また302の場合も、リダイレクト先にPageRankを渡します。

そのためメンテナンス時に、本来の目的と違う302を利用してしまうと、メンテナンス中であることをGoogleに伝えることが出来ずに、何かしらの意図しない状況になる可能性があります。

そのため、302でメンテナンスページへリダイレクトすることも非推奨です。
404Googlebotが404ページへ一度アクセスしただけでは、インデックスは削除されません。Googlebotが何度か404ページへアクセスすることで、ページが削除されたと認識されてインデックスが消されてしまいます。そのため、ごく短い時間404ページを表示しても、通常はインデックスが消えることはありません。

しかしインデックスを消すタイミングや、404であることの順位への影響は、結局はGoogleのアルゴリズム判断に任せることになります。そのため、404ページを表示させることも非推奨です。
410410ページは永久的な削除を意味します。そのため、インデックス削除は404よりも早く処理されます。実際に410にすると、Googlebotがアクセスしてから翌日にはインデックスが消えることが多いです。そのため、ごく短いメンテナンス時間であっても、410の表示は強く非推奨です。
番外編noindexGooglebotがnoindexを認識すると、Googleのインデックスからページを除外してしまいます。
そのためhttp headerステータス200を返しながらnoindexをすることは、強く非推奨です。

特にメンテナンス時に気をつけなければいけないのは、HTTP レスポンス ヘッダー内で、X-Robots-Tagにてnoindex、または noneが記載されている場合です。HTTP レスポンス ヘッダーはソースコードに表示さないため、ブラウザのデベロッパーツールを使わなければ確認できません。そのため、意図しないHTTP レスポンス ヘッダーが記載されている場合も、それに気づくのに遅れてしまうかもしれません。

もしメンテナンス中に200を返すことしか出来ないシステムの場合は、metaタグ以外にも、HTTP レスポンス ヘッダーにnoindexやnoneが記載されていないかも確認しましょう。
タイトルとURLをコピーしました