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の設定

お気軽にご相談ください

お見積りへ お問い合わせへ