記事の移動時やカテゴリー変更時は301リダイレクト
SIRIUSでサイトを作っている時、こんな経験ないですか?
「この記事、別のカテゴリーに移動しよう」
「カテゴリーが合わなくなってきたから別のカテゴリー名に変えよう」
これはよくあることと言えばよくあることです、最初のうちはね。
しかしだからといってむやみに記事を移動したりカテゴリーをポンポンと変えていいかと言えばよくはないんです。
なぜなら…URLが変わってしまうから。
- URLが変わるとどうなる?
- 記事URLが変更になる例
- 301リダイレクトのやり方
- 1.ドメイン直下の特定の記事sample.htmlを特定のカテゴリー”ABC”内に移動した
- 2.”ABC”というカテゴリー名を”XYZ”に変更した
- 3.カテゴリー”ABC”内にさらにサブカテゴリー”DEF”を増やしそこに全記事を移動した
- 4.カテゴリー”ABC”内の特定の記事sample.htmlをサブカテゴリー”DEF”内に移動した
- 5.ドメイン直下の特定の記事sample.htmlを特定のサブカテゴリー”ABC/DFF”内に移動した
- 6.サブカテゴリー”DEF”内の全記事を親カテゴリー”ABC”内に一括移動した
- 7.サブカテゴリー”DEF”内の特定の記事sample.htmlを親カテゴリー”ABC”内に移動した
- 8.サブカテゴリー”DEF”内の特定の記事sample.htmlをドメイン直下に移動した
- 9.カテゴリー”ABC”内特定の記事sample.htmlを新ドメインの特定のカテゴリー”HIJ”内に移動した
- リダイレクト検証
- 内部リンクの修正
URLが変わるとどうなる?
たとえばカテゴリー「話題」というのがあったとして、そのスラッグ名に”topic”と付けていたとします。
ここで仮に「話題」カテゴリーに属する sample.html というページがあったとします。
この時のページURLは ドメイン/topic/sample.html となります。
ところが「話題」というカテゴリーを途中から「よく読まれる記事」というカテゴリーに、スラッグ名も”favorite”に新たに変えたとします。
すると”ドメイン/topic/sample.html”は”ドメイン/favorite/sample.html”に変化してしまいます。
”スラッグ”とは?
カテゴリー名が日本語の場合、URLに変換される際には”%e3%af%83%89...”といったような意味のない長い文字列のURLに変換(エンコード)されてしまいます。
そのため通常は日本語の意味に近い英単語を含む文字列を別途入力します。
これがスラッグと呼ばれるものです。
SIRIUSの場合はカテゴリーページの設定画面で”フォルダ名”というところがスラッグに当たります。
スラッグで指定する(URLに含まれる)英単語はSEOの効果を持つとも言われてます。
そのため検索されそうな(カテゴリーの内容を反映するような)英単語を意識して設定しておくといいでしょう。
じゃあURLが変わるとどうなるのか。
Googleにインデックスされている過去の記事は当然古いURLのままです。
ということは、その検索結果からページに飛ばされても「見つかりませんでした(404)」になっちゃいます。
これが1個2個ぐらいならまだしもどれも「見つかりません」になってしまったら「ダメだ、このサイト。二度と来ないぜ!」ってなるでしょう。
Googleさんも「どうしちゃったのこのサイト、全然記事がないじゃな~い」とサイト評価を落としかねません。
これは古いURLを自動的に新しいURLに切り替えてあげられれば「見つかりませんでした」は防げます。
こういった仕組みは通常301リダイレクトと呼ばれます。
一時的にではなく半永久的にURLを変更するという方法です。
これをやっておけば検索エンジンに嫌われることもなく、404エラーページが表示されることもなくなります。
古いURLの記事にさまざまな”評価”が付けられていた場合、URLが変わるとその価値はリセットされてゼロからの再スタートとなります。
でも301リダイレクトで飛ばした場合はその評価も引き継いでくれます。
そのため人気のあるページだった場合はおさらそのまま放置しないようにしましょう。
記事URLが変更になる例
記事URLが変更になるケースはいくつかあります。
- ドメイン直下の特定の記事”sample.html”を特定のカテゴリー”ABC”内に移動した
- ”ABC”というカテゴリー名を”XYZ”に変更した
- カテゴリー”ABC”内にさらにサブカテゴリー”DEF”を増やしそこに全記事を移動した
- カテゴリー”ABC”内特定の記事”sample.html”をサブカテゴリー”DEF”内に移動した
- ドメイン直下の特定の記事”sample.html”を特定のサブカテゴリー”DFF”内に移動した
- サブカテゴリー”DEF”内の全記事を親カテゴリー”ABC”内に移動した
- サブカテゴリー”DEF”内の特定の記事”sample.html”を親カテゴリー”ABC”内に移動した
- サブカテゴリー”DEF”内の特定の記事”sample.html”をドメイン直下に移動した
- カテゴリー”ABC”内特定の記事”sample.html”を別ドメインの特定のカテゴリー”HIJ”内に移動した
ここからはケースに応じて301リダイレクトの書き方をご紹介します。
301リダイレクトのやり方
カスタマイズの際の注意点として、失敗したときには元に戻せるようオリジナルファイルのコピーは必ず作ってください。
不安な方はサイトのバックアップを事前に作成しておくとより安心です。
「サイトオプション」→「.htaccess」を開きます。
”.htaccess下部”に「URLが変わったので自動的に新しいURLに飛ばしてね」という命令を書き込んでいきます。
サイトURLに関してはわかりやすいように当サイトのドメイン(https://dramatic-sirius.com/)を充ててるので、実際の変更の際にはあなたのサイトURLに変更してください。
半角スペースなどもきちんと書く必要があります。
これ以降はちょっとでも間違えるとページが表示されないなどのトラブルが起きやすいエリアとなってます。
カスタマイズの前には万が一の際に元の環境に戻せるよう「.htaccess」の中身を必ずコピーして保存しておいてください。
何も書いてない場合はそのままにしておき、トラブルが発生したら元のように「.htaccess」の中身を全削除するだけです。
1.ドメイン直下の特定の記事sample.htmlを特定のカテゴリー”ABC”内に移動した
【書き方】
Redirect☐permanent☐/sample.html☐https://dramatic-sirius.com/ABC/sample.html
☐は実際には半角スペースに置き換えてください。
選択範囲指定後、[ctrl]+[C]でコピーできます。
『Redirect permanent /...』の『/』のところは、その前までがドメインであることを意味します。
つまり『Redirect permanent /...』というのは『Redirect permanent https://dramatic-sirius.com/...』という意味になります。
sample2.html という別の記事もカテゴリー”ABC”内に移動したときは、新たに
Redirect permanent /sample2.html https://dramatic-sirius.com/ABC/sample2.html
と行を変えて書き足します。
2.”ABC”というカテゴリー名を”XYZ”に変更した
【書き方】
Redirect☐permanent☐/ABC/☐https://dramatic-sirius.com/XYZ/
3.カテゴリー”ABC”内にさらにサブカテゴリー”DEF”を増やしそこに全記事を移動した
【書き方】
Redirect☐permanent☐/ABC/☐https://dramatic-sirius.com/ABC/DEF/
4.カテゴリー”ABC”内の特定の記事sample.htmlをサブカテゴリー”DEF”内に移動した
【書き方】
Redirect☐permanent☐/ABC/sample.html☐https://dramatic-sirius.com/ABC/DEF/sample.html
5.ドメイン直下の特定の記事sample.htmlを特定のサブカテゴリー”ABC/DFF”内に移動した
【書き方】
Redirect permanent☐/sample.html☐https://dramatic-sirius.com/ABC/DEF/sample.html
6.サブカテゴリー”DEF”内の全記事を親カテゴリー”ABC”内に一括移動した
【書き方】
Redirect☐permanent☐/ABC/DEF/☐https://dramatic-sirius.com/ABC/
7.サブカテゴリー”DEF”内の特定の記事sample.htmlを親カテゴリー”ABC”内に移動した
【書き方】
Redirect☐permanent☐/ABC/DEF/sample.html☐https://dramatic-sirius.com/ABC/sample.html
8.サブカテゴリー”DEF”内の特定の記事sample.htmlをドメイン直下に移動した
【書き方】
Redirect☐permanent☐/ABC/DEF/sample.html☐https://dramatic-sirius.com/
9.カテゴリー”ABC”内特定の記事sample.htmlを新ドメインの特定のカテゴリー”HIJ”内に移動した
【書き方】
Redirect☐permanent☐/ABC/sample.html☐https://siriusupgrade.com/HIJ/sample.html
リダイレクト検証
きちんとリダイレクトされてるかどうかを確認したいという方にはこんな確認ツールもあります。
URL欄に「検証したいページのURL(旧URL)」を入れて「チェックする」をクリックすると、ちゃんと301リダイレクトで新しいページに飛んでいるかのチェックができます。
うまくリダイレクトが行われていると下のようなステータスが表示されます。
「リダイレクトチェック」で検索すれば他の301リダイレクト検証サービスも見つかりますよ。
新しいURLへの移動に関しては早ければ2,3ヵ月、長くても半年も放っておけばGoogleに認識されるハズです。
そのため半年も経てば.htaccess に書いたリダイレクト情報は消してもいいっちゃいいのですが、気になる人はそのまま書きっぱなしでも問題ありません。
きちんと確認してから消したいのであれば、半年ぐらいして.htaccessに書いたものを全部消して再アップロードし、検証サービス等で古いURLを1個1個チェックしてみるといいでしょう。
(※バックアップは必ず取っておきましょう)
内部リンクの修正
301リダイレクトの設定自体は上記で終了となります。
しかしながら内部リンク情報は古いURLへのリンクが付いたままです。
もちろんそのままでもリダイレクトしてくれるので放置しておいても問題ないですが、将来的なことを考えたらサイト内部のリンク情報も早めに修正しておいた方が無難です。
これは『記事の置換』ツール([ctrl]+[R])を使うと短時間で修正が終わります。
古いバージョンのSIRIUSでは[ctrl]+[F]が記事の置き換えツールのショートカットになってます。
ただし一瞬で置き換えられてしまうのと元に戻せないので注意が必要です。
カスタマイズの際の注意点として、失敗したときには元に戻せるようオリジナルファイルのコピーは必ず作ってください。
不安な方はサイトのバックアップを事前に作成しておくとより安心です。
コツは置き換えしたい部分だけが選択されるように記入することです。
たとえばドメイン直下の特定の記事sample.html を特定のカテゴリー”ABC”内に移動した場合、URLの移動はこんな↓ふうになります。
ドメイン/sample.html→ドメイン/ABC/sample.html
この場合、古いURLへの内部リンクは
<a href="<% pageDepth %>sample.html">○○○</a>
となっているはずです。
これを新URLに変更したいので『検索する文字列』には
href="<% pageDepth %>sample.html"
『置き換えする文字列』には
href="<% pageDepth %>ABC/sample.html"
と打ち込みます。
こうすればリンクだけを置き換えることができます。
『記事の検索』ツール([ctrl]+F)を使った修正方法もあります。
古いバージョンのSIRIUSには『記事の検索』ツールは搭載されてません。
こちらは一つ一つ確認しながらマニュアル(手動)で修正していくので多少の面倒くささはありますが、確認しながら置き換えることができます。
記事の検索機能についてはこちら↓をご覧ください。
SIRIUSver.1.5のアップデートで「記事本文の検索機能」がようやく搭載されました。