googleがおススメするAMP(Accelerated Mobile Pages)を実験してみた。
AMPの導入することにより、サイトの表示速度がかなり高速になるとのこと。
ブログに導入する前に静的サイトで実験してみる。
Google公式Google 全体で AMP ページを強化する
チュートリアルをやってみる
親切にGoogleがチュートリアルを用意してくれていた。
基本的には次のコードをコピペするだけでできる。
<!doctype html>
<html amp lang="en">
<head>
<meta charset="utf-8">
<script async src="https://cdn.ampproject.org/v0.js"></script>
<title>Hello, AMPs</title>
<link rel="canonical" href="https://amp.dev/ja/documentation/guides-and-tutorials/start/create/basic_markup/">
<meta name="viewport" content="width=device-width">
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "NewsArticle",
"headline": "Open-source framework for publishing content",
"datePublished": "2015-10-07T12:02:41Z",
"image": [
"logo.jpg"
]
}
</script>
<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
</head>
<body>
<h1>Welcome to the mobile web</h1>
</body>
</html>
何かと制約が多い
高速化するメリットは大きいが、かなり制約が多く戸惑った。
厳しいのが次の制約。
- 原則script の禁止(例外もあります)
- スタイルシートの外部読み込みが禁止 → PHPを使ってIncludなら良い?
- イメージタグは縦横を明記
このブログに導入するには敷居が高い。WordPressだとプラグインが用意されてるみたい。
適当に書いてテストしてみる
Googlさんがテスターを用意してくれていた。
エラー続出(笑)
一つひとつエラーを修正し完了。
優れたチェッカーでエラーの原因を初心者にも分かりやすく教えてくれます。
アナリティクスに細工する
とりあえず、ampが有効になったので、Google Analytics を導入してみる。
従来のアナリティクスのタグをそのまま使ったらエラーになった。
scriptを使っているので当然だわね。しかし、ご丁寧に対策サイトに誘導してくれた。
<head>内に次のタグを配置する。
<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
要素ブロックと属性を追加
<body> 内に次のタグを配置する。
<amp-analytics type="gtag" data-credentials="include"><script type="application/json"> { "vars" : {"gtag_id": "○○○○自分のID", "config" : {"○○○○自分のID": { "groups": "default" }}}}</script></amp-analytics>
間違って <head> 内に書き込んだらエラーになりました。
検索用のタグなんで、body の直下に配置してみました。
アドセンスも追加する
もちろんアドセンスもエラー。
アドセンスではAMP専用のタグが用意されていた。
アドセンスにログイン → 広告 → サマリー → 広告ユニットごと → 新規or既存
HTMLとAMPがタブに表示されているので、AMPを選択する。
アナリティクスのときと同様にそれぞれ、<Head>内と<Body>内の表示したい場所に書き込む。
ちなみに、自動表示も用意されている。
右下のボタンをクリックして、HEAD用とBody用のタグをそれぞれ配置するだけで完了する。
ページスピードを測定してみる
Googleが公開している PageSpeedInsight で測定してみた。
修正前のモバイルページのスコアは37でした。
静的ページでこのスコアは低すぎですね。
続いてパソコン。スコアは71。まずまずですが、モバイルでの閲覧者が圧倒的に多いので、全体的な評価からすると低いですね。
劇的な高速化に驚く
AMPを導入して測定した結果、何とモバイルのスコアが94と大幅に改善しました。
体感的にもサイトビューが早くなったことを実感できます。
見た目は変わってないんですけどね。
そんで次はパソコン。なんとスコア98を記録。体感的にはほとんで変化なし。
というか、モバイル用に設計されたシステムなんで関係ないのか。
おわりに
静的ページにはかなりの効果がありました。
Googleが推奨している以上、サイトのビュースピードはGooglの検索にも確実に反映されていると推測できます。
CMSにも組み込めると良いんですけどね。
コメント