sitemap.phpに新規記事が出ていない時の確認方法
新規記事を作ったのに、XMLサイトマップの sitemap.php にURLが出ていないと、Googleへ新しいURLを伝えにくくなります。記事ページが表示されていても、サイトマップへ入る条件を満たしていない場合があります。
このページでは、PHPサイトで sitemap.php を動的に作っている場合に、固定URL、DB登録、ローカルファイル補完、カテゴリコメント、$page_title、除外ファイル、キャッシュをどの順番で見るかを整理します。
確認日と対象
確認日: 2026年5月19日。WordPressではないPHPサイトで、検索エンジン向けXMLサイトマップを sitemap.php で出している人向けです。
この記事は、読者向けの site-map.php と、GoogleへURLを伝える sitemap.php を混同しないための確認記事です。Copicodeでは crawler 向けの送信先として https://copicode.com/sitemap.php を使います。
先に結論
sitemap.php に新規記事が出ない時は、次の順番で確認します。
- 新規記事の本番URLが200で開くか見る
sitemap.phpの中にURL文字列があるか検索する- HTMLサイトマップ
site-map.phpと混同していないか確認する - DB登録型なら
register_pages.phpや登録処理を確認する - 固定URLリストに手動追加が必要なページか見る
- ローカルファイル補完の条件を満たしているか見る
- キャッシュやデプロイ漏れを確認する
site-map.phpとsitemap.phpを分けて考える
名前が似ていますが、役割は違います。片方に載っていても、もう片方に載るとは限りません。
| ファイル | 役割 | 見る人 |
|---|---|---|
site-map.php | 読者向けのHTMLリンク一覧 | 人間、サイト内回遊 |
sitemap.php | 検索エンジン向けのXMLサイトマップ | Googleなどのクローラー |
新規記事を公開したら、できれば両方を確認します。読者向け導線は site-map.php、検索エンジン向けURL一覧は sitemap.php です。
先にSearch Consoleへ送らない
公開URLが404や500のまま、またはcanonicalが別URLを指したままサイトマップを送ると、Search Console側では別の問題として見えることがあります。まず本番URL、HTML内のcanonical、noindex、sitemap.php 内のURLを揃えてから確認します。
1. 新規記事が200で開くか確認する
サイトマップに入れる前に、対象ページ自体が表示できるか確認します。404や500のURLをサイトマップに入れても、Search Consoleで別の問題として出る可能性があります。
- 本番URLを直接開ける
https://の正規URLで開ける- 404、500、真っ白画面になっていない
- リダイレクト先が意図したURLになっている
- ページ内に
noindexが入っていない
2. sitemap.phpの中にURLがあるか検索する
ブラウザで https://example.com/sitemap.php を開き、ページ内検索で新規記事のファイル名を探します。ローカルでも同じように確認できます。
確認するURL:
https://example.com/sitemap.php
ページ内検索:
sitemap-php-new-article-missing-guide.php
XMLが長い場合は、ブラウザのページ内検索やコマンドでURL文字列を探します。
3. 固定URLリストに追加が必要か見る
サイトによっては、重要なルート直下ページを $fixed_urls のような配列に手動で入れている場合があります。ハブ記事や重要記事を優先して出したい時は、この固定リストに入れる運用になっていないか確認します。
$fixed_urls = [
"https://example.com/index.php",
"https://example.com/search-console-new-article-hub.php",
"https://example.com/sitemap-php-new-article-missing-guide.php",
];
固定URLへ追加した場合は、重複出力を避ける仕組みも一緒に確認します。同じURLが2回出ると、後から確認しにくくなります。
4. DB登録される仕組みを確認する
記事一覧をDBから出しているサイトでは、記事ファイルを作っただけではDBに登録されていないことがあります。Copicodeのようにデプロイ時に登録スクリプトを走らせる運用なら、その処理が通ったか確認します。
| 確認 | 見ること |
|---|---|
| 登録スクリプト | register_pages.php などが実行されたか |
| DB接続 | 本番でDB接続エラーになっていないか |
| path | 先頭スラッシュやファイル名が正しいか |
| created_at | 日付が空や不正値になっていないか |
5. ローカルファイル補完の条件を見る
DBに未登録でも、ファイルからサイトマップへ補完する仕組みがある場合があります。その場合は、補完対象になる条件を満たしているか確認します。
補完対象から外れやすい例
- ファイル先頭にカテゴリコメントがない
$page_titleが設定されていない- 除外ファイル名に入っている
- リダイレクト専用ファイルとして判定されている
- 補完対象ディレクトリの外に置いている
- 拡張子が
.phpや.htmlではない
Copicodeのルート直下記事なら、次のようなカテゴリコメントと $page_title があると補完対象に入りやすくなります。
<!-- カテゴリ: サイト公開・修正 | タグ: sitemap.php, 新規記事公開 -->
<?php
$page_title = "記事タイトル | Copicode";
$page_desc = "記事の説明文";
$page_lang = "ja";
?>
6. キャッシュとデプロイ漏れを見る
ローカルでは出ているのに本番の sitemap.php に出ない場合は、デプロイ漏れやキャッシュの可能性があります。クエリ付きURLで確認すると、キャッシュ切り分けに使えることがあります。
通常:
https://example.com/sitemap.php
キャッシュ切り分け:
https://example.com/sitemap.php?check=20260515
- 本番へ新規記事ファイルをアップロードしたか
sitemap.php自体を更新した場合、本番へ送ったか- 登録スクリプトが本番で実行されたか
- 通常URLとクエリ付きURLで表示が違わないか
直した後に戻るページ
sitemap.php へURLが出るようになったら、そこで終わりではありません。読者向け導線とSearch Consoleの状態も確認します。
AIへ相談する時のメモ
サイトマップ漏れをAIや人に相談する時は、ファイル名、公開URL、XMLサイトマップ内の有無、DB登録の有無をまとめると切り分けやすくなります。
sitemap.phpに新規記事が出ていない件で相談します。
新規記事ファイル:
公開URL:
公開URLは200で開くか:
はい / いいえ / 未確認
site-map.phpには載っているか:
はい / いいえ / 未確認
sitemap.phpには載っているか:
はい / いいえ / 未確認
カテゴリコメント:
あり / なし / 未確認
$page_title:
あり / なし / 未確認
DB登録:
あり / なし / 未確認
固定URLリストへの追加:
必要そう / 不要そう / 不明
確認してほしいこと:
1. sitemap.phpに出る条件
2. DB登録とローカル補完のどちらで拾うべきか
3. 除外条件に当たっていないか
4. 本番反映やキャッシュの確認方法
5. Search Consoleへ送る前に見ること
確認チェックリスト
- 新規記事の本番URLが200で開く
sitemap.phpにURLがあるか検索したsite-map.phpとsitemap.phpを混同していない- 固定URLリストに追加が必要か確認した
- DB登録や登録スクリプトを確認した
- カテゴリコメントと
$page_titleがある - 除外ファイルやリダイレクトファイルに当たっていない
- 本番デプロイとキャッシュを確認した
公式情報で確認するところ
サイトマップにURLが出ない時は、Copicode側の登録条件だけでなく、Googleへ送るXMLサイトマップやURL検査の前提も確認します。判断に迷う場合は、次の公式情報も合わせて見てください。
| 確認したいこと | 公式情報 | この記事での使い方 |
|---|---|---|
| サイトマップの作成と送信 | Google Search Central サイトマップの作成と送信 | sitemap.php に正しい正規URLを入れる前提を確認する時に使います。 |
| URL検査 | Google Search Console URL検査ツール | サイトマップ修正後に、Googleが対象URLを取得できるか確認する時に使います。 |
| canonical | Google Search Central 重複URLの正規化 | サイトマップURLとcanonicalがずれている時、どのURLを正規にするか決める時に使います。 |