すなばいじり

はてなブログを使って、トンピーを揃えるまで止めないブログ。ふっくらかわいい。

Google検索のモバイル版で高速に表示するAMPを分解しながら確認するやつ

メモです。ここには有益な情報はありませんのでご理解ください。

 

実際に動いているものから見たAMP

見かけ上は画面が変わっていますが、ページが移動していないと考えると「早さの理由」が解るかと思います。

検索結果の表示

Googleの検索結果

Top Stories

コンテンツ1コンテンツ2
画像1 画像2
サマリー1 サマリー2

検索結果

 

Top Storiesのサマリー表示は、最初にロードされる。
コンテンツ(本文)はiframeに入っていて、出番が来るまでは非表示になっている。半分程度は読み込みを待機している。
ユーザーが操作をして画像やコンテンツが表示されるべき領域に近づくと追加で読み込まれる。

この辺りの挙動は、デベロッパツールで検索結果を表示させた後に帯域を絞ってやると分かりやすい。

Twitter等の専用ライブラリがある。

<script custom-element="amp-twitter" src="https://cdn.ampproject.org/v0/amp-twitter-0.1.js" async></script> 
(一例)

 

コンテンツ内の表示

ヘッダ(head)

CSS(内包する)
JSON-LD(schema.orgを参照。みんな大好きなやつ)

コンテンツ(body)

SVG(パーツとして置いてある)

本文

通信回数が減るように、詰め込めるものは詰め込んでおく方針。
Webフォント類を利用する場合は指定された物を使う。
色々なもののサイズを指定してあったり、代替の画像セットを用意している。

 

 iframe内で利用されるURL

https://amp.gstatic.com/v/ (コンテンツURL) ?amp_js_v=0

※2016年2月頃の仕様では、以下のURLに変更されているようです。

https://cdn.ampproject.org/v/ …

 

一例

https://amp.gstatic.com/v/www.buzzfeed.com/amphtml/juliegerstein/heres-what-its-like-to-work-in-a-catty-environment?amp_js_v=0
(キャッシュ)

http://www.buzzfeed.com/amphtml/juliegerstein/heres-what-its-like-to-work-in-a-catty-environment

(AMP向け表示)

http://www.buzzfeed.com/juliegerstein/heres-what-its-like-to-work-in-a-catty-environment
(本来のコンテンツ)

 わざとエラーを出す

https://amp.gstatic.com/v/www.twitter.com?amp_js_v=0

(Twitter)

エラーだ
Show errorsをクリックすると、何がおかしいか確認できる(リンク付きなのでデバッグしましょうという優しさ)
403等のステータスが返却された場合は別の表示になる。

 

こちらを見た方が詳しい

github.com

面倒な事をしなくても、ここに詳細があります。

 

www.ampproject.org

プロジェクトの紹介。

 

はてなブログでAMP対応させるには?

無理矢理やれるんじゃないですか?という感じですが、眺めてみた感想は、速報性があるコンテンツが(トラヒック的に)効率的に配信できる仕組みのようですので、はてブが対応すれば良いのではないかと思います。

がんばれはてな。負けるなはてな

 

cHTMLやXHTMLといった時代のものを思い出す懐かしい感じがするやつです。
やっている事は最新なのですが、相変わらずなのです。

 

 

仕様と実際の動作を一緒に眺めると「こういう仕組みで動いているのか」と理解しやすいと思います。

 

 

プラスチックとモーター、その他の構成で動く熊。

NEW リズムでともだち こぐまのトンピー

NEW リズムでともだち こぐまのトンピー