カバレッジが長期間「URL が Google に登録されていません」のまま変わらない

  1. 新規 URL が長期間インデックス登録されない
  2. そもそもクロールされていないので品質の問題では無いのでは?
  3. インデックスされるサイトとされないサイトがある
  4. インデックスされるサイトとされないサイトの違いとは
  5. 対応策

1. 新規 URL が長期間インデックス登録されない

Google Search Console で新規 URL のインデックス登録をリクエストしても、長期間にわたってインデックス登録されない状態になっています。私が認識した限りでは 2021 年 10 月ごろからこの状態です。

状況としては下記の通り「カバレッジ」欄が「URL が Google に認識されていません」もしくは「検出 - インデックス未登録」となっていて、「前回のクロール」欄も「該当なし」になっています。

状況としては、対象の URL に対してクロールが行われていない状態です。

数日間であればクロールされないことはあると思いますが、何度かインデックス登録をリクエストし直しているにもかかわらず2ヶ月もの間クロールすらされないとなると話が変わってきます。

2. そもそもクロールされていないので品質の問題では無いのでは?

この件に関して軽く Twitter を漁ってみたところ、「Google の品質基準が上がったためにインデックスされなくなったのでは」という説をちらほら見ましたが、それは少し違う気がしています。

なぜかというと、上記の通りそもそもクロールすらされておらず、品質の判断もまだな状態だからです。

そして、クロールされた上でインデックスされない状況があれば、通常はサーチコンソールそのその理由が確認できます。

3. インデックスされるサイトとされないサイトがある

私は複数のサイトを運営していますが、その中で今もインデックスされ続けているサイトとインデックスが止まってしまっているサイトがあります。

細かいことを言うと、新規の記事がインデックスされているサイトとされていないサイトがあります。どちらのサイトも既存の記事はそれなりの間隔でクロールされている様です。

実際、インデックスされているサイトは「インデックス登録のリクエスト」の数時間後にはクロールされインデックス登録が完了したりしている一方、インデックスされていないサイトは 10 月以降新規で作成した記事が一切クロールされていない状況です。

4. インデックスされるサイトとされないサイトの違いとは

どちらのサイトも私が記事を書いているので、サイト間で記事の品質は大きく変わらないと思っています。

では何がインデックスされるサイトとされないサイトを分けているのか。

これはあくまで個人的な推測ですが、先ほど触れた2つのサイトの一番大きな違いはサイト全体のアクセス数だと思います。

想像するに、サイト全体の検索パフォーマンスが新規 URL に対するクロールの優先度の判断に影響しているのではないかと思います。

サイト全体の検索流入数が少ないとクロールの優先度がかなり低くなっている様に見えます。

「じゃあ新規で立ち上げたサイトは現時点で検索流入が少なくて新規の記事もインデックスされなかったら一生インデックスされないじゃないか」とも思いますが、そこはさすがに考慮してくれてるとは思います。

5. 対応策

ではサイト全体の検索パフォーマンスを上げるにはどうすべきかですが、新規をクロールしない間も既存の記事はクロールしてくれているということで、単純に既存の記事の検索パフォーマンスを上げていくことに注力する他ないかなと思います。

あくまで推測でしかないのですが、既存の記事の検索パフォーマンスが上がれば新規 URL がクロール対象に含まれるのではと淡い期待を持っています。

サーチコンソールの「URL が Google に認識されていません」を robots.txt の作成で解決

エラー「インデックス登録リクエストに失敗しました」

今回の問題は Google のサーチコンソールで「インデックス登録をリクエスト」をクリックした際に「インデックス登録リクエストに失敗しました」と表示され、下記の症状が出るというもの。

  • ステータスは「URL が Google に登録されていません」と表示される。
  • カバレッジは「URL が Google に認識されていません」と表示され具体的な原因がわからない。

解決方法

色々調べてみたところ robots.txt を作成する必要がある様です。

robots.txt というと、通常はサイトに対するクロールを拒否する目的で設定することが多そうですが、少なくとも Google サーチコンソールではクロールして欲しい場合でも作成し、明示的に許可する必要がある様です。

robots.txt の作成

robots.txt のファイルの内容としてはとりあえず下記にしておけば大丈夫そうです。

User-agent: *
Allow: /

Nginx での robots.txt 設定

ここからは Nginx で robots.txt を設定する方法ですが、robots.txt をルートディレクトリに配置し、設定ファイルに下記の形で記述します。

location = /robots.txt {
        alias /ルートディレクトリのパス/robots.txt;
}

URL に「/robots.txt」が含まれる場合にサーバー上の robots.txt を参照するという意味です。

ブラウザの URL で「ドメイン名/robots.txt」を叩いた時に下記の様に表示されれば大丈夫なはずです。

ファイルの変更の反映

Nginx の設定ファイルを色々いじって、Nginx を restart してもうまく反映されない様な場合は、Chrome のシークレットモードやブラウザのキャッシュを削除して再度試してみると反映されたりします。

robots.txt テスターで robots.txt ファイルを Google へ送信

過去に Google のクロールを受け付けない形の robots.txt を Google 側で認識してしまっている場合、その後ファイルを編集してインデックス登録のリクエストを行っても引き続きエラーが出てしまいます。

この場合、robots.txt テスターから編集後の robots.txt を Google に送信し、認識してもらう必要があります。

Google Search Console - robots.txt テスター

注意点

Google サーチコンソールでドメインプロパティの登録しかない場合、対象プロパティを選択する際にサイトが表示されず robots.txt テスターを使うことができません。この場合一度 URL プレフィックスプロパティも登録する必要があります。

さくらインターネットの DNS 設定のゾーン情報を理解したい

さくらインターネットのドメイン管理画面でドメインのゾーン情報をヘルプページを見ながらなんとか設定しました。

ただ、「CNAME」や「MX」など、それぞれの項目が何を意味しているのかわからなかったので調べたことをまとめます。

さくらインターネットの管理画面で設定した内容は下記の画像の通り。ドメイン名「meatthezoo.com」に対して設定しました。

設定内容

簡単ですがそれぞれの設定の意味は下記の通り。

エントリ名タイプデータ説明
@NSns1.dns.ne.jp.「meatthezoo.com」に対してさくらインターネット運営の権威DNSサーバー「ns1.dns.ne.jp.」を指定。
@NSns2.dns.ne.jp.「meatthezoo.com」に対してさくらインターネット運営の権威DNSサーバー「ns2.dns.ne.jp.」を指定。
@A123.456.78.90「meatthezoo.com」を IP アドレス「123.456.78.90」で使用する。
@MX10 @「meatthezoo.com」をメールサーバーに使用する。優先度を 10 に設定。
wwwCNAME@サブドメイン「www」を使用した場合にホスト「meatthezoo.com」と同じ設定を適用する。
mailCNAME@サブドメイン「mail」を使用した場合にホスト「meatthezoo.com」と同じ設定を適用する。
ftpCNAME@サブドメイン「ftp」を使用した場合にホスト「meatthezoo.com」と同じ設定を適用する。

たびたび出てくる「@」は設定対象のドメイン自身(今回の場合 meatthezoo.com)を表すそうです。

タイプとは

「タイプ」項目に登場した文字列の意味は下記の通りです。他にも種類がある様ですがとりあえず今回のゾーン情報の設定に出てきたものだけまとめます。

タイプ意味
NSゾーン情報を管理するネームサーバーのサーバー名を定義するレコード。ホスト(FQDN)をAレコードとして設定されていることが必要。
AIPv4でホスト名とIPアドレスの関連づけを定義するレコード。「www」などのホスト名を入力し、VALUEにグローバルIPアドレスを入力することによって、サーバーへの名前解決が行われる。
CNAME正規ホスト名に対する別名を定義するレコード。ホスト(FQDN)をAレコードとして設定されていることが必要。
MX対象ドメイン宛のメールの配送先(メールサーバ)のホスト名を定義するレコード。ホスト(FQDN)をAレコードとして設定されていることが必要。