保守

WordPressの自動補完リダイレクトを無効化するプラグイン

はじめに

運営しているウェブサイトを SearchConsole でインデックスの状況を確認している方が多いと思います。
私も確認しており、最近「ページにリダイレクトがあります」が多く検出されるようになりました。

 

調べてみると、コチラに紹介されている特徴ある URL へのアクセスがリダイレクトされており、
Google の検索順位に影響が出てきていると考えています。

SANACHAN
SANACHAN
Wordpress には URL の自動補完機能があり、存在しない URL へアクセスしても、
似ている URL へ補完されてリダイレクトされます。

 

解決策を調べると、テーマの functions.php を編集する記事がいくつか出てきましたが、
本サイトのテーマは AFFINGER6 を使っており、こまめにアップデートしています。
そのため、更新するごとに編集が必要となるため、自作プラグインで何とかしようと考えました。

 

そこで、本記事では WordPress の自動補完機能をプラグインで無効化する方法をご紹介いたします。

SANACHAN
SANACHAN
自作プラグインとなります。公式アップロードは予定していません。

 

functions.php を編集して無効化(解決せず)

一応、functions.php を編集する方法も紹介しておきます。
テーマを更新しない方は、こちらの方が手っ取り早いかと思います。

コチラで紹介されている通り、functions.php に以下を追加すると無効化することができます。

functions.phpの場所

<DocumentRoot>/wp-content/themes/<有効なテーマ>/functions.php

 

公開プラグインでの対応(解決せず)

どのプラグインも所望の動作をしませんでしたが、プラグインの概要と現象を紹介しておきます。

All 404 Redirect to Homepage

  • 概要:
    公式ページ
  • 現象:
    レイアウトが崩れた画面が表示される現象となりました。
    私のテーマではキャッシュ制御のためにリソースの URL が細工されています。
    架空のバージョン値をクエリに追加する細工ですが、それが存在しない URL となり
    読込中に 500 のエラーが発生して CSS が正常に読み込まれていませんでした。

 

Functionality

  • 概要:
    公式ページ
  • 現象:
    Edit Functions がメニューに出てこない現象です。
    おそらく、最新の WordPress に対応していないか、他のプラグインと競合しているのだと思われます。
SANACHAN
SANACHAN
ということで、プラグインの自作を決めました。

 

補完リダイレクトを無効化する自作プラグイン(解決)

手順は簡単で、以下の 3 ステップで完了です。順に説明していきます。

  1. プラグインのディレクトリ作成
  2. プラグインのコードを記述、アップロード
  3. プラグインの有効化

 

step
1
プラグインのディレクトリ作成

コマンドラインで作成、FTP ツールなどで作成、など、どのような方法でも OK です。
場所は、「<DocumentRoot>/wp-content/plugins」の直下です。

 command
cd <DocumentRoot>/wp-content/plugins
mkdir stop-canonical-redirection

 

step
2
プラグインのコードを記述、アップロード

以下のコードを記述し、Step.1 で作成したディレクトリ直下にアップロードします。
ディレクトリ名と同じファイル名で保存する必要があるので注意してください

 

step
3
プラグインの有効化

普通のプラグインを有効化するのと同様に、Wordpress 管理画面の左メニューから「プラグイン」を選び、
作成したプラグイン「Stop Canonical Redirection」を有効化します。

 

SearchConsole でリダイレクトが検出されたページになどにアクセスし、
以下のような 404 ページが表示されれば完了となります。

 

参考ページ

funcions.php を変更する方法(テーマを更新するたびに修正必須):

上手く動かなかった公式プラグイン:

リダイレクトが SEO にとても影響していると思った記事:

自作プラグインの作成方法:

 

こちらの記事もよく読まれています

  • この記事を書いた人
  • 最新記事
SANACHAN

SANACHAN

「生涯一エンジニア」を掲げ、大手グローバル企業でSE/PGとして8年勤め、キャリアアップ転職した現役のエンジニアです。世にあるメジャーな全プログラム言語(コボル除く)を自由に扱えます。一児の父。自分のため、家族のため、日々勉強してます。システムエンジニア、プログラミングに関する情報を蓄積している雑記帳です。

-保守
-, ,