AMP(アンプ)とは?
AMP(Accelerated Mobile Pages)とは、モバイル版Webページを高速で表示する仕組みであり、GoogleやTwitterが中心となって進められているオープンソースプロジェクトの名称でもあります。AMPは、複雑化して重くなってしまったWebページをスマートフォンなどの不安定な通信環境でも快適に閲覧できることを目的として作られました。
AMPに対応したページは、以下のように検索画面に稲妻のようなアイコン(AMPプロジェクトのロゴ)が表示されるため、検索した時点でリンク先がAMPに対応していることがわかります。タップして閲覧する前に「このページは高速表示に対応している」ということがわかるため、クリック率の向上に期待することができます。
- ※AMPはWebサイトの運営者が適切に設定し、Googleなどに認識してもらう必要があります。
AMP対応するメリットとして他には「リッチカード」が挙げられます。リッチカードとは、Googleなどの検索画面で以下のように画像付きで検索結果が表示される仕組みです。画像付きで表示されることで、一般の検索結果よりもクリック率の向上が見込まれるため、特にメディアサイトなどではAMP対応は必須とされています。
AMPの高速表示はどのような仕組みか?
AMPには検索エンジンのサーバーにコンテンツ情報をキャッシュする「AMPキャッシュ」という機能があり、検索エンジン側がキャッシュした情報を配信することで高速表示が実現しています。もちろん、CNAMEレコードの設定などは行われていないため、キャッシュサーバーのURLがアドレスバーに表示されます。
例えば、スマートフォンを利用してGoogleで自社サイトのコラムページを検索し、アクセスしたとしましょう。自社サイトのURLが「https://www.example.com」だった場合、アドレスバーには 「https://www.google.com/amp/s/www.example.com/column」といったURLで表示されます。もちろん、SSLサーバー証明書(以下、SSL証明書)はGoogleが用意したもの(Google Internet Authority G3など)が適用されるため、自社サイトで利用しているSSL証明書は適用されません。
ページキャッシュの作成は「ページの高速表示」という観点ではメリットがありますが、別の観点から見ると「自社のURL/ドメインでページが表示されない」という大きなデメリットが出てきます。ページを閲覧する人は、それが不正にコピーされたページなのか?それとも元サイトの運営者の意思でキャッシュされているものなのか?を容易に判断することができません。これを回避して自社サイトのURLでキャッシュページを閲覧できるようにするのが、SXGという新しい技術です。
SXG対応のSSL証明書とは?
SXG(Signed HTTP Exchanges)を用いることで、キャッシュサーバーのURLではなく、本来のオリジナルなURLをアドレスバーに表示することができます。しかし、SXGを利用したページをhttps化(SSL化)する場合は、SXGに対応したSSL証明書が必要になります。
一般的にアドレスバーに鍵マークを表示するには、表示されるドメインで検証したSSL証明書が必要ですが、SXGの場合は「データを配信する」ドメインと、実際に「ブラウザで表示する」ドメインが異なるという決定的な違いがあります。そのため、通常の仕様とは異なるSSL証明書、つまりSXGに対応したSSL証明書が必要となるのです。
さらに、AMPは検索結果を表示した際にリンク先を先読みしてスマートフォンに保存する機能があり、オフラインでもページを表示することができます。そのような機能が実装されていることもあり、より厳格なセキュリティが必要となるため、SXG対応のSSL証明書は短期間(2019年7月現在は90日間)の発行に限られていたり、CAAレコードの登録が必須であったりと、よりセキュアな仕様が策定されています。
- ※現時点では発行できる認証局も限られています。
SXGを使ってみたい!
AMPの運用に悩んでいる方は「ぜひ導入してみたい!」と思われるかもしれません。実際のところ、SXGを利用するには専用のシステム構築が必要となるため、一般の方には利用するハードルが非常に高くなっています。しかし、米国のCDNベンダーであるCloudflareが「AMP Real URL」という機能名でSXGを利用して、AMPを自社サイトのURLで配信する機能をリリースしています。今後、AMPやSXGの技術が広まっていく中で、こういった機能を提供するホスティングサービスが増えていくかもしれません。
日本国内では、Yahoo!トラベルがいち早くSXGに対応しています。実際にYahoo!でホテルなどを検索すると、AMPロゴがついた検索結果がいくつか表示されます。その中でYahoo!トラベルのページにアクセスすると、アドレスバーには鍵マーク付きで「search.yahoo.co.jp」が表示されます。Developer Toolsで見てみると、以下のように 「from signed-exchange」と表示されます。
また、2019年7月現在では対応ブラウザがChrome73以降のみ、となっている点は気をつけなければいけません。もちろん、発展途上の機能なので「今すぐ対応しないといけない!」というものではありませんが、AMP対応を検討している方にはSXGは非常に魅力的な技術だと思います。今後の動向から目が離せませんね!