301リダイレクト-SIRIUS2

301リダイレクト-SIRIUS2

記事タイトルを変更したり記事を別のカテゴリーに移動したら301リダイレクトの設定が必要です。
 

アイキャッチ画像

当サイトでは基本的にベーステンプレートでの動作検証となってます。

そのため他のテンプレート利用時にはここで使用しているキャプチャ画像とは若干異なる場合もあります。

また他のテンプレート利用時には場合によっては動作に多少の違いが生じる可能性もありますこと予めご了承ください。

 

SIRIUS2でサイトを作っている時、こんな経験ないですか?

 

「この記事、やっぱり別のカテゴリーに移動しよう」

「カテゴリーが合わなくなってきたから別のカテゴリー名に変えよう」

 

これはよくあることと言えばよくあることです、最初のうちはね。

だからといってむやみに記事を移動したりカテゴリーをポンポンと変えていいかと言えばよくはないんです。

 

なぜなら…URLが変わってしまうから。

 

『ページの生成先フォルダ』を「全て同じ階層に出力する」を選択している方は、記事タイトルやカテゴリー名などを変更した時だけ当ページの内容をご覧になるといいでしょう。


URLが変わるとどうなるか

たとえばカテゴリー「話題」というのがあったとして、そのファイル名(スラッグ)”topic”と付けていたとします。

(”スラッグ”というのはURLの一部の文字列で自由に設定ができる部分を指します)

 

ここで仮に「話題」カテゴリーに属するsample.htmlというページがあったとします。

この時のページURLは https://(ドメイン)/topic/sample.html となります。

 

ところが「話題」というカテゴリーを途中から「よく読まれる記事」というカテゴリーに、スラッグも”favorites”に変えたとします。
すると”https://(ドメイン)/topic/sample.html””https://(ドメイン)/favorites/sample.html”に変わってしまいます。

 

じゃあURLが変わるとどうなるのでしょうか。

 

Googleにインデックスされている過去の記事(旧URL)は当然古いURLのままです。

ということはその検索結果からページに飛んでも「見つかりませんでした(404)」になっちゃいます。

 

これが1個2個ぐらいならまだしもどれも「見つかりません」になってしまったら「ダメだ、このサイト。二度と来ないぜ!」ってなるかもしれません。

Googleさんも「どうしちゃったのこのサイト、全然記事がないじゃな~い」ということでサイト評価を落としかねません。

 

これは古いURLを自動的に新しいURLに切り替えてやれば「見つかりませんでした」は防げます。

 

こういった仕組みは通常301リダイレクトと呼ばれます。

一時的にではなく”半永久的にURLを変更します”という手法です。

 

これをやっておけば検索エンジンに嫌われることもなく、404エラーページが表示されることもなくなります。

古いURLの記事にさまざまな”評価”が付けられていた場合、URLが変わるとその価値はリセットされてゼロからの再スタートとなってしまいます。

でも301リダイレクトで飛ばした場合はその評価も引き継いでくれます。

 

そのため人気のあるページだった場合はおさらそのまま放置しないようにしましょう。

301リダイレクトのやり方

記事URLが変更になるケースはいくつかあります。

ここではケースに応じて301リダイレクトの書き方をいくつかご紹介します。

ご利用に際して

この先は「サイトが正しく表示されない」などのトラブルが発生する可能性もあるカスタマイズになりますゆえ、ご利用に際しては自己責任にてお願いします。

心配な方はカスタマイズする前のデータをコピーするなどしてバックアップをとっておいてください。

 

「サイトオプション」→「.htaccess」を開きます。

”.htaccess上部”に「URLが変わったので自動的に新しいURLに飛ばしてね」という命令を書き込んでいきます。
(状況に応じて.htaccess下部もあり)

 

ドメイン直下の記事sample.htmlカテゴリー”ABC”内に移動

https://(ドメイン)/sample.html→https://(ドメイン)/ABC/sample.html

【書き方】

Redirect☐permanent☐/sample.html☐https://(ドメイン)/ABC/sample.html

(ドメイン)とある部分は当サイトで言えば「sirius2-dig.com」の部分になります。

は実際には半角スペースに置き換えます。

『Redirect permanent /』はそこまでがドメインであることを意味します。

 

つまり『Redirect permanent /』というのは『Redirect https://(ドメイン)/』という意味です。

追加でsample2.html という別の記事もカテゴリー”ABC”内に移動したときは、先の記述の最後で改行して新たに

『Redirect permanent /sample2.html https://(ドメイン)/ABC/sample2.html』

と書き足します。

ABC”というカテゴリー名を”XYZ”に変更

https://(ドメイン)/ABC/xxx.html→https://(ドメイン)/XYZ/xxx.html

【書き方】

Redirect☐permanent☐/ABC/☐https://(ドメイン)/XYZ/

abc(.html)”というファイル名を”xyz(.html)”に変更

https://(ドメイン)/abc.html→https://(ドメイン)/xyz.html

【書き方】

Redirect☐permanent☐/abc.html☐https://(ドメイン)/xyz.html

カテゴリー”ABC”内の記事sample.htmlをサブカテゴリー”DEF”内に移動

https://(ドメイン)/ABC/sample.html→https://(ドメイン)/ABC/DEF/sample.html

【書き方】

Redirect☐permanent☐/ABC/sample.html☐https://(ドメイン)/ABC/DEF/sample.html

サブカテゴリー”DEF”内の全記事を親カテゴリー”ABC”内に一括移動

https://(ドメイン)/ABC/DEF/xxx.html→https://(ドメイン)/ABC/xxx.html

【書き方】

Redirect☐permanent☐/ABC/DEF/☐https://(ドメイン)/ABC/

旧ドメインのカテゴリー”ABC”内の記事sample.htmlを新しいドメインのカテゴリー”HIJ”内に移動

https://(旧ドメイン)/ABC/sample.html→https://(新ドメイン)/HIJ/sample.html

【書き方】

Redirect☐permanent☐/ABC/sample.html☐https://(新ドメイン)/HIJ/sample.html

リダイレクト検証

きちんとリダイレクトされてるかどうかを確認したいという方にはこんな確認ツールもあります。

リダイレクトチェック

 

URL欄に「検証したいページのURL(旧URL)」を入れて「チェックする」をクリックします。

 

キャプチャ画像

 

うまくリダイレクトが行われていれば下のようなステータスが表示されます。

 

キャプチャ画像

 

何らかの記述ミスなどがあれば下のようなエラー表示になります。

 

キャプチャ画像

 

サイト管理人

筆者

 

301リダイレクトチェック」で検索すれば他の301リダイレクト検証サービスも見つかります。

新しいURLへの移動に関しては早ければ2,3ヵ月、長くても半年も放っておけばGoogleに認識されるかと思います。

その頃には.htaccess に書いたリダイレクト情報は消してもいいっちゃいいのですが、気になる人はそのまま書きっぱなしでも問題ありません。

 

ただし消す場合は.htaccessに書いたものを全部消して再アップロードし、検証サービス等で古いURLを1個1個チェックして問題ないことを確認してから消した方がいいです。

(※.htaccessのバックアップは必ず取っておきます)

内部リンクの修正

301リダイレクトの設定自体は上記で完了です。
しかしながら記事内に設置したリンク情報は古いURLへのリンクが付いたままです。

 

もちろんそのままでもリダイレクトしてくれるので放置しておいても問題はないんですが、将来的なことを考えたらサイト内部のリンク情報も早めに修正しておいた方が無難です。

 

これは『記事の置換』ツール(ctrlRを使うと短時間で修正が完了します。

ただし一瞬で置き換えられてしまうのと元に戻せないので注意が必要です。

(実行前にサイトのバックアップをとっておくことをおススメします)

 

キャプチャ画像

 

コツは置き換えしたい部分だけが選択されるように記入することです。

たとえば『ドメイン直下の記事sample.htmlをカテゴリー”ABC”内に移動』した場合、URLの変更は下のようになります。

https://(ドメイン)/sample.html→https://(ドメイン)/ABC/sample.html

 

この場合、古いURLの内部リンクは

<a href="<% pageDepth %>sample.html">○○○</a>

となっているはずです。

 

これを新しいURLに変更したいので『検索する文字列』には

href="<% pageDepth %>sample.html"

とだけ書き、『置き換えする文字列』には

href="<% pageDepth %>ABC/sample.html"

と記述します。

こうすればリンクだけを置き換えることができます。

リンクカードに関しては再設定が必要になります。

 

『記事の検索』ツール(ctrlFを使った修正方法もあります。

 

こちらは一つ一つ確認しながらマニュアル(手動)で修正していくので多少の面倒くささはありますが、確認しながら置き換えることができます。