Webサイトを運営している方なら一度は使ったことがあるであろうGoogle Search Console。
そのエラーのうちの1つ”ページにリダイレクトがあります”がWordpressサイトで発生した場合の対処法をお伝えしたいと思います。
この記事が向いている人
- WordPressのサイトを運営している人
- パーマリンクの指定に%category%を使用している人
- ページにリダイレクトがあります のエラーが出ている人
- 存在しないページのURLでは404エラーを出してほしい人
今回必要なもの
- WordPressのサーバーへのSSH もしくは FTP
なぜこのエラーが発生するのか
WordPressの仕様です。
URLに%category%が入っていると、記事のカテゴリーを変更した際に過去のURLは404エラーとならず、変更後のURLにリダイレクトするためです。
このサイトでは、初期ページを削除した際、固定ページのHOMEにリダイレクトするようになってしまいました。
直し方
WordPressのfunctions.phpを開く
functions.phpは wp-content > themes > テーマのフォルダ にあります。
nanoやvimといったエディタで開きましょう。
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を表示する方法です。
コメント