当サイトには広告が含まれます

WordPressで301リダイレクトを行う2つの方法【期間は1年です】

【簡単】WordPressで301リダイレクトを行う2つの方法【期間は1年】

「WordPressで301リダイレクトを行う方法を知りたい。記事のURLを変更するから、古いURLから新しいURLにリダイレクトする必要がある、、、できれば簡単な方法で設定できればいいな。」

この記事ではこういった疑問に答えます。

本記事の内容

  • WordPressで301リダイレクトを行う2つの方法
  • 301リダイレクトを継続しておく期間は1年
  • リダイレクトは出来るだけ.htaccessで行う

301リダイレクトとは、「記事統合」や「ブログ引っ越し」などの際に利用する、ページ評価を引き継いだまま新しいURLに転送する方法のことです。

適切にリダイレクトを行わないとページ評価を失ってしまうので重要な設定でもあります。

そこでこので記事では、WordPressで301リダイレクトを行う2つの方法と、知っておくべき関連情報を合わせて解説します。

リダイレクトの種類に関しては「リダイレクトとは?(執筆中です)」で解説しているので、より深くリダイレクトについて理解するなら合わせて読んでみてください。

WordPressで301リダイレクトを行う2つの方法

WordPressで301リダイレクトをする方法は2つあります。

301リダイレクトの方法

  • その1:プラグインを利用する方法
  • その2:.htaccessにコードを書く方法

それぞれの使い方や手順を解説します。

その1:プラグインを利用する方法

リダイレクトのプラグインは色々ありますが、WebFactoryLtdが提供する「301 Redirects」をおすすめします。

現時点(2020/10)では、301 Redirectsは知名度のないマイナープラグインですが、私がこのプラグインをおすすめする理由は以下の通りです。

理由としては、リダイレクトの定番プラグインである「Redirection」と「Simple 301 Redirects」がアップデートされておらず、最新のWordPressバージョンで未検証であるためです。

Redirectionの最終更新は4ヶ月前。
Simple 301 Redirectsに至っては、最終更新が1年以上前になります。

他にも、利用者の多いプラグインでいうと「301 Redirects – Easy Redirect Manager」がありますが、以前、セキュリティホールが発見されていたのでおすすめしません。

ナオ

実際のところ、RedirectionもSimple 301 Redirectsも問題なく動作します。定番プラグインが良いのなら、そちらでもいいと思います。

301 Redirectsの使い方

301 Redirectsの使い方はとても簡単です。

リダイレクト元のURL:https://naoweb.jp/old
リダイレクト先のURL:https://naoweb.jp/new

STEP.1
「301 Redirects」をインストールして有効化します。
STEP.2
管理画面の設定から「301 Redirects」をクリックします。
STEP.3
この管理画面でリダイレクトの設定を行います。
STEP.4
リダイレクト元のURLを「Old Link」に入力します。
そして、リダイレクト先のURLを「New Link」に入力します。
画像通りに、/(スラッシュ)を忘れないようにしてください。
STEP.5
NameとSectionは空白のままでもいいのですが、いつを開始したか分かるように日付を入れておくことおすすめします。
STEP.6
あとは「Save All」をクリックすれば設定完了です。
STEP.7
リダイレクトが設定されると「All redirect rules have been saved.」と表示されます。
STEP.8
なお、新たにリダイレクトを設定する場合は「Add a New Redirect Rule」をクリックすることで、新たな設定バーが追加されます。

その2:.htaccessにコードを書く方法

.htaccessファイルに転送処理の記述を行います。

リダイレクト元のURL:https://naoweb.jp/old
リダイレクト先のURL:https://naoweb.jp/new

この場合、以下のコードを.htaccessに追記します。

.htaccess

RewriteEngine On
RewriteRule ^old/ https://naoweb.jp/new/ [R=301,L]

実際に.htaccessに記述します

記述するまでの手順は次の通りです。

STEP.1
サーバーのファイルマネージャにアクセスして、リダイレクト処理を行うブログをクリックします。。(FTPソフトを利用しても、どちらでもOKです。)
STEP.2
public_htmlをクリックします。
STEP.3
.htaccessファイルがあるので直接編集するか、ダウンロードします。
STEP.4
.htaccessには既に、httpからhttpsにリダイレクトする記述を書いているの思いますので、ここに301リダイレクトの記述を書き加えます。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
STEP.5
301リダイレクトの記述をこのように書き加えます。
あとは、変更内容を保存するか、ファイルをアップロードすれば転送処理が完了です。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^old/ https://naoweb.jp/new/ [R=301,L]
</IfModule>
STEP.6
なお、カテゴリーをパーマリンクに含めるように設定しているなら、記述は以下の通りになります。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^blog/old/ https://naoweb.jp/blog/new/ [R=301,L]
</IfModule>

ナオ

理由は後述しますが、プラグインではなく、.htaccessに記述する方法をおすすめします。

301リダイレクトを継続しておく期間は1年

301リダイレクトの方法は分かったけど、「どのくらいの期間継続しておけばいいのか?」という疑問が浮かぶと思います。

結論から言うと、301リダイレクトしておく期間は「1年」です。

「1年」の根拠としては、、、Googleのジョンミューラー氏がTwitterで以下のように言及しています。

https://twitter.com/JohnMu/status/1086241155728195584

301 is permanent, it means forever and that’s a mighty long time, but I’m here to tell you, there’s something else: the server maintenance.
After a few years the old URLs are often no longer accessed & you can drop those redirects.

If they’re no longer needed after a while (usually I recommend keeping them at least a year), and you don’t see traffic to them, then removing them is fine since it makes long-term maintenance easier.

簡単に和訳すると、「基本的に最低1年間はリダイレクトしておきましょう。あと、リダイレクト元からのアクセスがなくなったら削除していいよ。」とのことです。

ナオ

このような理由から、301リダイレクトは最低でも「1年」は継続して行なっておきましょう。

リダイレクトは出来るだけ.htaccessで行う

301リダイレクトを行うなら、プラグインで行う方が簡単ですが、可能な限り.htaccessで行った方が無難です。

理由は、リダイレクトを行なっているプラグインが急に更新されなくなったり、放置されてしまうと、不具合やハッキングなどのトラブルが起こる可能性があるからです。

実際、定番プラグインの「Simple 301 Redirects」は、既に1年以上更新されていませんし、プラグインが放置されることはよくあることです。

ナオ

プラグインの方が簡単に設定できますが、今後のことを考えて出来るだけ.htaccessで行うようにしましょう。

というわけで以上です。