この記事では、SEO 初級者からよく聞かれる質問についてアドバイスします。今回取り上げる質問はこちらです。
サイト移転に限らず、URLを変更する場合はリダイレクトが必須です。主な理由は次の2つです。
- 古いURLにアクセスしたユーザーを自動的に新しいURLに転送する
- 検索エンジンの評価を新しいURLのページに引き継ぐ
SEO観点では、URLを変更する際は、301リダイレクトが推奨です。
※筆者補足:302リダイレクトを含む300番台のHTTPステータスコードを返すリダイレクトは、最終的にはすべてURL変更に有効。ただし処理時間を考慮すると301が絶対的に推奨される
今回の質問は301リダイレクトを設定できないケースでのURL変更方法です。
3つの方法があります。推奨順に次のとおりです。
- 1.
meta refresh
リダイレクト - 2.JavaScriptリダイレクト
- 3.Cryptoリダイレクト
それぞれのリダイレクトを順に説明します。
meta refreshリダイレクト
meta
タグのhttp-equiv
属性の値にrefresh
を指定します。かつ、待機時間を0秒に設定します。
たとえば、https://apple.example.com/hoge.html
をhttps://orange.example.com/hoge.html
に移転する場合は、移転元ページ(https://apple.example.com/hoge.html
)のhead
セクションに次のように記述します。
<head>
<meta http-equiv=”refresh” content=”0;
url=https://apple.example.com/hoge.html”>
…
<head>
http-equiv="refresh"
は固定です。変更する必要はありません。
content
の値は「0」です。転送が実行されるまでの待機時間を0秒に設定することで、永続的なURL変更としてGoogleに処理させることができます。
url
の値には、転送先の新しいURLを指定します。利用しているシステムによっては変数を利用できるので、多数のURLを移転する場合は変数を使って一括処理すると楽です(お使いのシステムで変数を利用できるかどうかはサポートに問い合わせてください)。
meta refresh
を記述する場所はどこでも構いませんが、ページの読み込みが始まってすぐに処理されるように、<head>
開始タグの直後がいいでしょう。
JavaScriptリダイレクト
301リダイレクトも使えず、meta refresh
リダイレクトも設定できない場合はJavaScriptリダイレクトを構成します。
JavaScriptリダイレクトを設定するには、head
セクションでのscript
タグでlocation
プロパティをリダイレクト先URLに設定します。
<head>
<script>
window.location.href = “https://orange.example.com/hoge.html”;
</script>
…
</head>
meta refresh
リダイレクトのときと同様に、<head>
開始タグの直後に記述することをおすすめします。
JavaScriptリダイレクトは、meta refresh
リダイレクトよりもさらに推奨度が下がりますが、今のGoogleはきちんとリダイレクト処理してくれるようです。Googleの検索セントラルサイトは、サイト移転にJavaScriptリダイレクトを採用したところ適切に移転処理されたとのことです。
Cryptoリダイレクト
最後は、Cryptoリダイレクトです。
「クリプト」と読みます。馴染みのない言葉ですが、Google検索チームの内部で使用している言葉をそのまま使っているようです。
Cryptoリダイレクトは、移転元ページに、移転したことを伝えるメッセージを下記、移転先ページへのリンクを貼る構成です。
たとえば、移転元ページ(https://apple.example.com/hoge.html
)に次のように記述します。
新しいページに移転しました。新しいページのURLはこちらです。
→ https://ogange.example.com/hoge.html
メッセージは移転したことがわかればなんでもいいです(極端に言えばなくてもかまいません)。ただし、新しいURLへのリンクは必須です。
実質的に転送していないので、Cryptoリダイレクトをリダイレクトと呼んでいいのかどうか微妙なところです。
Cryptoリダイレクトは、meta refresh
リダイレクトよりもJavaScriptリダイレクトよりもずっと信頼性が低いリダイレクトです。検索エンジンにURL変更として認識される保証はありません。他のどのリダイレクト方法も使えないときの最終手段です。
最後に
URLを変更するケースは多くはありません。それでも長い間サイト運営しているときっと遭遇するはずです。確実性が最も高い、サーバーサイドの301リダイレクトを設定できるサーバー/サービスを選択することも大切です。
リダイレクトに関する検索セントラルサイトの技術ドキュメントもお読みください。