SearchConsoleでサイトマップが「取得できませんでした」になった時の対応
状況
サーバー上でエラーが起きている状態でサイトマップを Search Console に登録したところ、「取得できませんでした」「サイトマップを読み込めませんでした」と表示され、エラーを解消した状態で再登録してもサイトマップが読み込まれない状態が数週間に渡り続きました。
サイトマップファイルは確実に存在し、エンコードは UTF-8 で、その他のサイトマップの条件も満たしています。
推察
全く同じ内容と権限で、名前のみ変更したファイルを読み込ませたところ、正常に登録されたため、同名のサイトマップファイルの状態を強くキャッシュするのではないか。
対応
サイトマップファイル名に適当なクエリ文字列を付けたところ、別ファイル扱いになりサイトマップが読み込まれました。経緯を思い出しやすいよう ?cache=false という意味の有りそうなクエリ文字列にしていますが、?hoge=fuga とか ?1 とか任意の文字列で大丈夫です。
ちなみに、このサイトのサイトマップファイルが XML ではなく テキストファイルなのは「クローリングの起点にする目的上、URL 以外の情報は重要性が低く、コンパクトにデータを送るならテキストの方がよい」という持論からくるものです。
また、「取得できませんでした」のステータスは、サイトマップが取得できなかったあらゆる原因に対して表示されるため、今回の状況に当てはまらない場合は効果がない可能性があります。