ブログの引っ越しをGoogle Botに知らせる

問題

学生時代に書いてたブログのドメインを、blog.degoo.org から frozen.degoo.org に変えた。
流入も特に無いし、SEO無視して雑にドメイン変更したんだけど、新ドメインのブログが数日たってもGoogleにインデキシングされない。 site:blog.degoo.orgでGoogle検索すると、SERP*1に404になるエントリが沢山残っていた。 この状態だと気持ち悪いので、すこしまじめに移行してみる。

前提

degoo.orgというドメインを持っているものの、基本的にSaaS (Google AppsとかTumblr) に割り当てる目的で使っている。 自前でサーバは一切持っていない。ここがちょっと面倒だった。

やったこと

1. 旧ドメインから新ドメインに 301 Redirect

ドメイン変更の場合は、ステータスコードとして 302 (一時的) ではなく、301 (恒久的) を返す必要がある。

  • Webサーバで301返したり、.htaccess を使うのは、そもそもサーバ持ってないので無理。
  • クライアント側で対処する方法としては、metaタグやJSで制御する方法があるが、Googleは非推奨。
  • お名前.com URL転送サービス が使えるのでは? と思ったものの、302 Redirectらしい…。(どういうときに使うんだろ? )

ということで、しかたなく、301 Redirectでリクエストを受け流すSinatraアプリを適当に書いて、Herokuにホストした。 Herokuのカスタムドメイン機能で、一時的に旧ドメイン (blog.degoo.org) をこのアプリに向けておいた。

これで旧ドメインの全ページが、新ドメインの該当ページに301リダイレクトされる。

2. Search Console からアドレス変更通知をする

アクセス数がそれなりにあるサイトなら、1 だけですぐにGoogle Botが検知してよしなにやってくれる。 今回はアクセス数がほぼゼロなサイトなので、こちらからGoogleに変更したことを教えてあげる。

やり方は簡単で、Googleが提供している Search Console (旧Webmaster Tool) の設定画面から、アドレス変更をするだけ。 新旧ドメインの所持確認を、Search Console から済ませていれば数クリックで変更通知ができる。

support.google.com

3. Fetch as Googleで新ドメインをインデキシングしてもらう

さらにダメ押しで、Google Botの尻を叩いてみる。 同じく Search Console に、Fetch as Google という機能があり、そこからインデックス登録対象URLの送信ができる。 ここからルートページを送信した上で、「このURLと直接リンクをクロールする」というオプションを設定すると下位ページもクロールされるはず。

www.suzukikenichi.com

4. しばらく待つ

数日待つと、ちらほら旧ドメインのSERPからエントリが減り、新ドメインがインデックスされはじめた。 これでゴミみたいなアクセス数のサイトの引っ越しを、なんとかGoogle Botに気づいてもらえた。

*1:Search Engine Result Page: 検索結果ページ