はじめに

独自ドメインを取得してWebサイトを公開した際、Googleなどの検索エンジンに正しく、そして素早く登録(インデックス)してもらうために必須なのが Google Search Console(グーグル・サーチ・コンソール) への登録です。

今回、Astroで構築したブログを独自ドメイン(dreindeer.com)で公開したのに合わせ、Search Consoleへの登録を行いました。その際、ドメイン変更に伴うAstro特有の設定のズレなど、いくつか注意すべきポイントがあったため技術記事として記録します。

この記事でわかること:

  • Google Search Console への登録と Cloudflare を使ったDNSでの所有権確認の手順
  • ドメイン変更時に Astro プロジェクト側で修正すべき設定(astro.config.mjsrobots.txt
  • Search Console へのサイトマップ送信とインデックス登録リクエストのやり方

1. Google Search Console への登録と所有権の確認

まずは Search Console にログインし、サイト(プロパティ)を登録します。

ドメインプロパティでの登録

Search Consoleには「ドメイン」と「URLプレフィックス」の2つの登録方法があります。 今回は、http / httpswww の有無をすべてまとめて管理できる 「ドメイン」 形式で dreindeer.com を登録しました。

Cloudflare を使ったDNS認証

ドメインの所有権を確認するため、DNSレコードにTXTレコードを追加する必要がありますが、ネームサーバーに Cloudflare を使用している場合は非常に簡単です。

  1. Search Console画面で「確認を開始」を押すと、Cloudflareとの連携画面が開きます。
  2. 画面の指示に従って承認すると、CloudflareのDNSに自動的に必要な確認レコードが追加されます。
  3. Search Consoleに戻り「確認」ボタンを押すだけで、一瞬で所有権の確認が完了します。

2. Astroプロジェクトにおけるドメイン変更時の落とし穴

所有権の確認が完了したら、Googleにサイト内を巡回してもらうための「サイトマップ(Sitemap)」を送信しますが、ここでAstroプロジェクト側に設定のズレがあるとエラーになります。

落とし穴①:astro.config.mjssite 設定

Astroで @astrojs/sitemap インテグレーションを使用している場合、サイトマップ(sitemap-index.xml)に書き出される各ページのURLは、設定ファイル内の site オプションを基準にして自動生成されます。

ここが以前のテスト用ドメイン(xxx.pages.dev)のままだと、生成されるサイトマップ内のURLがすべて古いドメインのままになってしまいます。

対策: astro.config.mjssite を新しい独自ドメインに修正します。

// astro.config.mjs
export default defineConfig({
  site: 'https://dreindeer.com', // 独自ドメインに変更
  integrations: [sitemap()],
  // ...
});

落とし穴②:robots.txt 内のサイトマップURL

クローラーに対してサイトマップの場所を伝える public/robots.txt 内の記述も、古いドメインのままになっているとクローラーが古いサイトマップを読みに行ってしまいます。

対策: public/robots.txt 内の Sitemap の記述も、新しいドメインの絶対URLに書き換えます。

# public/robots.txt
User-agent: *
Allow: /

Sitemap: https://dreindeer.com/sitemap-index.xml # 独自ドメインに変更

3. Search Console へのサイトマップ送信

Astro側の設定を修正してデプロイが完了したら、Search Console の左メニュー「サイトマップ」からサイトマップを送信します。

ここでも少し注意点があります。

  • URLプレフィックスプロパティで登録している場合、入力欄に sitemap-index.xml(ファイル名のみ)を入力します。
  • ドメインプロパティで登録している場合、入力欄の左側にドメイン名が自動表示されないため、https://dreindeer.com/sitemap-index.xml とフルURLを入力して送信する必要があります。

正しく送信されると、ステータスが「成功しました」になり、Googleがサイト内のページを漏れなく把握できるようになります。


4. さらにクロールを早める「インデックス登録リクエスト」

サイトマップを登録しただけでもいずれクローラーが来ますが、公開したての実績のないドメインの場合、巡回が後回しにされることがあります。 早く検索結果に載せたい場合は、手動でリクエストを送るのが効果的です。

  1. Search Console 上部の検索窓(「〜内のすべてのURLを検査」)に、トップページ(https://dreindeer.com/)などのURLを入力します。
  2. 「インデックス登録をリクエスト」をクリックします。

今回のケースでは、リクエストの送信後、非常にスピーディにGoogleにインデックスされ、「夢鹿ノート」のキーワード検索で無事にサイトがヒットするようになりました!


まとめ

Astroのような静的サイトジェネレーターは、ビルド時にサイトマップを自動生成してくれるため非常に便利です。しかし、「ドメインの移転・変更時には設定ファイル(astro.config.mjs)や静的ファイル(robots.txt)のURLも併せて更新する必要がある」 という点を見落としがちです。

ドメインを変更した際は、これらの設定が正しいドメインを指しているか、ビルドされたサイトマップの中身が新ドメインになっているかを必ず確認しましょう。