今回やった作業
公開中サイトで、新しいカテゴリ用の子sitemapが存在しているのに、親sitemapから参照されていない状態を確認しました。robots.txtが指している親sitemapを確認し、親sitemapがsitemapindex形式であることを確認したうえで、子sitemapを追加する判断をしました。
sitemap.xmlではなくsitemap.phpのような形式でも、XMLとして正しく返っていれば使える場合があります。重要なのは拡張子ではなく、HTTP 200で返ること、XML構造が正しいこと、親子関係が壊れていないことです。
作業前の状態
カテゴリ用のsitemapは存在していました。しかし親sitemapから参照されておらず、robots.txtが指している入口との関係が分かりにくい状態でした。Search Consoleに送るべき入口と、実際の子sitemapの関係も整理が必要でした。
作業前に問題だったこと
子sitemapが存在していても、親sitemapから参照されていなければ、Search Consoleやクローラに伝わりにくくなります。また、親sitemapがsitemapindexなのかurlsetなのかを確認せずにURLを直接追加すると、sitemap構造を壊す可能性があります。
noindex URLやquery付きURLをsitemapに入れると、送信したいURLと実際に評価してほしいURLの整理が曖昧になります。
Codexに任せたこと
Codexには、robots.txtが指すsitemap、親sitemapのHTTP状態、親sitemapのroot要素、子sitemapのHTTP状態、子sitemapのroot要素を確認させます。
さらに、既存sitemap参照を消していないか、noindex URLやquery付きURLを追加していないか、sitemap.xmlとsitemap.phpがXMLとして正しく返るかも確認対象にします。
人間が判断したこと
人間が判断したのは、親sitemapに通常URLを直接混ぜるのではなく、子sitemapとして追加することです。親がsitemapindexであれば、子sitemapを入口として追加するほうが構造として自然です。
Search Consoleでは、基本的に親sitemapを送信または再送信する前提にしました。子sitemapを直接送るかどうかはサイト構成によりますが、まず親sitemapの入口を整えることを優先します。
実際に使った指示文の考え方
指示文では、sitemapを編集する前に、robots.txtのSitemap行、親sitemap、子sitemap、root要素、noindex URL、query付きURLを確認するようにします。修正は、構造が分かってから最小範囲で行います。
うまくいった点
うまくいった点は、作業対象を小さく分け、確認項目を先に固定できたことです。Codexに任せる範囲と人間が判断する範囲を分けると、作業後の確認が具体的になります。
詰まった点・危なかった点
危なかった点は、見つかった問題をすぐ一括修正しようとすることです。sitemap、内部リンク、Search Console判断はいずれもサイト全体に関係するため、原因と影響範囲を整理してから最小変更で進めます。
作業後に確認したこと
作業後は、親sitemapと子sitemapの両方が200 OKであること、親sitemapのrootがsitemapindexであること、子sitemapのrootがurlsetであること、既存sitemap参照を消していないことを確認します。
noindex URLやquery付きURLを追加していないことも確認し、Search Consoleでは親sitemapを再送信する前提で整理します。
次から使える指示文テンプレート
以下の公開中サイトで、robots.txt が指しているsitemapと、実際に存在する子sitemapの関係を確認してください。
確認することは、robots.txt の Sitemap 行、親sitemapのHTTP状態、親sitemapのroot要素、子sitemapのHTTP状態、子sitemapのroot要素、既存sitemap参照を消していないか、noindex URLやquery付きURLが入っていないか、です。
親sitemapが sitemapindex の場合は、通常URLを直接混ぜず、子sitemapとして追加する方針で提案してください。
修正後は、親sitemapと子sitemapの両方が 200 OK で、XML構造が壊れていないことを確認してください。確認チェックリスト
- robots.txt が指すsitemapを確認した
- 親sitemapが 200 OK
- 親sitemapのrootが sitemapindex
- 子sitemapが 200 OK
- 子sitemapのrootが urlset
- noindex URLを入れていない
- query付きURLを入れていない
- 既存sitemap参照を消していない
- Search Consoleで親sitemapを再送信する前提にした
注意書き
この記事は、実際の作業を一般化してまとめた実践ログ型ガイドです。具体的な案件名、内部情報、サーバーパス、秘密情報は掲載していません。作業対象サイトの条件や利用しているサービスの仕様は変わるため、実際に作業する前には現在の環境と公式情報を確認してください。