WEBデザイン

サイト公開後も検索結果に仮ドメインが残る|原因と直し方、次の案件で防ぐチェックリスト

スポンサーリンク

公開したのに、検索結果に「仮ドメイン」が出続ける

新しいサイトを公開して数日後、クライアントから連絡が来ました。

「会社名で検索すると、変なURLのページが出てくるんですけど」

見てみると、検索結果に並んでいたのは、制作中に使っていた仮ドメイン(サーバー会社が発行する初期ドメインや、テスト用サブドメイン)のURLでした。独自ドメインで公開したはずなのに、Googleはまだ仮ドメインの方を「本物のサイト」だと思っている状態です。

私はこの問題を、自分の案件でも、他の制作者の相談でも、何度も見てきました。
原因はいつも同じで、公開時の「転送」と「リンク」の設定が甘いことです。
この記事では、なぜ起きるのか、起きたときどう直すか、次の案件で起こさないためのチェックリストをまとめます。

スポンサーリンク

なぜ仮ドメインが検索に残るのか

制作中のサイトは、仮ドメインでも普通にアクセスできます。検索エンジンのクローラーも、リンクをたどってそこに到達すると、ページを読み取ってインデックスしてしまいます。

公開後に独自ドメインへ切り替えても、Googleの中では「仮ドメインのページ」と「独自ドメインのページ」が、同じ内容の別のページとして存在しています。どちらを正とするかは、転送の種類やリンクの状態から判断されます。ここで設定が中途半端だと、仮ドメインの方が選ばれ続けます。

私が実際に見た原因は、次の3つが重なったケースでした。

  • 仮ドメインから独自ドメインへの転送が 302(一時的な転送) になっていた
  • サイト内のリンクや画像が、仮ドメインの絶対URLで書かれていた
  • canonical(正規URL)タグが仮ドメインのままだった

302は「一時的に別の場所にある」という意味なので、Googleは元のURL(仮ドメイン)を正として扱い続けます。さらに、サイトの中身が仮ドメインを指すリンクで埋まっていれば、「このサイトの本体は仮ドメインだ」という判断を補強してしまいます。

スポンサーリンク

直すための4ステップ

1. 転送を301にする

仮ドメインから独自ドメインへの転送を、301(恒久的な転送)に変更します。これが一番重要です。

サーバーの管理パネルに転送設定があればそこで、なければ仮ドメイン側の .htaccess に書きます。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^old-temp-domain\.example$ [NC]
RewriteRule ^(.*)$ https://www.new-domain.example/$1 [R=301,L]

設定後、仮ドメインのURLを開いて、独自ドメインの同じページに飛ぶことを確認します。トップページだけでなく、下層ページも試してください。

2. サイト内の絶対URLを置き換える

WordPressなら、「設定 > 一般」のWordPressアドレスとサイトアドレスを独自ドメインに変えたうえで、データベース内の仮ドメインURLを一括置換します。Better Search Replaceのようなプラグインを使うと、投稿本文・画像パス・テーマ設定の中に残った仮ドメインをまとめて置き換えられます。

静的HTMLのサイトなら、エディタの全文検索で仮ドメインを探し、相対パスか独自ドメインの絶対URLに直します。

3. canonicalとサイトマップを確認する

ページのソースを開いて、<link rel="canonical" href="..."> が独自ドメインになっているか確認します。SEOプラグインやテーマの設定で古いURLが残っていることがあります。

XMLサイトマップも、中のURLが独自ドメインになっているかを見ます。

4. Search Consoleで独自ドメインを登録し、仮ドメインの削除をリクエストする

独自ドメインをSearch Consoleに登録してサイトマップを送信します。仮ドメインもSearch Consoleに登録できるなら、「削除」ツールで仮ドメインのURLを一時的に検索結果から外せます。これは応急処置ですが、クライアントの目に触れる期間を短くできます。

どのくらいで直るか

私のケースでは、301転送と絶対URLの置き換えをしてから、検索結果が独自ドメインに入れ替わるまで2〜4週間かかりました。すぐには変わらないので、クライアントには「設定は済んでいて、検索エンジン側の反映待ち」と先に伝えておくと、問い合わせが減ります。

次の案件で起こさないためのチェックリスト

公開作業のときに、私はこの順で確認しています。

  • 制作中の仮ドメインには noindex を入れておく(公開時に外す)
  • 公開時に、仮ドメイン → 独自ドメインの転送を 301 で設定する
  • WordPressのサイトアドレスを変更したあと、データベース内の仮ドメインを一括置換する
  • ソースを開いて canonical とサイトマップのURLを確認する
  • 公開翌日、仮ドメインの下層ページを開いて転送されることを再確認する

正直に言うと、一番効くのは最初の「制作中はnoindex」です。そもそもインデックスされていなければ、公開後に残ることもありません。

まとめ

  • 仮ドメインが検索に残るのは、302転送・絶対URLの混在・canonicalの放置が原因
  • 直すには、301転送・URLの一括置換・canonicalとサイトマップの確認・Search Consoleでの処理
  • 反映には数週間かかるので、クライアントには先に伝えておく
  • 次からは「制作中はnoindex、公開時に301」を公開チェックリストに入れる

公開作業は案件の最後に来るので、どうしても急ぎがちです。でも、ここでの5分の確認が、公開後の数週間の問い合わせ対応を減らしてくれます。