「ホームページやブログの引っ越し」「ページURLの変更」「QRコードからアクセスするURLは変更できないので別ページを自動で見せたい」等々の場合にHTTPリダイレクトを使いたい場合の手順です。
転送の目的と種類を決める
最初に転送の目的を決めます。
次にそれが恒久的か、一時的か、それ以外(特殊)かを決めます。
「恒久的・永久的」の場合は「301・308」を使う
元のURLはもう使用されず、新しいものに置き換えたいときに使います。
Googleなどの検索エンジン、 RSSリーダー、および他のクローラーは、リソースの元のURLを更新します。
301とは「Moved Permanently」
主にWEBサイトの再編に使われます。
GETメソッドは変更しません。
他のメソッドはGETに変更されるかもしれません。
仕様書ではメソッドの変更を意図していませんが、メソッドを変更するユーザーエージェントが存在します。
308 が定義されたのは、 GET 以外のメソッドを使用するときの動作のあいまいさをなくすためです。
308とは「Permanent Redirect」
GET以外のリンクや操作を含むウェブサイトの再編に使われます。
メソッドや本文は変更しません。
「一時的」の場合は「302・303・307」を使う
元々のURLでレスポンスしたリソースにアクセスすることはできないけれど、別の場所でアクセスできる場合があります。
このような場合に、一時的なリダイレクトを使用します。
Googleなどの検索エンジンは、この一時的URLをキャッシュしません。
一時的リダイレクトは、WEBページを更新しているときなど(リソースを作成、更新、削除しているとき)に一時的な進捗ページを公開するためにも利用されます。
302とは「Found]
WEBページが不測または何らかの理由により、一時的に利用できない状態であるときに使います。
GETメソッドは変更しません。
他のメソッドはGETに変更されるかもしれません。
303とは「See Other」
ページの再読み込みによって操作が再度実施されることを防ぐためにPUTやPOSTの後のリダイレクトで使用します。
GETメソッドは変更しません。
他のメソッドはGETに変更します(本文は失われます)。
307とは「Tempolaly Redirect」
WEBページが不測または何らかの理由により一時的に使用できない状態であるときに使います。
302と比較して、WEBサイトでGET以外の操作を使用できる場合に推奨されます。
検索エンジンは自身のリンクを更新しません。
メソッドと本文は変更しません。
仕様書ではメソッドの変更を意図していませんが、実際はメソッドを変更するユーザーエージェントが存在します。
GET以外のメソッドを使用するときの動作のあいまいさをなくすために307が定義されました。
「特殊」な場合は「300・304」を使う
304 (Not Modified) は、WEBページをローカルにキャッシュしている複製へリダイレクトします。
また 300 (Multiple Choice) は手動リダイレクトです。
ブラウザーがWEBページとして表示する本文には使用可能なリダイレクトのリストがあり、ユーザーはひとつ選択してクリックします。
300は「Multiple Choice」
使う場面は多くはありません。
本文内のHTMLページに選択肢の一覧がある場合です。
Linkヘッダーに「rel=alternate」がある場合は、機械可読な選択肢を提供することが推奨されます。
304は「Not Modified」
再検証された条件付きリクエストのために送信されます。
キャッシュされたレスポンスが最新であり、使用可能であることを示します。
初心者は「プラグイン」または「.htaccess」で「301または302」を簡単に設定するのがお勧め
初心者はプラグインや.htaccessの編集で簡単に設定できます。
Redirectionを使う
インストール方法や使い方はいろいろなところに載っています。
ここではプラグインのページを紹介しておきます。
プラグイン同士の相性があり、うまく動作しない場合もあります。
その場合は.htaccessの編集をするのが良いです。
.htaccessの設定を編集する
.htaccessファイルを使ったリダイレクトは、SEOにおいて最も推奨される方法の一つです。
.htaccessはWordPressをサイトにインストールしたら、フォルダの中に自動的に作成されるファイルです。
作業の前に必ずバックアップを取っておくことをお勧めします。
以下のコードをコピ&ペーストすればOKです。
(※「■■.html」から「▲▲.html」に転送する場合)
違う書き方もあると思います。
# リダイレクト処理 <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^■■.html$ https://www.〇〇.com/▲▲.html [L,R=301] </IfModule>
コメント