名古屋市のフロントエンドエンジニアがWEB制作に関する技術メモを書いています

メニュー

フラップイズムがAMP(Accelerated Mobile Pages)を導入しない理由

最終更新日:

公開日:2017年08月30日

HTML

どうも、くーへいです。

皆さん、AMPは導入しましたか?
検索でお越しになった方はお気づきかと思いますが、当サイトフラップイズムは導入していません。
今日は、その理由をお話ししたいと思います。

AMPとは?

AMPとは、Accelerated Mobile Pagesの略で、Googleが主体となって開発されました。
既存のHTML言語にAMP独自の要素を追加したり、特定の要素を使用不可にしたりといった仕様変更を加えています。

主な目的としては、高速なWebページの表示でしょう。
AMP Cacheと呼ばれるキャッシュ情報をGoogleが保管しており、検索によって表示されるのはそのキャッシュです。

なぜ、フラップイズムではAMPを導入しないのか

その理由を端的に言えば、「AMPはそのうち廃れるだろう」と思っているからです。
もちろん、これは私の勝手な考えですので、あなたがそう思うかどうかはあなた自身で考えてみてください。
細かい理由は以下に書いていきます。
これらは、ある意味でAMPのデメリットと捉えていただいていいと思います。

表現的な自由が制限される

まず、外部のJavaScriptやCSSは一切読み込めません。
また、インラインでもJavaScriptは使用できません。
予めAMP仕様で用意されたJavaScriptに似た効果は使用できます。

もし、外部のJavaScriptやCSSをどうしても読み込みたい場合はiframeにて読み込みます。
当然、親フレームには適用されません。
iframe内は制限がありませんが、サイズはあらかじめ決められている必要があります。

また、画像については使用可能ですが、こちらもサイズもしくはアスペクト比が決まっている必要があります。

CSSアニメーションも使用はできますが、2017年8月現在で対応しているのはopacity、transform、visibility、offsetDistanceのみのようです。

その他、まだ詳しく調査していませんが、いくつかの制限がありそうです。

導入が面倒

AMP対応する場合、既存のHTMLをAMP向けに編集するケースが多いと思いますが、img要素をすべてamp-img要素に変換する必要があるなど、どうしても手間が生じます。
また、前項でも書いた通り、外部ファイルはすべてインライン化しなければなりません。

いくつかのAMP導入記事を読みましたが、少なからず苦労はしているようで、お手軽に作成、とまではいかないようです。

あくまで、Googleのキャッシュにアクセスする

AMPの神髄はAMP Cacheにあり、それはすべてGoogleが管理しています。
そのため、AMP化されたページの内容は、すべてGoogleのデータを表示しているにすぎません。

当然、キャッシュというのは更新されるまで古い内容を表示し続けます。
AMPの公式文書によると、15秒もしくは1分は内容は更新されない前提としてキャッシュしており、その間は何があっても更新されません。
また、更新されたことを通知する機構がありますが、通知したとしてもあるユーザーがアクセスしたときに更新を取得してキャッシュを刷新しますので、更新後のサイトを表示できるのは次にアクセスしたユーザーからです。

通常のサイトであれば、キャッシュは各ユーザー単位で作成されますので、あるサイトを初めて訪れたとして、古い状態のページが表示されるということはまずないでしょう。

なお、AnalyticsやAdsenseには対応しているようですので、その点は問題なさそうです。

もう一点、Google検索から推移した際はAMP Cacheにアクセスしますが、次ページからは基本的にはキャッシュではなく本物のサイトを読み込みます。
次ページ以降でAMP対応ページを読み込ませることでAMP Cacheでなくても高速に表示もできますが、それなら最初から軽量なHTMLページを作成しておけば良いでしょう。

訪問済みかどうかがわからない

Google検索で何かを検索してあるページを閲覧し、中身に満足できなければブラウザの戻るボタンを押してGoogle検索結果のページに戻りますよね。

AMPでないページであれば、戻った際にリンク色が青から紫色に変化しており、すでにアクセスしたページであることが一目瞭然です。
しかし、AMPのページは戻っても更新しなおしてもリンク色は青のままで、すでに訪問したページかどうかが全く不明です。

このような仕様になっている原因は軽く調査しただけではわかりませんでしたが、閲覧者としては地味に不便です。

不自然なURL・履歴の残り方

何度も言及しましたが、AMP CacheはGoogleが管理しています。
そのキャッシュにアクセスするということは、Googleのドメインにアクセスするということです。
その場合のアドレスは「https://www.google.co.jp/amp/s/www.ampproject.org/ja/」のようになります。(例はAMPの日本語公式ページ)

当然、履歴には「https://www.google.co.jp/amp/s/www.ampproject.org/ja/」で残ります。
URLに正しいドメインが含まれますが、一見するとGoogleのページにアクセスしているようにしか思えません(ある意味正しいですが)。

また、これは不具合のようですが、2017年8月現在、Windows10のChrome最新版の環境ではfaviconが正しく表示されません。

数々の不快感がAMPを導入しない理由

最初の3つは開発者側の不快感、最後の2つは閲覧者側の不快感を招きます。

このプロジェクト自体、Google無しには何もできません。
ですので、Googleがあきらめた瞬間、AMPは終了となります。
個人的な経験則として、閲覧者側の不快感を生じさせるようなサービスは浸透しにくく、終了に追い込まれやすいと考えています。

では、AMPのメリットは?

上記のようなデメリットに対する見返りとして、メリットを考えてみました。
現状では1点しか見当たりません。

それは、高速化を期待できる、ということでしょう。

実際にスマホでAMP対応ページをGoogle検索経由でアクセスするとわかりますが、確かに早いです。
ただ、中には表示されるまでに時間がかかるページも存在し、果たして高速化されているのだろうか?と疑問に思うケースもあります。(ブラウザや環境の問題かもしれません)

一般的にはSEO上も有利になると書かれていますが、GoogleはAMPに対応したサイトを検索結果の順位で優遇するということは言っていません。

また、時事要素の強いキーワードを検索したときに表示される、Google検索のトップニュースのカルーセルに表示されることをメリットとしているサイトも見かけますが、カルーセルのさらに上部にはAMP以外のサイトも表示されるようです。
しかも、現状だとカルーセルには大手ニュースサイトがほとんどを占めており、一般的なブログが表示されるような状況ではないでしょう。

まとめ

上記のような理由で、フラップイズムではAMPを導入していません。
結果的にメリット・デメリットをお話しする形になりましたが、デメリットを特に強調してみました。

今後、何があっても導入しない!というほどではないのですが、現状では工数をかけるほどのメリットはないと判断しています。
AMP自体も開発が進んで進化はしていますので、もしかしたら上記のような不快感は解消されるかもしれません。
その時は、フラップイズムで導入ブログでも書こうかと思います。

関連記事

Twitterにて更新情報などを配信しています

スポンサードリンク