2026年5月20日
2026年5月20日
WordPressのサイトマップが壊れている場合の解決方法
はじめに
Google Search Consoleにサイトマップを送信したら「取得できませんでした」と表示される、/sitemap.xmlにアクセスすると404になる、または空のXMLが返ってくる。サイトマップの問題はSEOクロールに直接影響するため早急な対処が必要です。
症状・原因
サイトマップが壊れる主な原因:
- パーマリンク設定が壊れている:リライトルールが正しく生成されていない
- プラグインの競合:複数のSEOプラグインがサイトマップを両方出力している
- .htaccessの問題:サイトマップのリクエストが正しくルーティングされていない
- キャッシュの問題:古いサイトマップがキャッシュされている
- メモリ不足:大規模サイトでサイトマップ生成時にメモリ制限に達する
解決手順
ステップ1:パーマリンクを再保存する
# WP-CLIでリライトルールを再生成
wp rewrite flush --hard
# リライトルールの確認
wp rewrite list
管理画面から行う場合:
1. 設定 → パーマリンク設定
2. 何も変更せず「変更を保存」をクリック
ステップ2:サイトマップURLを確認する
WordPressのサイトマップURLはプラグインによって異なります。
| プラグイン | サイトマップURL |
|-----------|--------------|
| Yoast SEO | /sitemap_index.xml |
| All in One SEO | /sitemap.xml |
| WordPress標準(5.5以降) | /wp-sitemap.xml |
| Google XML Sitemaps | /sitemap.xml |
ステップ3:WordPress標準サイトマップを確認する
WordPress 5.5以降は標準でサイトマップ機能を持っています。
// functions.php — 標準サイトマップを無効化(SEOプラグインと競合する場合)
add_filter('wp_sitemaps_enabled', '__return_false');
// 特定の投稿タイプをサイトマップから除外
add_filter('wp_sitemaps_post_types', function($post_types) {
unset($post_types['page']); // 固定ページを除外
return $post_types;
});
ステップ4:Yoast SEOのサイトマップを修復する
# Yoast SEOのキャッシュをクリア(WP-CLI)
wp eval 'WPSEO_Sitemaps_Cache::clear();'
# Yoast SEOのオプションをリセット
wp option delete wpseo_xml
Yoast SEOの設定から:
1. Yoast SEO → 設定 → サイトマップ
2. 「XMLサイトマップを有効にする」がオンになっているか確認
3. 機能 タブ → 「XMLサイトマップ」のトグルを確認
ステップ5:.htaccessを確認・修復する
# .htaccess — WordPressの標準リライトルール
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
.htaccessが破損している場合はこの内容で上書きしてからパーマリンクを再保存します。
ステップ6:大規模サイトのメモリ不足対策
// wp-config.php — サイトマップ生成用にメモリを増加
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');
// functions.php — サイトマップのURLあたりのエントリ数を減らす
add_filter('wp_sitemaps_max_urls', function($max_urls) {
return 500; // デフォルト2000を500に削減
});
ステップ7:Google Search Consoleで再送信する
1. Search Console → サイトマップ
2. 古いサイトマップを削除
3. 新しいURLを入力して「送信」
4. ステータスが「成功しました」になるか確認
注意事項
- WordPressの標準サイトマップとYoast SEOのサイトマップを同時に有効にすると重複します。どちらかを無効化してください。
- サイトマップのキャッシュクリア後、Googleが新しいサイトマップを認識するには数日かかることがあります。
まとめ
サイトマップの問題はパーマリンクの再保存で解決するケースが最多です。それでも直らない場合はSEOプラグインのキャッシュクリアと.htaccessの確認を行い、Search Consoleで再送信してください。関連記事:robots.txtの設定方法、Google Search Consoleの設定