🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

sitemap.xmlではなくsitemap.phpを使っているサイトの注意点

PHPで作った自作サイトでは、検索エンジン向けサイトマップを sitemap.xml ではなく sitemap.php で出すことがあります。PHPでDBやファイル一覧を読んで、XMLを動的に作るためです。

この運用自体はおかしくありません。ただし、site-map.phpsitemap.phpsitemap.xml が混ざると、「Googleにどれを送ればいいのか」「Search Consoleで何を確認すればいいのか」が分かりにくくなります。

この記事では、sitemap.php を正式なサイトマップとして使う時の確認順を整理します。

確認日と対象

確認日: 2026年5月19日。WordPressではないPHPサイトで、検索エンジン向けXMLサイトマップを sitemap.php で出している人向けです。

Copicodeでは、robots.txthttps://copicode.com/sitemap.php を案内しています。読者向けのHTMLサイトマップは site-map.php です。

先に結論

sitemap.php を使う時は、次の5点を確認します。

  1. sitemap.php が200で開き、XMLとして読める
  2. robots.txtsitemap.php を案内している
  3. Search Consoleへ送るURLを sitemap.php に統一する
  4. URL一覧に正規の https URLだけを入れる
  5. site-map.php は読者向け、sitemap.php は検索エンジン向けとして分ける

3つのファイル名を分ける

名前役割確認すること
site-map.php読者向けのHTMLサイトマップ症状別、カテゴリ別に人が探しやすいか
sitemap.php検索エンジン向けのXMLサイトマップXML、200、正規URL、lastmod
sitemap.xmlよくある静的サイトマップ名使っていないなら案内先を混ぜない

Search Consoleに送るのは、読者向けの site-map.php ではなく、検索エンジン向けの sitemap.php です。

robots.txtで案内先を統一する

sitemap.php を正式なサイトマップとして使うなら、robots.txt にもそのURLを書きます。

User-agent: *
Disallow:

Sitemap: https://example.com/sitemap.php

sitemap.xml を使っていないのに、古い robots.txt やSearch Console設定だけが sitemap.xml を見ていると、確認がずれます。案内先は1つに揃えます。

sitemap.phpで確認すること

ブラウザで https://example.com/sitemap.php を開き、次の項目を確認します。

sitemap.xmlが404でも先に見ること

外部ツールや古い記事で sitemap.xml を見に行くことがあります。ただ、サイト側が正式に sitemap.php を使っているなら、まず確認するのは sitemap.php です。

状態判断次に見ること
sitemap.php が200正式な送信先として使えるrobots.txtとSearch Consoleの送信先
sitemap.xml が404使っていないなら致命的とは限らない古い案内や外部ツールが見ていないか
sitemap.php が500修正が必要PHPエラー、DB接続、固定URL、除外条件
site-map.php だけ見ている検索エンジン向け確認としては不足sitemap.php を直接確認

Search Consoleへ送る時の注意

Search Consoleでサイトマップを送る時は、サイト側で正式に案内しているURLを送ります。robots.txtsitemap.php を案内しているなら、Search Consoleでも sitemap.php を確認します。

AIに相談する時のメモ

サイトマップの相談では、URLと役割を分けて書くと誤解が減ります。ログイン情報やSearch Consoleの管理者情報は貼らないでください。

sitemap.xmlではなくsitemap.phpを使っているサイトについて相談します。

読者向けHTMLサイトマップ:
例: /site-map.php

検索エンジン向けXMLサイトマップ:
例: /sitemap.php

robots.txtのSitemap指定:
例: https://example.com/sitemap.php

確認したこと:
- sitemap.phpは200で開くか:
- sitemap.phpはXMLとして表示されるか:
- sitemap.xmlは使っているか:
- Search Consoleへ送っているURL:
- 新規記事URLはsitemap.phpに入っているか:
- canonicalとサイトマップURLは一致しているか:

確認してほしいこと:
1. sitemap.phpを正式なサイトマップとして使えているか
2. sitemap.xmlがない場合に問題になりそうな設定
3. robots.txtとSearch Consoleの送信先が揃っているか
4. 新規記事が入らない時の確認順
5. site-map.phpとsitemap.phpを混同していないか

次に読む記事