2012年01月11日(水)

WordPressのサイトマップページにアクセスすると404エラーになってしまう場合の対処

ある条件が重なると、ワードプレスの固定ページで「sitemap」というパーマリンク(例:http://example.com/sitemap/)でページを作成しても、実際そのURLにアクセスするとエラー状態になることがあります。

しかも存在しないページであればお使いのワードプレスの404用のテンプレートページ(404.php)に飛ぶことになりますが、それさえもなくレンタルサーバー側で設定された404のページが表示されるという謎の症状。

ワードプレスの通常時の404ページのスクリーンショット
こちらがワードプレスの404ページの例。
通常であればURLが存在しない場合はこのようなページに転送されます。

「sitemp」にパーマリンク設定してアクセスできない場合の404ページのスクリーンショット
こちらが「sitemap」でアクセスしたときに出るエラーの例(ロリポップサーバーを使っている場合)。

パーマリンクの設定で間違いなく「sitemap」をしているのにこのようなエラーが表示されてしまいます。
万が一打ち間違いをしてても上で紹介したワードプレスで準備されている404のようなページに転送されるはず。

僕が確認できたのはロリポップサーバーのみでしたが、このような状態になってしまう条件は、ワードプレスのSEO定番プラグインである「Google XML Sitemaps」やその他クローラー用のサイトマップ生成系プラグインを使っていて、かつワードプレスのパーマリンク設定で投稿名(%postname%/)を設定している場合です。
その条件で固定ページに「sitemap」というパーマリンクを付けたときに上のような事になります。

なんとも不思議な現象ですが、原因はGoogle XML Sitemaps使用時にsitemap.xmlというファイルが生成されるんですが、これが同じ名前と認識されてしまうようです。
ですので、もしかしたらサイトマップ系プラグイン以外で「sitemap.*」というような名前のファイルを生成するプラグインがあったら(ないか)、同じような状態になるかもしれません。

これの解決方法はこうです。
.htaccessに下記の記述を追記してください(.htaccessの最後は必ず改行してください)。

Options -MultiViews

これでsitemapにもアクセスできるようになっているはず。

この現象を回避するためなのかどうなのかはわかりませんが、サイトマップのパーマリンクを「sitemap-page」とか「site-map」などとしているブログをたまに見かけます。
もし回避するだけの目的でそのような名前にしているならぜひこの方法をお試し下さい。
サイトマップのページには「sitemap」とつけたいですよね。


コメント (6) コメント投稿覧へ移動

  1. まさに同じ状況で悩んでました!
    このページを見てスッキリ解決しました\(^o^)/

    ありがとうございます!!

    Reply

  2. 同じくロリポップを使っていて、この症状が出ました。
    何で~???と思い、探していてこちらのページにたどり着きました。
    感謝です!!

    Reply

  3. Pingback: PS Auto Sitemap 404エラーの簡単な対処法

  4. Pingback: サイトマップがリンク切れ その原因。 | ワサビ株式会社

  5. 助かりました!ありがとうございます
    ググってやっとたどり着き解決できました。

    Reply

  6. Pingback: プラグイン「PS Auto Sitemap」を使ってサイトマップページを作成する手順

コメントを残す

*」は入力必須項目


  • © 2010-2017 試行錯誤 All Rights Reserved.