【URL自動補完】WordPressで404エラーを出さず勝手にリダイレクトするのを防ぐ方法

コンピュータ関連
スポンサーリンク

Webサイトではリクエストされたページ(URL)がない場合、
通常ならば404エラー(見つからないエラー)を返します。

ところが WordPress では非公開含め存在しないページにアクセスした場合、
似たような、というか部分的に一致(後方一致?)するようなURLへと”勝手に”リダイレクトされてしまいます。

親切・・・なんでしょうかね?

スポンサーリンク

WordPressにおいて勝手にリダイレクトさせない方法

まずは結論から。

使用しているテーマの functions.php 内に

add_filter('do_redirect_guess_404_permalink', '__return_false');

を追記する。

現在のテーマ Cocoon の子テーマフォルダ内にあるfunctions.phpに追記したら、
ちゃんと非公開ページにアクセスした際、404エラーの画面を出してくれるようになりました。

きっかけ

いつからこういう仕様になったんでしょうか。

最初から?

とりあえずこれに気づいたのはつい先日、たまたま。

恥ずかしながら5月のGoogleアプデのことを全然知らなくて、
「な〜んかアクセス数めっちゃ減ってるんだけど?」とか思っていました。

でもまぁそんなこともあるかぁと思い放置していたのです。

もともとアクセス数が多いわけではないのですが、
でもさすがに”半減”となるとなんか嫌。

なにかの専門ブログではなく雑記ブログなので仕方ないと思いつつも、
とりあえず記事を整理しようかと。
ブログ開始時の1行記事なんかはインデックスされなくて良いので、そのへんを省きたいなと。

で、一時的に非公開に変更し、確認のためアクセスしたところ、
まったく関係のない記事へと飛んで気が付いたというわけです。

スポンサーリンク

現在はサイトマップに含めない形に

昔の1行(数行)記事なんかはインデックスされる必要がないので
robots.txt で拒否ってもいいのだろうけど・・・それもそれでねぇ。(面倒臭い)

かと言って削除するには忍びない。
一応歴史だし。

あ、そうか、インデックスされないようにすればいいのか、
ならサイトマップに含めなければ良いのでは?と思い、
現在はそのような形にしています。

拒否してるわけではないので、
リンクがある以上ロボットも見にくるでしょうし、
その結果インデックスされるならまぁそれはそれで良いかなと。

しかしデフォルトでリダイレクトするかどうかを切り替える設定くらいありそうなものですけど、ないんですねぇ・・・。

大したネタではありませんが、せっかく調べたので記事にしておきます。

コメント

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