WordPressでトップページ以外が表示されない時に確認すること

WordPressにてトップページは問題無く表示されるけど、トップページ以外のページが表示されずに、404エラーとなってしまう場合があります。

 

主な発生条件としてはこんな感じ。

  • WordPressを引っ越しした(テスト環境から本番環境に移したなど)
  • パーマリンクを変更した
  • .htaccessファイルを変更した時

上記以外にも原因となることもあるかもしれませんが、ひとまず多いのはこのあたりです。

トップページ以外が全く表示されず焦ってしまって、色んな所をいじくり回して後戻りできなくなる。。。なんてことにならないように、まずは下で書いた項目を確認してみてください。

パーマリンク設定を更新する

まず最初に疑うべき内容はこれ。「パーマリンク」です。

管理画面の【設定 > パーマリンク設定】のページを開き、何も変更せずに「変更を保存」ボタンを押します。

これによりURL関連の設定が再構築され404エラーが解消される場合がほとんどです。

ほとんどの事例でパーマリンク設定を更新することで解消されるので、トップページ以外が表示されない場合は、まず最初に疑うべき項目です。

実際に行う作業も単純で簡単ですので。大半はこの作業で解決する場合が多いかと思います。

補足

カスタムパーマリンクにて「category/」を削除している場合は注意

パーマリンク構造を変更することはとても難しいです。

例えば、/%category%/%postname%などのパーマリンク構造にしていて、かつプラグインやカスタマイズなどで、URLから/category/というURLを削除していた場合。

上記の場合はWordPress側でバグが発生するようで、カテゴリー一覧ページにて2ページ目以降が404エラーとなり表示されなくなるようです。

2ページ目以降は、URLに http:/ /[カテゴリーページのURL]/page/2というように、URLが追加されますが、/category/を削除していた場合、2ページ目以降のURL構造がうまく働かず、動作しなくなるようです。

.htaccessの中身を確認

サーバー内のWordPressファイル群の中に、.htaccessというファイルがあります。このファイル内の記述が下記のようになっているかを確認します。

# BEGIN 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>

# END WordPress

.htaccess内に上記コードが入っていない場合は、それが原因となり不具合を起こしている可能性がありますので、上記のように変更してみてください。

問題があった場合にすぐにもとに戻せるよう、バックアップは必ずお取りください。

新作!究極のモバイルファースト
WPテーマ「ストーク」

「新しいスマホビュー時代をつくろう」というのをコンセプトに、スマホでの見やすさ、操作しやすさにとことんこだわりました。

インパクトのあるアニメーション
WPテーマ「ハミングバード」

インパクトのあるアニメーションでブログを演出します。

誰が使っても美しいデザイン
WPテーマ「アルバトロス」

シンプルかつ正統派のブログテーマです。