AMPとは、あるルールに則った高速表示用スマホページであり、Googleが推奨する仕様です。
このルールには様々な制約があり、コンテンツによっては表示が出来なかったり、表示方法を変える必要があります。
まめわざでは今回、AMP対応ページと非対応ページの差異を減らすべくシステムを見直しました。
ここではAMPのおさらいと、システム更新の内容を説明します。
AMPの説明はこちらをご参考ください。
Googleが検索エンジンへの導入をアナウンスしていた2016年8月に、まめわざはAMPに対応しました。
翌9月には英語の検索結果にAMPが出るようになり、10月には日本語の検索結果にも表示されるようになり今に至っています。
多くの大手メディアが対応しており、検索をするとAMPを見かけることが増えました。
今回の更新を要約します。
未対応箇所をまとめると以下です。
上記でまとめた内容を詳しく解説します。
次表のように共通部分のほとんどは非表示であったり、決まった内容だけの定型表示でした。
今回の更新により、「ヘッダーにはヘッダーに設定したコンテンツ」とAMP非対応ページ同様の表示となりました。
変更対象 | ビフォー(旧仕様) | アフター(新仕様) |
---|---|---|
ヘッダー | ホームページタイトルのみを定型表示 | 設定済みコンテンツを表示 |
メニュー | なし | サイドバー形式で表示可 |
メイン画像 | なし | 設定済みコンテンツを表示 |
サイド | なし | 設定済みコンテンツを表示 |
フッター | copyrightのみを定型表示 | 設定済みコンテンツを表示 |
デザインの配色 | 選択された3つの色 | 選択された3つの色+模様または画像 |
レイアウト | 固定 | 固定 |
パンくずリスト | なし | なし |
レイアウトは、ヘッダー→メイン画像→メニュー→左サイド→メインコンテンツ→右サイド→フッターの順に固定されています。サイドはPCレイアウトで左右どちらにあるかでメインコンテンツの前後に配置されます。
パンくずリストはサイドバー形式のメニューで代替可能なため掲載していません。
次のブロックはボタンを設置し、クリックするとAMP非対応ページの該当コンテンツ箇所にリンクするように見直しました。
例えば、問合せフォームがある場所に「問合せフォームを表示」というボタンが表示され、これを押すとAMP非対応ページの問合せフォームの箇所に移動します。ちょうど隠れていた問合せフォームが表示されるような操作感です。
また、次の3つのブロックが表示可になりました。
「共有ボタン」ブロックは、AMP仕様で表示されますが、海外仕様のため「はてなブックマーク」はなく、Facebook・Twitter・G+の3種固定です。
これまですべてのブロックの装飾は固定で、デザインで選ばれた色を利用していました。
今回の更新で、ほとんど装飾がそのまま表示できるようになりました。
ただし画像ブロックと目次ブロック(ブログ目次・物件目次・お客様の声目次・ページ目次など)は装飾が適用されません。
画像ブロックは元の画像のサイズで表示され、タップすると拡大表示されます(lightboxを利用、ただしリンクがあったり「拡大しない」が選ばれている場合は除く)。
目次ブロックは左右にフリックして移動させるカルーセル表示になります。
これまで部分装飾には対応していませんでしたが、すべての部分装飾に対応しました。
ただし、蛍光マーカーと下線は、オレンジ色に固定されます(異なる色を選んでいてもオレンジになります)。
まめわざでは、PCまたはスマホでホームページを作成すると、自動的にAMP対応ページが生成されます。
設定は一切不要です。この自動生成機能をオフにすることは現在のところ出来ません。
AMP対応ページを確認する場合は、Googleで検索する必要があります。Yahoo!Japanなど他の検索エンジンでは確認出来ません。
AMP対応ページはGoogleにデータを保持(キャッシュ)されるため、更新をしてもすぐには反映されません。
更新が確認出来ない場合は、1日~数日経ってからご確認ください。
AMPのメリットはその仕様通り「高速表示」です。デメリットは未対応コンテンツがあることと導入が面倒なことです。
未対応コンテンツがいくつかあり、代表的なものとして「問合せフォーム」は対応していませんでしたが、最近になって追加対応されました。AMPの仕様は発展途上であり、今後は未対応コンテンツが減っていくと思われます。
メリット | デメリット | |
---|---|---|
ホームページ訪問者 | 高速に表示される | AMP未対応コンテンツが見れない |
ホームページ管理者 | 高速に表示される 検索順位が優遇? | 導入が面倒 AMP未対応コンテンツが提供出来ない |
今回の更新により、AMP未対応コンテンツを減らし、デメリットが減りました。
まめわざユーザーであれば、自ら導入する必要もないことから、最小のデメリットで高速表示のメリットを受けられます。
AMPには見栄えの面でも色々な制約がありますが、これも可能な限り対応しています。
2016年3月時点で、グーグルの社員の方が「AMPはランキング要因ではない」と回答しています。
http://web-tan.forum.impressrd.jp/e/2016/03/04/22310
一方で昨年、ページの読込速度がランキング要因に組み込まれました。
AMPは高速化のための仕様なので、ページの読込速度の方で加点となる可能性があります。あるいは既になっているかも知れません。
昨今のGoogleはスマホ対応(モバイルフレンドリー)を最重視し、2015年と2016年にランキング要因としたことをアナウンスしています。
2017年にはモバイルファーストインデックスと呼ばれる更新が予定され、これによりマホサイトが優先され、PCサイトとスマホサイトの立場が逆転します。
Googleはホームページのスマホ対応を一貫して重視し、一方で自らAMPを提唱しているのですから、AMPが検索順位に好影響を与える可能性は大いにあると思われます。
弊社の実感としては、導入促進中の仕様とあってか、AMP対応ページのクロール率・インデックス率・クロール頻度は高めです。
インデックス数アップによるアクセスアップの恩恵が受けられる可能性があり、その点ではAMP対応は広義のSEOと言えます。
AMPではJavascriptを自由に利用できず、同等の機能が必要な場合はライブラリを利用する必要があります。
今回の更新で利用した機能を以下で紹介します。
導入方法は公式サイトで詳しく説明(英語)されています。仕様がとてもシンプルなので、敷居が低く、Chromeで手軽にデバッグ出来るので導入が容易です。
ここでは、使ってみてわかった特徴と、公式サイトの説明の補足をします。
公式サイトの説明をご参考ください。以下、補足します。
まずヘッダー部分で次のscriptを定義します。
<script async custom-element="amp-sidebar" src="https://cdn.ampproject.org/v0/amp-sidebar-0.1.js"></script>
次に、amp-sidebarタグを用意します。
<amp-sidebar id="navi" layout="nodisplay" side="right"></amp-sidebar>
イベントで指定するためのid属性を設定します。
layout=nodisplayは必須です。必要に応じでside=rightとしてサイドバーの位置を右にします。
最後にサイドバーを呼び出すためのボタンをセットします。
<span class="navi" on="tap:navi.open">メニュー</span>
イベントは
on="tap.(id属性).(open|close|toggle)"
という形式です。
amp-sidebarに付与したid属性を指定します。複数のsidebarを使い分けることも可能なので、ヘルプ的にも使えそうです。
公式サイトの説明をご参考ください。以下、補足します。
まずヘッダー部分で次のscriptを定義します。
<script async custom-element="amp-social-share" src="https://cdn.ampproject.org/v0/amp-social-share-0.1.js"></script>
次に、ボタンごとにamp-social-shareタグを用意します。
<amp-social-share type="twitter"></amp-social-share>
<amp-social-share type="facebook" data-param-app_id="アプリケーションID"></amp-social-share>
<amp-social-share type="gplus"></amp-social-share>
Facebookのシェアボタンには、Facebookの開発者向けサービスで申請するアプリケーションIDが必要です。
公式サイトの説明をご参考ください。以下、補足します。
まずヘッダー部分で次のscriptを定義します。
<script async custom-element="amp-carousel" src="https://cdn.ampproject.org/v0/amp-carousel-0.1.js"></script>
次に、amp-carouselタグを用意します。
<amp-carousel layout="responsive" width="300" height="300" type="slides" controls>
<amp-img src="画像パス" layout="responsive" width="300" height="300"></amp-img>
<amp-img src="画像パス" layout="responsive" width="300" height="300"></amp-img>
・・・
</amp-carousel>
上述のようにlayout/width/heightが必要です。一部のlayoutでは横スクロール用のtype="carousel"も選べます。
その他の属性として、
controls:ボタンを常時表示
loop:画像をループ(最後の画像の右を押すと最初の画像にループする)
autoplay:自動で画像が切り替わる
などがあります。
公式サイトの説明をご参考ください。以下、補足します。
まずヘッダー部分で次のscriptを定義します。
<script async custom-element="amp-image-lightbox" src="https://cdn.ampproject.org/v0/amp-image-lightbox-0.1.js"></script>
次に、amp-imgタグを用意し、onイベントを設定します。
<amp-img src="画像パス" layout="responsive" width="300" height="300" on="tap:ID" role="" tabindex=""></amp-img>
onイベントで設定したIDを使い、拡大される側のamp-image-lightboxをセットします。
<amp-image-lightbox id="ID" layout="nodisplay"></amp-image-lightbox>