これだけ押さえておけば大丈夫!よく使うAMPコンポーネント10選
公開日:2020年5月25日
AMPページを構築する際に、「これだけ押さえておけば大丈夫!」なよく使うAMPコンポーネントを10個ピックアップして使い方や注意点を解説しました。
マルチメディア系
amp-img
画像のないWebページはないと言っても良いくらい、img要素は必須です。AMPページでは画像ファイルは「amp-img」でタグで呼び出します。
amp-imgは、AMPフレームワークのベースコンポーネントなので、HTMLヘッダで追加でscriptを読む必要はありません。
<amp-img alt="Mountains"
width="550"
height="368"
src="/static/inline-examples/images/mountains.webp">
<amp-img alt="Mountains"
fallback
width="550"
height="368"
src="/static/inline-examples/images/mountains.jpg"></amp-img>
</amp-img>
amp-youtube
AMPではiframeは禁止されているため、Youtube動画を読み込むには「amp-youtube」を使います。iframeは「amp-iframe」というコンポーネントでも使えますが、Youtubeは専用「amp-youtube」のほうがシンプルなのでこちらを使いましょう。
// header
<script async custom-element="amp-youtube" src="https://cdn.ampproject.org/v0/amp-youtube-0.1.js"></script>
<amp-youtube
data-videoid="mGENRKrdoGY"
layout="responsive"
width="480" height="270"></amp-youtube>
設定値は特別難しいものもなくて、幅と高さとYoutubeのvideo_idを指定するだけです。簡単ですね。
ソーシャル系
amp-twitter
Twitterの「埋め込む」をAMPページで実装するコンポーネントが「amp-twitter」。Tweet IDだけで埋め込みができるので便利です。
// header
<script async custom-element="amp-iframe" src="https://cdn.ampproject.org/v0/amp-iframe-0.1.js"></script>
<amp-twitter
width="375"
height="472"
layout="responsive"
data-tweetid="885634330868850689"
>
</amp-twitter>
従来のTweetの埋め込みはbackquoteなのでページコンテンツの一部としてSEO効果が少しありましたが、amp-twitterコンポーネントで読み込まれたTweet内容はJavascriptでTweet内容をロードするので、SEOも考慮するなら、引用する部分は別にページ内で引用したほうが良いでしょう。
amp-facebook
先ほど見たTwitterの埋め込みのFacebook版です。Facebook関連では、
- amp-facebook-comments
- amp-facebook-like
- amp-facebook-page
- amp-facebook
の4つのコンポーネントが用意されていて、それぞれ使い道が違うので注意しましょう。
また、YoutubeやTwitterと違って、URLを指定する形式になるのでそちらも注意しましょう。
// header
<script async custom-element="amp-facebook" src="https://cdn.ampproject.org/v0/amp-facebook-0.1.js"></script>
<amp-facebook width="552" height="310"
layout="responsive"
data-href="https://www.facebook.com/ParksCanada/posts/1712989015384373">
</amp-facebook>
amp-instagram
Instagramの投稿を引用できるコンポーネントです。YoutubeやTwitterと使い方は一緒です。
// header
<script async custom-element="amp-instagram" src="https://cdn.ampproject.org/v0/amp-instagram-0.1.js"></script>
<amp-instagram
data-shortcode="fBwFP"
data-captioned
width="400"
height="400"
layout="responsive"
>
</amp-instagram>
アドオン系
amp-analytics
AMPページでGoogle Analyticsを読み込むコンポーネントです。AMPページではJavascriptがそのまま実行できないため、こちらのコンポーネントを使います。
// header
<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
<amp-analytics type="googleanalytics">
<script type="application/json">
{
"vars": {
"account": "AnalyticsのプロパティID"
},
"triggers": {
"trackPageview": {
"on": "visible",
"request": "pageview"
}
}
}
</script>
</amp-analytics>
これだけでPVの取得はOKです。ページのフッターにでも入れておきましょう。細かい設定は、下記のページをどうぞ。
amp-pixel
AMPページでページビュートラッキングを使いたい場合、amp-pixelを使います。amp-pixelは、先ほどの「amp-analytics」と同時に使うこともできます。
amp-pixelはAMPの基本コンポーネントなので追加の読み込みはありません。
<amp-pixel src="https://track.example.com/tracker/foo"
layout="nodisplay"></amp-pixel>
アフィリエイト広告などのPVトラッキングなどにも使えます。ただし、AMPページでバナー広告を設置する場合は次のamp-adを使います。
amp-ad
AMPページでバナー広告を表示するためのコンポーネントです。
最近のアフィリエイトなどの広告プラットフォームでは、AMP用のタグを用意しているので、そちらを使いつつ、HTMLヘッダーに下記のスクリプトを追加します。
<script async custom-element="amp-ad" src="https://cdn.ampproject.org/v0/amp-ad-0.1.js"></script>
なお、Google Adsenseの自動広告を使う場合は、専用の「amp-auto-ad」を使います。
amp-auto-ad
AMPページで、Google Adsenseの自動広告を設定するコンポーネントです。
他のコンポーネントと違ってちょっとクセがあって、
<script async custom-element="amp-auto-ads" src="https://cdn.ampproject.org/v0/amp-auto-ads-0.1.js"></script>
をHTMLヘッダで読み込んだ後、<body>
の最初の子要素として
<body>
<amp-auto-ads
type="adsense"
data-ad-client="ca-pub-XXXXXXXXXXXXXXXXXXX">
</amp-auto-ads>
.
.
.
.
をHTMLに記述します。「<body>
の最初の子要素」というのが重要ポイントです。
なお、広告ネットワークが対応しているのであれば、typeの部分を書き換えれば他のサービスでも利用可能です。
amp-iframe
ifameで外部コンテンツを読み込むさいは、amp-iframeの利用が必須です。そのままiframeでは読み込めません。
// header
<script async custom-element="amp-iframe" src="https://cdn.ampproject.org/v0/amp-iframe-0.1.js"></script>
<amp-iframe width="200" height="100"
sandbox="allow-scripts allow-same-origin"
layout="responsive"
frameborder="0"
src="https://www.google.com/maps/embed/v1/place?key=AIzaSyDG9YXIhKBhqclZizcSzJ0ROiE0qgVfwzI&q=iceland">
</amp-iframe>
amp-iframeは使い道が多くあって、
- ifameの埋め込み(Goolge Mapなど)
- トラッキングスクリプトの読み込み
- 広告スクリプトの読み込み
- オリジナルスクリプトの実行
など、いろいろなことができます。
amp-iframeを使えば、Javascriptを使った「URLコピーするボタン」も実装できます。
AMPページでページシェア用に任意のURLをコピーするボタンを実装する
amp-iframeは、Javascriptが実行できる分、使用制限があります。
- ページ最上部から600ピクセル離れた位置、または最上部までスクロールしたときにビューポートの最初の 75% の範囲内でない位置のどちらかに配置する必要がある
- sandbox 属性に allow-same-origin を指定できる場合、コンテナと同じオリジンに含めてはいけない
- 実行できるJavascriptには制限がある(Javascriptの機能がフルで使えない)
制限はあるものの、amp-iframeを使うことで、AMPページの表現力がグッと上がります。
よく使うAMPコンポーネントを10個、ピックアップして紹介しました。
AMPに関する情報は少ないのですが、日々使えるコンポーネントが増えてきているので、公式サイトで更新をチェックしつつ、AMPページをより充実させてみてください。