Google Search Console、代替ページ(適切な canonical タグあり)
Google Search Consoleの管理画面で、
インデックス > カバレッジ > 除外
にチェックを入れます。
すると
- noindex タグによって除外されました
- クロール済み – インデックス未登録
- 代替ページ(適切な canonical タグあり)
のような項目が並んでいます。
それらの中から
「代替ページ(適切な canonical タグあり)」
をクリックすると、下記のような画面になります。
上記画面を見ると
- ttps://u-ff.com/~~~/?amp=1
という形式のURLが並んでいます。
「/?amp=1」というのはAMP用のURLです。
AMP(アンプ)というのは、サイトをスマホで見るときに、ページを高速表示するための仕組みです。
AMP用のURLが
インデックス > カバレッジ > 除外
に分類されているということは、AMP用のURLはインデックスされていないということ?
「?amp=1」をrobots.txtでクロール禁止にしてみる
- ttps://u-ff.com/~~~/?amp=1
のような形式のURLはインデックスが除外されていました。
それならば、クロールもしなくていいのではなないかと思い、robots.txtでクロール禁止にしてみました。
Disallow: /*?amp=1
上記のような1行をrobots.txtに書き加えました。
robots.txtについて、詳しくは下記の記事をご参照ください。
「?amp=1」をrobots.txtでクロール禁止にした結果
robots.txtでAMP用のURLをクロール禁止にした結果、
Google Search Consoleで
「リンク先のAMPバージョンをインデックスに登録できません」
というエラーが出てしまいました。
AMP用のURLは、インデックスはされないけれど、クロールは許可しないといけないようです。
AMPの仕組み
AMPは基本的にスマホ専用のページです。
画像サイズを小さくするなど、スマホでサイトを見たときにページを軽くしてくれます。
Googleの検索結果からブログなどを表示するとき、AMPありとAMPなしではデータの通信経路が違います。
普通は、「ブログ→スマホ」とデータが送信されるのですが、
AMPの場合は、「Google→スマホ」とデータが送信されます。
ブログのAMPが有効になっているかどうかは、ブログの設定によります。
AMPが有効になっていれば、Googleの「AMPキャッシュ」にブログのデータが保管されていて、それがスマホ上に表示されます。
このAMPキャッシュ上のデータは、Googleさんが自動的に生成してくれているんだと勘違いしていました。
実際には、AMPデータはブログ側で作成して、Googleさんはブログ側にあるAMPデータをコピーして保管してくれているだけでした。
- https://u-ff.com/google-search-console-robotstxt/
上記のURLに普通バージョンのデータが、下記のURLにAMPバージョンのデータがあります。
- https://u-ff.com/google-search-console-robotstxt/?amp=1
このURLへのクロールを禁止にしてしまうと、GoogleはAMP用データを「AMPキャッシュ」へコピーできなくなってしまいます。
つまり、下記のような
Disallow: /*?amp=1
AMPページへのクロールを禁止する設定をrobots.txtに書いてはいけません。
下記の記事にはrobots.txtで「replytocom」へのクロールを禁止にしたら、警告が表示された失敗談が解説してあります。
「?replytocom=」をクロール禁止にすると、「警告」でしたが、
「?amp=1」をクロール禁止にすると、「エラー」になります。
「警告」よりも「エラー」の方が深刻度が高いです。
まとめ
AMP用ページのURL(/?amp=1)をクロール禁止にしてはいけない。
robots.txtを設定した後は、Google Search Consoleの「robots.txt テスター」を使って動作確認ができます。
コメント
にゃんぷん待てる様
rinmuuですやっとここまでたどり着きました/?amp=1まだ解決していませんが
少しずつ解決しようと思います