WordPressの標準サイトマップである wp-sitemap.xml にアクセスするとトップページが表示される原因と具体的な対策を詳しく解説します。
WordPressの標準サイトマップとは
WordPress 5.5 以降、WordPressにはデフォルトで XMLサイトマップ機能 が搭載されています。
このサイトマップは、以下のようなURLでアクセスできます。
https://example.com/wp-sitemap.xml
しかし、適切に設定されていない場合、このURLにアクセスしてもサイトマップではなくトップページが表示されることがあります。
robots.txtでサイトマップが機能しているか確認する
WordPressのサイトマップ機能が有効かどうかは、以下のようなURLで確認できます。
https://example.com/robots.txt
このページはクローラーが巡回するページの許可リストのようなものです。
サイトマップが機能している場合は以下のように表示されます。
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/wp-sitemap.xml
Sitemap… の行がない場合は機能していません。
wp-sitemap.xml にアクセスするとトップページが表示される原因と解決策
- SEOプラグインとの競合
- キャッシュやリダイレクトの影響
- パーマリンク設定が適用されていない
.htaccessのリライトルールが正しく設定されていない
SEOプラグインとの競合
SEOプラグイン(Yoast SEO、All in One SEO など)は独自のサイトマップ機能を持っているため、WordPressの標準サイトマップと競合する可能性があります。
対策
- 一時的にSEOプラグインを 無効化 します。
wp-sitemap.xmlにアクセスして、正しく表示されるか確認します。
Yoast SEO の場合
- SEO > 一般 > 機能 から XMLサイトマップを有効化 します。
https://example.com/sitemap_index.xmlにアクセスします。
All in One SEO の場合
- All in One SEO > サイトマップ から XMLサイトマップを有効化 します。
https://example.com/sitemap.xmlにアクセスします。
Yoast SEO のサイトマップは WordPressの標準サイトマップを上書き するため、wp-sitemap.xml ではなく sitemap_index.xml を確認する必要があります。
キャッシュやリダイレクトの影響
キャッシュプラグインやリダイレクトの設定が原因で、サイトマップが正しく表示されないこともあります。
対策
WP Super CacheやW3 Total Cacheなどのキャッシュプラグインを 一時的に無効化 します。Redirectionなどのリダイレクト管理プラグインを確認し、wp-sitemap.xmlへのリダイレクト設定がないか確認します。- キャッシュを削除してから、
wp-sitemap.xmlに再アクセスします。
特に、キャッシュプラグインの設定で 「静的ファイルのキャッシュ」 が有効になっていると、誤ったページがキャッシュされることがあります。
キャッシュプラグイン以外にも、テーマ設定やサーバー設定でキャッシュを保持している場合があります。
パーマリンク設定が適用されていない
パーマリンク設定が適切に適用されていないと、サイトマップが正しく動作しないことがあります。
特にサイトマップ生成プラグインを削除した場合、パーマリンク設定を更新しないとWordPress標準のサイトマップが生成されない可能性が高いです。
対策
- WordPress管理画面で 設定 > パーマリンク に移動します。
- 変更を加えず 「変更を保存」 をクリックします。
wp-sitemap.xmlにアクセスして動作を確認します。
この方法だけで解決することも多いです。
.htaccess のリライトルールが正しく設定されていない
.htaccess の設定が適切でない場合、サイトマップのURLがリダイレクトされてしまうことがあります。
対策
- WordPressのルートフォルダ(
public_htmlなど)にある.htaccessを開きます。 - 以下のコードが含まれているか確認し、なければ追加します。
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
.htaccessを保存後、wp-sitemap.xmlにアクセスして動作を確認します。
これはWordPressの基本的なリライトルールで、適用されていない場合はサイトマップがトップページにリダイレクトされることがあります。
サイトマップが表示された直後にGoogleSearchConsoleで登録したらエラーになる問題を解決
サイトマップを無事表示できたら、GoogleSearchConsoleでサイトマップを登録する人も多いことでしょう。
しかし、サイトマップが表示できた後に登録しようとすると
サイトマップがhtmlです
のようなエラーが発生することがあります。
これはキャッシュの問題であることが多く、通常は放置していれば解決されます。
すぐに解決したい場合は、ブラウザキャッシュだけではなくサーバーキャッシュも削除する必要があります。
サーバーキャッシュの削除方法は登録しているレンタルサーバーのマニュアルで確認できます。
まとめ
wp-sitemap.xmlにアクセスするとトップページが表示される原因は、パーマリンクの問題、.htaccessの設定ミス、キャッシュやリダイレクトの影響、SEOプラグインとの競合 などが考えられます。- パーマリンク設定を保存し直すだけで解決するケースが多い です。
.htaccessのリライトルールを適切に設定し、SEOプラグインの影響を確認することも重要です。
この問題は、多くのWordPressユーザーが経験するものですが、原因をひとつずつチェックすれば確実に解決できます。
よくある質問(FAQ)
Q.WordPressのサイトマップ送信はGoogle XML Sitemapsなどのプラグインが必須ですか?
特別な事情がない限りプラグインは不要です。
WordPressの標準サイトマップで十分です。
サイトマップ用プラグインは細かく設定できるメリットがあります。
しかし、たいていの場合は、クローラーが効率的に巡回することを妨げることになります。
大規模サイトで専門知識がある場合にはプラグインによるカスタマイズを検討しても良いでしょう。
Q.wp-sitemap.xml を送信しないとSEOに悪影響はありますか?
直接の悪影響はありませんが、サイトマップを送信することで 検索エンジンのクロール効率が向上し、インデックス速度が速くなる ため、送信するのがベストです。
Q.WordPressのサイトマップに不要なページが含まれている場合はどうすればよいですか?
Yoast SEO や All in One SEO のサイトマップ設定で、特定のページやカテゴリーを 除外 できます。
Q.Google Search Console にサイトマップを送信する方法は?
- Google Search Console にログインします。
- 「サイトマップ」 メニューを開きます。
https://example.com/wp-sitemap.xmlまたはhttps://example.com/sitemap_index.xmlを入力します。- 「送信」 をクリックします。