sitemap.xmlではなくsitemap.phpを使っているサイトの注意点
PHPで作った自作サイトでは、検索エンジン向けサイトマップを sitemap.xml ではなく sitemap.php で出すことがあります。PHPでDBやファイル一覧を読んで、XMLを動的に作るためです。
この運用自体はおかしくありません。ただし、site-map.php、sitemap.php、sitemap.xml が混ざると、「Googleにどれを送ればいいのか」「Search Consoleで何を確認すればいいのか」が分かりにくくなります。
この記事では、sitemap.php を正式なサイトマップとして使う時の確認順を整理します。
確認日と対象
確認日: 2026年5月19日。WordPressではないPHPサイトで、検索エンジン向けXMLサイトマップを sitemap.php で出している人向けです。
Copicodeでは、robots.txt で https://copicode.com/sitemap.php を案内しています。読者向けのHTMLサイトマップは site-map.php です。
先に結論
sitemap.php を使う時は、次の5点を確認します。
sitemap.phpが200で開き、XMLとして読めるrobots.txtがsitemap.phpを案内している- Search Consoleへ送るURLを
sitemap.phpに統一する - URL一覧に正規の
httpsURLだけを入れる 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 を開き、次の項目を確認します。
- HTTPステータスが200である
- HTMLページではなくXMLが出ている
<urlset>と<loc>がある- URLが
httpsの正規URLで統一されている - 404、500、リダイレクト専用ページが混ざっていない
- 新規記事のURLが入っている
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.txt が sitemap.php を案内しているなら、Search Consoleでも sitemap.php を確認します。
https://example.com/sitemap.phpを送る- 送信後に「取得できませんでした」が出たら、公開URLで直接開く
- URL検査では、サイトマップURLとcanonicalが一致しているか見る
- 新規記事が入らない場合は、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を混同していないか