パーマリンク変更で特定の記事に発生した404エラーの対策方法

(Photo credit: Alex E. Proimos via VisualHunt / CC BY-NC

パーマリンクのスラッグやカテゴリ構造を変更したことで記事のURLが変わってしまい、Search Consoleなどから404エラーで怒られて困っている方への処置方法を示します。

WordPressのパーマリンク設定の変更程度であればプラグインを利用すれば一括で修正できますが、個別にURLを変更したり、パーマリンクにカテゴリを設定している状態でカテゴリ構造を変更するなどした場合は、プラグインでは対処しきれないことがあります。

その場合、ひとつひとつの記事URLに対して処置を施す必要がありますので、その方法を説明します。

301リダイレクトをひとつひとつのURLに設定する方法

プラグインなどでの一括設定が出来ない場合は、ひとつひとつのURLに対して301リダイレクトの設定を手作業で行う必要があります。

301リダイレクト設定とは

301リダイレクト設定とは、使われていない(古い)URLにアクセスした際、自動的にリダイレクト設定したURLに永続的に転送させる設定です。

記事のURLを変更した後もweb上には古いURLが残っています。そのURLにアクセスした場合、記事が無いURLということで404エラーを返しますが、このまま放置しておくと、折角アクセスしてくれたユーザーをサイトに引き込むことが出来ないだけでなく、異常のあるサイトだとGoogleが判断し、検索順位が低くなる恐れがあります。(SEO上どこまで影響があるか分かりませんが、Search Consoleでは重複タイトルなどの注意表示がなされます。)

GoogleでもURLを変更した場合は301リダイレクトを使用することを推奨していますので、変更した場合は301リダイレクト設定をするようにしましょう。

作業自体は簡単ですが、聞きなれない言葉に抵抗があるかと思いますので、エックスサーバー
を例に設定方法も説明します。

.htaccessへのリダイレクト設定

.htaccessファイルはwebサーバーソフトウェアApacheの設定ファイルです。このファイルに書かれた設定でwebサーバーが動くことになりますので、リダイレクト設定も.htaccessファイルに記述しておけばサーバーはその通りに動いてくれます。

301リダイレクトの設定命令は次のように記述します。

Redirect 301 /before.html https://hirameita.info/after.html

  • 変更前のURL:https://hirameita.info/before.html
  • 変更後のURL:https://hirameita.info/after.html

命令文は1行のみです。変更前のURLはドメインまでの部分を省き、変更後のURLは全てのURLを記載します。

それぞれの対象URLに対して、上記命令文を.htaccessファイルに記述するだけで設定ができます。

エックスサーバーでの設定方法

エックスサーバーでの設定方法を説明します。

  1. サーバーパネルにログインします。
  2. ホームページの.htaccess編集をクリックします。
  3. 対象のドメインを選択します。
  4. .htaccess編集タブの「# END WordPress」以下にRedirect命令文を記述します。
  5. 「.htaccessを編集する(確認)」をクリックします。
  6. 問題なければ「.htaccessを編集する(確定)」をクリックします。
  7. サイトが表示できるか確認します。

サンプル

ひとつのURLに対する設定自体は簡単な作業ですが、対象URLが多いとそれなりの作業になりますので、今更ですがパーマリンクの設定と変更は、よく考えてから実行しましょう。