WordPressサイトでよくある「存在しないのに存在している」現象を解説
SEO対策の基本として、Googleにサイト構造を伝えるための サイトマップ(sitemap.xml) があります。 多くの解説では「ルート直下に sitemap.xml がある」と説明されますが、 実際に FTP クライアント(FileZilla、FFFTP など)や サーバーのファイルマネージャーで確認しても、 sitemap.xml というファイルがどこにも見つからない ことがあります。
「URL では表示されるのに、サーバー上には存在しない。どういうこと?」 と疑問に感じる人は少なくありません。
結論から言うと──
sitemap.xml は“実ファイル”ではなく、WordPressが動的に生成している“仮想ファイル”だから。
sitemap.xml が見えないのは正常
WordPress や SEO プラグイン(All in One SEO、Yoast SEO、Rank Math など)は、 サイトマップを 物理ファイルとして保存していません。
代わりに、
- ブラウザで sitemap.xml にアクセスされたとき
- Google がサイトマップを取得しに来たとき
その瞬間に PHP が自動生成して返す仕組み になっています。
そのため、
- FTP クライアントで見ても
- サーバーのファイルマネージャーで見ても
sitemap.xml というファイルは存在しません。
これは不具合ではなく、完全に正常な動作です。
なぜ“仮想ファイル”として生成するのか
理由はシンプルです。
- WordPress の投稿数やカテゴリーが増えるたびに サイトマップを自動更新できる
- 手動でファイルを作り直す必要がない
- Google が常に最新のサイト構造を取得できる
- サーバーの負荷が少ない
つまり、 動的生成のほうが圧倒的に便利で安全 だからです。
sitemap.xml が表示される仕組み
URL にアクセスすると表示されるのは、 WordPress が内部で以下のような処理をしているためです。
- sitemap.xml という URL へのアクセスを検知
- WordPress または SEO プラグインが専用の処理を実行
- その場で XML を生成
- ブラウザに返す
つまり、 “ファイルがあるように見せているだけ” という状態。
では、どこで sitemap の設定を確認すればいい?
物理ファイルがないため、設定は以下の場所で管理されています。
- WordPress 標準 →
/wp-sitemap.xml - All in One SEO → AIOSEO の「サイトマップ」設定
- Yoast SEO → 「機能」→「XML サイトマップ」
- Rank Math → 「サイトマップ設定」
FTP ではなく、プラグイン側で設定を確認するのが正解。
まとめ
sitemap.xml が FTP やファイルマネージャーに存在しないのは正常。
- sitemap.xml は“実ファイル”ではない
- WordPress やプラグインが動的に生成している
- URL にアクセスするとその場で作られる
- 設定はプラグイン側で管理されている
つまり、
「見えないけど存在している」 「存在しているけど実体はない」
という、WordPress 特有の仕組みです。



人気ブログランキング ブログパーツ