[対象: 中〜上級]
ドメイン名の移転のようにURLを変更する時は301リダイレクトを設定するのが鉄則です。
でも無料ブログや無料のホームページスペースなど301リダイレクトを設定できない環境でサイトを運営している人もいます。
そんな時は待機時間を0秒にしたmeta refreshタグかrel=”canonical”タグを使う代替手段が考えられます。
この待機時間なしのmeta refreshとrel=”canonical”との併用についてSEOmozのRand Fishkin(ランド・フィッシュキン)氏とGoogleのMatt Cutts(マット・カッツ)氏がツイートでやり取りしていました。
301を使えないサイトだったとする。待機時間なしのmeta refreshとrel=”canonical”を組み合わせて使ったことのある人はいる? 検索エンジンにとっては問題ないと思うんだが。
0秒のmeta refreshは僕だったら使わないな。rel=”canonical”だけを使う。こんなケースではそれがぴったりだ。
でも正規化したページ(転送先ページ)に訪問者をリダイレクトすることもやりたいんだけど301が使えないんだ。他に方法はある?
Javascriptを使えばいいのかも……
個人的な意見だけど、A.comというドメインのページをタイプしてB.comにリダイレクトされたら不快に感じるね。だから、
リンクをクリックするように事情を説明しておくほうがいいと思う。で、0秒じゃないmeta refreshでもいいかな。そうすればたどり着いた人にはもっと(ページが移転した)意味がわかるだろう。
だけど0秒のmeta refreshは状況によっては今でもスパムっぽく見られることがあるんだ。
でもそういうなら301リダイレクトもいつも悪いことになってしまわない? 同じ件について僕らは話してないのかもしれない。
ここで2人のやり取りは終わりです。
尻切れトンボのような感じで結論らしき結論は出ていません。
話が噛み合っていなかった可能性もあります。
Matt Cutts的には、待機時間を0秒に設定したmeta refreshタグを使うことはすすめていません。
理由はスパムにも利用されることがあるからです。
301リダイレクトとして処理されないことがあったり、間違ってスパム扱いされてしまったしするかもしれないということでしょう。
Rand Fishkin氏は、0秒のmeta refreshが301リダイレクト相当に上手に機能していることを最近確認しています。
RandがポロッとつぶやいているJavascriptのリダイレクトはやめたほうがよさそうに思えます。
0秒のmeta refreshよりももっとスパミーに映るでしょう。
僕の結論としては、Matt Cutts氏が言うように、rel=”canonical”で正規化して、元のページにはユーザーがクリックして移転先のページへ訪れるような説明書きを書いておくのが安心できる手段になりそうです。
オプションとして、0秒ではなく10秒後くらいの待機時間のmeta refreshを設定して一定の時間がたったら自動転送させてもいいですね。
検索エンジンには、URLの変更をrel=”canonical”で伝えられるしユーザーにはURLが変わったことを明示できます。
これが検索エンジンとユーザーの両方に対して、ベストではないにしてもより適切な方法なのかなと思いました(もっといい方法を思いついたら教えて)。
なお、「301リダイレクトはおろかheadセクションがいじれずrel=”canonical”もmeta refreshも書き込めないケースのURL変更はどうしたらいいですか?」という質問に対しては、「そんなサービスを使ってるほうが悪い、あきらめろ」と回答します。w