WordPress SEO by Yoast サイトマップの 404 エラーへの対処方法

July 14, 2014

WordPress の SEO プラグインの王道、「WordPress SEO by Yoast」をインストールしました。

ウェブ上のガイダンス記事を参考にしながら設定を進めたのですが、サイトマップが 404 エラー(Not Found: ファイルが無いよという意味です)で参照できませんでした。海外サイトを見てなんとか解決できましたが、日本語の対処方法が見当たらなかったので メモとして残しておきます。

Image

対処方法

管理画面で SEO メニューの下から 2番目にある「Edit Files」を開いてください。
下段の .htaccess file 欄の、既存 WordPress 記述の前に以下を追記します。

# WordPress SEO - XML Sitemap Rewrite Fix
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^sitemap_index.xml$ /index.php?sitemap=1 [L]
RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 [L]
</IfModule>
# END WordPress SEO - XML Sitemap Rewrite Fix

以下は注意点とプチ解説です。

注意点

もっと簡単に解決するかも

管理画面の SEO メニューの「XML Sitemaps」で、冒頭のチェック ボックス「Check this box to enable XML sitemap functionality」をいったん OFF にして保存、再度 ON にして保存するだけで 404 エラーが解消する場合もあるようです。

WordPress サイトがドメイン ルートでない場合

さきほどのコードは、WordPress サイトがドメインのルートにあるとき用です。
例えば、あなたの WordPress サイトが http://example.com/wordpress/ だった場合は、以下になります。

# WordPress SEO - XML Sitemap Rewrite Fix
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^sitemap_index.xml$ /wordpress/index.php?sitemap=1 [L]
RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /wordpress/index.php?sitemap=$1&sitemap_n=$2 [L]
</IfModule>
# END WordPress SEO - XML Sitemap Rewrite Fix

プチ解説

WordPress SEO by Yoast のサイトマップは、./sitemap_index.xml です。
ところが、サーバー上に sitemap_index.xml というファイルが作成されるわけでありません。
(なので FTP ソフトなどでサーバー上を見て sitemap_index.xml というファイルが存在しなくても正常です)

内部的には ./index.php?sitemap=1 という URL でサイトマップが参照できるようになっています。
それをリライトして ./sitemap_index.xml として見せているのですが、その仕組みがテーマや他のプラグインとの相性問題でうまく機能しない場合があるようです。

尚、この対処方法で解決した場合、管理画面の SEO ダッシュボードに以下の警告が表示されますが、これは無視して問題ありません。
(「Fix it」をクリックしても何も起こりません)

ScreenShot

参考サイト

以下の WordPress SEO by Yoast 公式サイトおよび海外サイトを参考にさせていただきました。
ありがとうございます。

ちなみに、WordPress SEO by Yoast の設定ガイダンスは以下のページが分かりやすかったです。

2 thoughts on “WordPress SEO by Yoast サイトマップの 404 エラーへの対処方法

  1. boff

    こちらの情報を参照して解決できました。
    「XML サイトマップの機能を有効にするには、このチェックボックスをオン」を一度「オフ」にして、再度「オン」で設定保存したらあっさり。
    大変助かりました。
    ありがとうございました。

    Reply
  2. Pingback: SEO設定と管理:Yoast SEO | ジーニス・福岡のコンピューター屋さん

コメントを残す

メールアドレスが公開されることはありません。