AMP ProjectのGitHubページに登録されているリポジトリを見るとampproject/ampbenchというのを見つけました。なんでもAMPページのデバッグをしてくれるということで、早速使ってみました。

ブラウザからAMPBenchにアクセス

とりあえずブラウザからampbench.appspot.comにアクセスしてみてください。するとこんな感じのページが表されます。 上部にあるAMP URLにAMPページのURLを打ち込むと、AMPページの検証をしてくれます。試しにこのブログのトップページのURL“https://yukiyamashina.com/”を入れるとこんな結果が表示されます: AMP Checksでの各項目の説明は以下の通りです:
  • AMP URL – AMPページのURL。非AMPページが存在する場合はそのページ内の<link rel="amphtml" href="...">で設定されているURL
  • Canonical URL – AMPページ内の<link rel="canonical" href="...">のhrefで設定されているURL
  • AMP HTML Link in Canonical page? – canonicalで設定されているページ内にある<link rel="amphtml" href="...">で設定されているURL。AMPページしかない場合はURLは表示されない。
  • AMP HTML Link in AMP page? – AMPページに<link rel="amphtml" href="...">が設定されていないかどうか
  • AMP HTML Required Markup Issues [0] – AMP HTMLの最低限満たすべきマークアップを満たしているかどうか
  • Indexed in Google AMP Cache? – Google AMP CacheとGoogle AMP ViewerにAMPページが登録されているかどうか
  • Response Times (milliseconds) – canonicalページ、AMPページ、Google AMP Cacheの応答時間
  • Is access allowed for Googlebots? (robots.txt) – AMPページがrobots.txtで許可されているかどうか
  • Robots Meta Tag – metaタグでGoogle botのクロールが許可されているかどうか
  • X-Robots-Tag Header – ApacheでGoogle botのクロールが許可されているかどうか
  • Redirects via User Agent Googlebot Smartphone
AMPBenchではAMP Checks以外にもThe AMP Validatorでの検証結果、Top Stories Carousel for AMPに必要な構造化データの検証結果、構造化データテストツールでの検証結果を表示してくれます。例えばPHPでSearch Console API (Webmaster Tools API)を叩くのURLをAMPBenchにかけた結果はこんな感じになっています:

AMPBenchのAPIにアクセス

AMPBenchではブラウザでのアクセスに加えてAPIも用意されています。APIへはhttps://ampbench.appspot.com/validateではなくてhttps://ampbench.appspot.com/api2へリクエストを飛ばします。先ほどの「PHPでSearch Console API (Webmaster Tools API)を叩く」ページの場合は、 へアクセスします。返ってくるのはJSONでこんな感じになってます:

ウェブサービスにも組み込めそうだけど…

GitHubにリポジトリがあるので、それをフォークしてHerokuにデプロイすればそのまま動きます。ただしレスポンスが遅いのでウェブサービスに組み込むには一工夫必要な気がしますが。

参考サイト