skuare.net

JavaScriptライブラリjQueryのサンプルを中心にWebサイト構築に役立つ情報を紹介

AMP(Accelerated Mobile Pages)対応におけるサイト作成と広告表示などなど

当サイトをAMP(Accelerated Mobile Pages)で構成しました。
元々別ページでAMP用ファイルを設けていましたが、スタンドアロンAMPのススメ - Mercari Engineering Blogという記事を見て、統一してしまおうと思ったのがきっかけです。

sponsors

AMP(Accelerated Mobile Pages)とは
いまさら感ありますが、AMPとはモバイルでウェブページを高速表示するためのプロジェクトであり、フレームワークのことです。
主体となっているGoogleでは、検索結果の検討要素に表示速度を掲げており、検索上位に表示するための有効な手段になるのではと注目を集めています。
またWashington PostやWIREDなどでも採用されていたり、ECサイトでも売上に貢献したなどの事例も出ていたり、全世界では1.5BillionものAMP対応ページが生成されています。
公式サイト:Accelerated Mobile Pages Project - Accelerated Mobile Pages Project

AMP検索結果
Googleで検索するとAMP対応ページには雷のマークとともにAMPと表示されます。
このページをクリックすると一瞬でページが開きます。
一方で通常のページは表示までに一定の時間がかかっています。

AMPページ作成方法
それなりのお作法があり、下記がベースとなります。
<!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="http://example.ampproject.org/article-metadata.html" />
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<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>

画像は<img>ではなく<amp-img>としなければいけないwidthやheightは必ず記述、インラインでstyleは書かない、その他専用のタグを記述するなどなどがあります。
またJavaScriptなどは決められたものを使う形になど、理解するべきタグは多々あります。

もし、1から作るのは難しそうという場合は、AMP Startにテンプレートがありますので、こちらをベースに作成するのが良いと思います。

今回使用したAMP用JS

  • amp-sidebar
  • amp-accordion
  • amp-analytics
  • amp-ad
amp-sidebarとamp-accordionはメニューの開閉に、amp-analyticsはGoogle Analyticsタグ、amp-adはAdsenseの表示に使用しています。

成果
レスポンシブにして1カラムにするなど要素を一部削った影響もありますが、とりあえずページのファイルサイズを大幅に減少させられました。
GTmetrixの解析結果では、4.3MB。表示速度では3秒減っています。
そもそもの構成に問題があったのかもしれませんが。
Compare Reports: skuare.net, skuare.net

AMPのテスト
AMPにエラーが発生していないかについては確認したいページのURLの後に「#development=1」を追加してDeveloperツールで見ることでできます。
AMP validation successful.とあればエラーはありません。
また、Googleが提供するAMP テスト - Google Search Consoleでも詳細な状況確認が可能です。

その他
AMPはまだまだ発展途上ということもあり、種々の問題があります。
一番厄介なのは下記でしょうか。
AMPページの直帰率の高さやユニークユーザー数は全部ウソ!? AMPアクセス解析には潜在的な問題あり | 海外SEO情報ブログ

AMP コンテンツは、その AMP ページを実際にホストしてるドメイン(僕たちのサイト)ではなく、AMP CDN のキャッシュから返されます。 AMP CND サーバーのドメイン名は、cdn.ampproject.org です(現在は、各サイト固有のサブドメインが割り当てられている)。

キャッシュされたAMPページから、本来のドメイン名のサイトでホストしているページへ移動すると、ドメイン名が異なるため アクセス解析に必要な Cookie が引き継がれません。


メリット・デメリットを考慮して、対応していきたいものです。

sponsors

「AMP(Accelerated Mobile Pages)対応におけるサイト作成と広告表示などなど」をシェアする

記事作成:
記事URL:

TOP > > > AMP(Accelerated Mobile Pages)対応におけるサイト作成と広告表示などなど

前の記事:

JavaScript

read more

Column

read more