
サーチコンソールで『ページにリダイレクトがあります』という謎のエラーが表示されていて不安になっています…。
このままでも大丈夫なのでしょうか。対処法について教えて下さい!
わたしは中古ドメインを購入した時、サーチコンソールで以下のような画面が出て恐ろしくなったことがあります。

あらゆる項目の数字がすごいことになっていました…
このドメイン使い物にならないのでは?と思ったのですが、新規記事を投稿するとちゃんとGoogleに表示されて順位が付くんです。

『ページにリダイレクトがあります』の中の記事やphpファイルは、わたしの場合は404ページに飛んでいましたが、その記事のURLに似たURLページに飛んでいることも良くあると思います。
そこで今回は、この『ページにリダイレクトがあります』というサーチコンソールのエラーの対処法について解説します!
『ページにリダイレクトがあります』の原因はWordPressの自動補完リダイレクト機能
WordPress(ワードプレス)には、『自動補完リダイレクト』という機能があります。
存在しないURLや入力ミスによる曖昧なURLを入力した場合、「これではありませんか?」と、できるだけ近いURLを選んで、自動的にそのページにリダイレクトするという機能です。
ユーザーが曖昧なURLを入力しても404エラーではなく、代わりの似たページを表示させることで、ユーザーをがっかりさせない工夫なのだと思います。

わたしの場合は中古ドメインなので404ページにリダイレクトされていました。サイトは記事が空っぽで、似たようなページが一切なかったためでしょうね。
404ページであればまだいいかもしれませんが、憶測で似たようなページにリダイレクトされるというのも、ありがた迷惑な時があります。
ユーザーが求めていないページだったりしますからね。
WordPressの『自動補完リダイレクト』は停止させることができます。
function.php内に停止させるコードを記述するのですが、自動補完リダイレクトには、2種類のリダイレクトがあります。
- 曖昧なURLを推測して自動補完してくれる機能を停止
- 過去のURL(スラッグ)情報を元に補完する
それぞれどんなリダイレクトなのか説明しながら、停止させるためのコードもお伝えします!
WordPressの自動補完リダイレクトを停止する方法
WordPressの自動補完リダイレクトを停止する方法を解説します
- 曖昧なURLを推測して自動補完してくれる機能を停止
- 過去のURLを元にリダイレクトしてくれる機能を停止
- どちらも完全停止
この3つに分けて書いておきます。

2種類ありますが、今回のサチコのエラーは②の方法で対処します。
①:曖昧なURLを推測して自動補完してくれる機能を停止
曖昧なURLを推測して自動補完というのは、以下のようなリダイレクト機能です。
例
- https://example.com/good-foods/ にアクセスしようと思ったところ
- https://example.com/good-food/ と最後のsを入れず間違えてアクセスした。
→結果:good-foodまでが前方一致するので正しいURLにリダイレクトされる

今回のサーチコンソールのエラーには関係ない便利なリダイレクト機能なので、基本的にはこちらを停止させる必要はありません。
ただ、URLが1文字でも違えば、それは存在しないページ(404)にしたい場合は停止させましょう。
また、Googleサーチコンソールの除外ページで、『ページにリダイレクトがあります』という項目のページ数が増えていくのが嫌である場合も、自動補完リダイレクトの機能を停止させるといいですね。
『曖昧なURLを推測して自動補完してくれる機能』を停止するコードがこちらです。
//曖昧なURLを推測して自動補完してくれる機能を停止
add_filter( 'do_redirect_guess_404_permalink', '__return_false' );
WordPress内の『function.php』に追加してください。
子テーマフォルダ内の『functions.php』を編集するようにしましょう!
注意
変更する前に、バックアップを取っておきましょう。そして、変更前のコードもコピーしておくとなお良しです!
②:過去のURLを元にリダイレクトしてくれる機能を停止
そして2つ目が、スラッグ(パーマリンク)を変更した時や記事を削除した時に役立つ補完方法です。
この補完方法が、サーチコンソールで『ページにリダイレクトがあります』というエラーが出てしまう原因です。
例
- 過去のスラッグ設定:https://example.com/good-foods/
- 現在のスラッグ設定:https://example.com/good-noodles/
https://example.com/good-foods/でアクセスした。
→結果:過去のスラッグ履歴を元に現在の正しいURLにリダイレクトされる。

「https://example.com/good-foods/」というページにリダイレクトがありますという状態になりますよね。それで、サーチコンソールでインデックス除外にこのURLが出るのです。
この『過去のURLを元にリダイレクトしてくれる機能』を停止するコードがこちらです。
//過去のURLを元にリダイレクトしてくれる機能を停止
remove_action( 'template_redirect', 'wp_old_slug_redirect' );
WordPress内の『function.php』に追加してください。
子テーマフォルダ内の『functions.php』を編集するようにしましょう!

今回のエラーはこの方法で対処しましたよ。
注意
変更する前に、バックアップを取っておきましょう。そして、変更前のコードもコピーしておくとなお良しです!
③:両方停止!WordPressの自動補完リダイレクトを完全に止める
①と②のどちらも停止したい場合、2つまとめて書けばWordPressの自動補完リダイレクトを完全に停止する事ができます。
//曖昧なURLを推測して自動補完してくれる機能を停止
add_filter( 'do_redirect_guess_404_permalink', '__return_false' );
//過去のURLを元にリダイレクトしてくれる機能を停止
remove_action( 'template_redirect', 'wp_old_slug_redirect' );
子テーマフォルダ内の『functions.php』を編集するようにしましょう!
注意
変更する前に、バックアップを取っておきましょう。そして、変更前のコードもコピーしておくとなお良しです!
実際にやってみるとどうなる?
実際に、ちゃんとWordPressの自動補完リダイレクトが停止されているかの確認してみましょう。
【停止前】自動補完リダイレクトを停止する前
Search Console(サーチコンソール)のエラー『ページにリダイレクトがあります』をクリックして、表示された身に覚えのないURLを表示してください。
自動補完機能が働いて、予測されたURLへ自動で飛ばされるはずです。
【停止後】自動補完リダイレクトを停止した後
先程のURLをクリックして表示してみてください。
自動補完されたURLへ飛ばず、『そんなURLは存在しないよ』と404ページが表示されていれば成功です。
うまくいかない場合は、ページのキャッシュを削除した状態でお試しください。
これでサーチコンソールに吐き出された『ページにリダイレクトがあります』が徐々に減っていくと思います。
まとめ:『ページにリダイレクトがあります』は自動補完リダイレクトを停止させて対処
Search Console(サーチコンソール)の『ページにリダイレクトがあります』というエラーの対処法について解説してきました。
WordPressの自動補完リダイレクトはありがたい機能ではありますが、予想外のURLにリダイレクトされているとありがた迷惑ですよね。
まだ、404ページの方がましです。
なので、変なページにリダイレクトされている場合は、今回のやり方で自動補完リダイレクトの機能を停止させるといいでしょう!

ただ、404ページが表示されても、ページが無ければユーザーは離脱してしまいます。
なので、この404ページをサイトのTOPページに飛ばしてあげると、サイト内の記事を読んでくれる可能性が出てきますよ。
ページを301リダイレクトさせるには、WordPressのプラグイン『Redirection』を使うと便利ですが、1ページずつ設定しなければいけません。
404の全ページをTopページにリダイレクトさせる方法や、404エラーページを自由に作る方法は以下の記事で解説しています。とっても簡単です!