【WordPress】「ページにリダイレクトがあります」を解決

WordPress
この記事は約3分で読めます。

Webサイトを運営している方なら一度は使ったことがあるであろうGoogle Search Console

そのエラーのうちの1つ”ページにリダイレクトがあります”がWordpressサイトで発生した場合の対処法をお伝えしたいと思います。

この記事が向いている人

  • WordPressのサイトを運営している人
    • パーマリンクの指定に%category%を使用している人
  • ページにリダイレクトがあります のエラーが出ている人
  • 存在しないページのURLでは404エラーを出してほしい人

今回必要なもの

  • WordPressのサーバーへのSSH もしくは FTP

なぜこのエラーが発生するのか

WordPressの仕様です。

URLに%category%が入っていると、記事のカテゴリーを変更した際に過去のURLは404エラーとならず、変更後のURLにリダイレクトするためです。

このサイトでは、初期ページを削除した際、固定ページのHOMEにリダイレクトするようになってしまいました。

直し方

WordPressのfunctions.phpを開く

functions.phpwp-content > themes > テーマのフォルダ にあります。

nanoやvimといったエディタで開きましょう。

[themes]には、親テーマと子テーマがありますが、編集するのは子テーマのほうです。

親テーマのほうを編集してしまうと、テーマ更新時に編集内容が消える恐れがあります。

functions.phpに追記

add_filter( 'do_redirect_guess_404_permalink', '__return_false' );
//曖昧なURLを推測し、補完する機能を停止

remove_action( 'template_redirect', 'wp_old_slug_redirect' );
//過去のURLを元にリダイレクトする機能を停止

上記のプログラムをfunctions.phpに追加します。

曖昧なURLを推測し、補完する機能
  • example.com/abc にアクセスしようと思ったが、
  • example.com/ab と最後のcを入れずにアクセスした。

この場合、abcdeまでが前方一致するので正しいURLに自動的にリダイレクトされる。

過去のURLを元にリダイレクトする機能
  • 過去のurl設定:https://example.com/abc
  • 現在のurl設定:https://example.com/def

この場合、過去のURLから現在のURLにリダイレクトされる。

上記のコードを追加し、保存した時点でリダイレクトの無効化が有効になります。

確認

その後、Search Consoleでエラーとなっていたページにアクセスしてみると…

しっかりと404ページになっています。\(^o^)/

もしまだリダイレクトしてしまうようであれば、ブラウザやサイトのキャッシュを削除するなどしてください。

おわりに

この記事では、Search Consoleの「ページにリダイレクトがあります」エラーを解決する方法を解説しました。

SEOの観点では消さなくてもよいのですが、Search Consoleにエラーがたまっていくのは気持ち悪いので解決策を紹介しました。(完全に気分の問題です)

この記事がどなたかの役に立てば幸いです。

それでは!

参考サイト

404: ページが見つかりませんでした | でーぴーブログ
【WordPress】カテゴリー変更時の自動リダイレクトを停止する方法。
WordPressでカテゴリーの自動リダイレクトを停止する方法です。WordPressの仕様上、投稿のカテゴリーを変更すると旧カテゴリーのスラッグが含まれるページに自動でリダイレクトが設定されますが、これを停止して404を表示する方法です。

コメント

タイトルとURLをコピーしました