Googleにインデックスされないサイトを、構造から立て直した話

運営しているAmazon売れ筋ランキングは、Amazon公式APIからランキングを毎日自動取得して公開しているデータサイトです。仕組みは順調に回っていたのですが、ひとつ大きな問題がありました。Googleにまったくインデックスされないのです。
Search Console で全URLを検査すると、結果はきれいに2種類に分かれていました。トップページやカテゴリページは「Crawled - currently not indexed」(クロール済み・インデックス未登録)、記事ページの多くは「URL is unknown to Google」(存在すら知られていない)。robots.txt・canonical・sitemap・構造化データはすべて健全。つまり技術的な問題ではなく、「このサイトはインデックスする価値がない」と品質面で判断されている状態でした。
原因の仮説
自動生成サイトがこの判定を受ける理由は、調べていくとだいたい3つに集約されました。
- 1ページあたりの独自テキストが薄い — 商品タイトルと順位だけのページは、Amazonのデータの並べ替えでしかない
- どのページも同じ構造・同じ定型文 — 全カテゴリ共通のテンプレFAQは、いわゆるドアウェイページのシグナルになる
- 外部からの被リンクがほぼゼロ — 新規ドメインのサブドメインで、クロールの優先度が上がらない
テキストを少し足して再クロールを待つ、程度の小手先では判定は覆りませんでした(実際に一度試して、再クロール後も不合格でした)。そこで構造から立て直すことにしました。
やったこと
1. インデックス対象を絞り込む
30カテゴリを全部インデックスさせるのをやめ、差別化したコンテンツを用意できる14カテゴリだけをindex対象にして、残りは一時的にnoindexにしました。逆張りに見えますが、サイト全体の品質評価は「ページの平均値」で見られるため、薄いページを大量に見せるより少数精鋭のほうが有利という判断です。noindexは可逆なので、ページを充実させたものから順次復帰させています。
2. 残したページの中身を本気で書く
各カテゴリの「選び方ガイド」を、3行のあいさつ文から2,000字超の本気のガイド(選び方の軸・用途別の選び分け・よくある失敗・固有FAQ)に書き直しました。実際にランキングに載っている製品を踏まえた内容にしています。たとえばノートPCカテゴリの下部に、その全文が載っています。
3. 「毎日変わる文章」を自動生成する
ランキングの順位履歴は毎日蓄積しているので、そこから「首位の連続日数」「急上昇」「TOP10の入れ替わり」を検出して、2〜4文の日本語解説を毎朝自動生成する仕組みを作りました。テンプレ感が出ないよう文パターンを日替わりで変え、同じ日に再実行しても出力が揺れないようシードは日付から決めています。これで全カテゴリページとトップページに「昨日とは違う、意味のあるテキスト」が毎日載るようになりました。
4. 発見経路の修理と被リンク
サイトマップから漏れていた週間トレンドのバックナンバーを収載し、姉妹ブログの関連記事から文脈付きのリンクを張りました。単なるフッターリンクより、記事本文からの「この比較の実売データはこちら」のようなリンクのほうが効くはずです。
学び
- 技術SEOが健全でもインデックスされないなら、残る原因はコンテンツの実質。チェックリストの再確認を何周しても状況は変わらない
- 自動生成サイトこそ「人が書いた部分」と「毎日変わる部分」の両方が要る。静的なガイドだけでも、自動の羅列だけでも足りない
- 判定はすぐには覆らない。再クロールと再評価のサイクルは週単位なので、施策を出し切ったら数週間は待つと決めて、その間は別の改善をする
結果が出るのはこれからですが、同じ「Crawled - currently not indexed」に悩んでいる個人開発者の参考になれば嬉しいです。仕組みづくりの話は「GitHub Actions で毎日データを自動収集する」にも書いています。