手当たり次第に書くんだ

飽きっぽいのは本能

WordPress のサイトマップが生成されない原因 – パーマリンク設定と URL 設計を見直す

WordPress でサイトマップが生成されない、または Search Console に送信したサイトマップが正しく読まれない場合、単純なサイトマッププラグインの不具合ではなく、パーマリンク設定と URL 設計が関係していることがあります。

この記事では、10 年以上「基本」パーマリンクで運用してきた WordPress で、XML Sitemap Generator for Google の表示 URL と実際にアクセスできる URL がずれた事象を整理します。

結論として、長期運用サイトではパーマリンクを途中で変更する影響が大きいため、サイトマップ、Search Console、リダイレクト、内部リンク、既存 URL の維持をまとめて設計する必要があります。

参考
書籍
参考書籍

WordPress 仕事の現場でサッと使える!デザイン教科書 [WordPress 6.x対応版] 改訂第3版

WordPress のサイト構築、テーマ、カスタマイズ、運用項目を確認したい場合の参考書籍です。価格や在庫、WordPress の最新仕様との差分はリンク先や公式ドキュメントで確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

参考
書籍
参考書籍

DNS がよくわかる教科書 第 2 版

DNS の基本、名前解決、権威 DNS、キャッシュ DNS、DNSSEC などを体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

関連する記事

この記事は問題編です。実際にパーマリンクを変更し、旧 URL から新 URL へリダイレクトする手順は、関連する実践編で整理しています。

発生した問題

この WordPress は 10 年以上前から運用しており、パーマリンク設定は長く「基本」のままでした。基本パーマリンクは、投稿 ID を使う URL 形式です。

https://www.example.com/?p=12345

長期運用しているサイトでは、既存記事の URL が外部リンク、検索エンジン、内部リンク、SNS などに蓄積されます。そのため、途中からパーマリンクを変更すると、全記事の URL が変わるという大きな影響が出ます。

サイトマップ URL のずれ

当時、XML Sitemap Generator for Google を使用してサイトマップを生成し、Google Search Console に登録していました。以前に利用していたサイトマップ URL は次の形式でした。

https://www.example.com/index.php?xml_sitemap=params=

しかし、プラグインのダッシュボード上では、現在のサイトマップ URL として次のような URL が表示されていました。

https://www.example.com/sitemap.xml

ところが、実際に sitemap.xml へアクセスすると Not Found になり、サイトマップとして取得できませんでした。ここで問題になるのは、管理画面に表示される URL と、基本パーマリンク環境で実際に有効な URL が一致していないことです。

基本パーマリンクとサイトマップの相性

基本パーマリンクは WordPress の初期設定として存在しますが、現在の多くのプラグインや SEO 系の運用は、基本以外のパーマリンクを前提にしていることがあります。

項目基本パーマリンクカスタムパーマリンク
投稿 URLクエリ文字列で投稿 ID を指定する。カテゴリやスラッグを URL パスに含められる。
サイトマップ URLプラグインにより専用のクエリ URL になることがある。sitemap.xml のような分かりやすい URL になりやすい。
SEOURL から記事内容を推測しにくい。URL にカテゴリや投稿名を含めやすい。
途中変更変更すると全記事 URL が変わる。最初から設計しておけば安定しやすい。

問題は、基本パーマリンクが技術的に動かないことではありません。基本パーマリンクで長く運用したあとに、サイトマップ、SEO、プラグイン、Search Console の都合で変更したくなった時の影響が大きすぎることです。

確認するべきこと

サイトマップが取得できない場合は、まず実際にどの URL が応答しているかを確認します。管理画面の表示だけで判断せず、HTTP ステータスと応答本文を見ます。

curl -I https://www.example.com/sitemap.xml
curl -I 'https://www.example.com/index.php?xml_sitemap=params='
curl -s https://www.example.com/sitemap.xml | head
curl -s 'https://www.example.com/index.php?xml_sitemap=params=' | head

WordPress 標準のサイトマップを使っている場合は、次の URL も確認します。

curl -I https://www.example.com/wp-sitemap.xml
curl -s https://www.example.com/wp-sitemap.xml | head

Search Console で見ること

Google Search Console 側では、登録しているサイトマップ URL と、実際に WordPress が返しているサイトマップ URL が一致しているかを確認します。

  • Search Console に登録しているサイトマップ URL。
  • WordPress またはプラグインが表示しているサイトマップ URL。
  • 実際に curl やブラウザで取得できるサイトマップ URL。
  • Not Found、リダイレクト、HTML エラーページ、XML のどれが返っているか。
  • 古いサイトマップ URL を登録したままにしていないか。

サイトマップは XML として取得できることが重要です。ブラウザで何となく表示されるだけではなく、HTTP ステータスが 200 であり、XML として読めることを確認します。

パーマリンク変更が難しい理由

パーマリンクを途中で変更すると、既存記事の URL が変わります。投稿数が少ないサイトなら手作業でも対応できますが、長年運用したブログでは現実的ではありません。

影響範囲内容
外部リンク他サイトや SNS からのリンクが旧 URL を指している。
検索エンジン検索結果に旧 URL が登録されている。
内部リンク記事本文内のリンクが旧 URL のまま残る。
アクセス解析URL 変更により過去の集計との連続性が崩れる。
サイトマップ新旧 URL の扱いを Search Console へ正しく伝える必要がある。

このため、パーマリンク変更は単なる WordPress 設定変更ではなく、URL 移行プロジェクトとして扱う必要があります。

基本パーマリンクを使い続ける場合

基本パーマリンクを使い続ける場合は、サイトマッププラグインが基本パーマリンク環境で実際に有効な URL を表示しているか確認します。もし管理画面上の案内が実態とずれている場合、Search Console には実際に取得できるサイトマップ URL を登録します。

この選択は、既存 URL を維持するという意味では安全です。一方で、SEO、URL の可読性、プラグイン互換性の面では制約が残ります。

パーマリンクを変更する場合

パーマリンクを変更する場合は、新旧 URL の対応表を作り、301 リダイレクトを設定します。重要なのは、変更前に旧 URL を取得し、変更後に新 URL を取得し、投稿 ID で対応付けることです。

  • 変更前の全投稿 URL をエクスポートする。
  • パーマリンクを変更する。
  • 変更後の全投稿 URL をエクスポートする。
  • 投稿 ID を基準に新旧 URL を対応付ける。
  • 301 リダイレクトを設定する。
  • Search Console のサイトマップ URL を更新する。
  • 主要記事と内部リンクを確認する。

実際の変更手順は、関連するパーマリンク変更の記事で整理しています。

プラグインと WordPress への違和感

元記事でも書いていた通り、基本パーマリンクが WordPress の設定として存在する以上、サイトマッププラグインは基本パーマリンク環境で実際に使える URL を明確に表示すべきです。管理画面で sitemap.xml と表示しているのに、それが実際には取得できない場合、利用者は正しい URL にたどり着きにくくなります。

また、WordPress 側も、基本パーマリンクを初期設定として残すなら、長期運用後に変更する難しさをもっと分かりやすく扱うべきだと思います。URL 設計は後から簡単に直せるものではありません。

まとめ

WordPress のサイトマップが取得できない場合、原因はサイトマッププラグインだけとは限りません。基本パーマリンク、rewrite、プラグインが表示する URL、Search Console に登録している URL がずれていることがあります。

特に長期運用サイトでは、パーマリンク変更は SEO と URL 維持に大きく影響します。サイトマップ問題をきっかけにパーマリンクを見直す場合は、旧 URL の保護、301 リダイレクト、新旧 URL 対応表、Search Console 更新まで含めて設計する必要があります。

サイトマップは検索エンジンにサイト構造を伝える入口です。WordPress の設定画面だけで判断せず、実際に取得できる URL と HTTP 応答を確認し、長期運用に耐える URL 設計として扱うことが重要です。

WordPress のサイトマップが生成されない原因 – パーマリンク設定と URL 設計を見直す

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る