AMP CDNのキャッシュURL構成をGoogleが更新、専用のサブドメインを各サイトに割り当て

[レベル: 上級]

Googleは、AMPキャッシュのURL構成を近いうちに更新することを開発者向けブログでアナウンスしました。

セキュリティを高めることが狙いです。
一部のサイトを除く、ほとんどのサイトでは特別な対応は不要です。

AMP CDNドメインのサブドメインを各サイトに割り当て

今後は、Googleが提供するAMP CDNが使用しているドメイン名のサブドメインが、各サイトに割り当てられます。

たとえば現状では、この記事のAMPキャッシュURLは次のようになります。

https://cdn.ampproject.org/c/s/www.suzukikenichi.com/blog/google-updates-url-scheme-for-amp-cache/amp/

今後は、僕のブログ専用のサブドメインが割り当てられ、次のように変わります。

https://www-suzukikenichi-com.cdn.ampproject.org/c/s/www.suzukikenichi.com/blog/google-updates-url-scheme-for-amp-cache/amp/

www-suzukikenichi-com が、cdn.ampproject.org のサブドメインとして僕のサイトに割り当てられています。

サブドメイン生成のルール

基本的にサブドメインは、次のルールに従って作られます。

  • IDN(国際化ドメイン名、Punycode)はUTF-8に変換
  • “-“(ハイフン)は “–“(2つのハイフン)に変換
  • “.”(ドット)は “-“(ダッシュ)に変換

【鈴木注】原文では”-“を”dash”(ダッシュ)と表現していますが厳密には”hyphen”(ハイフン)が正しいので置き換えています。コメントで指摘してくれた正木さん、ありがとうございます。

僕のブログはIDNではないので、www.suzukikenchi.com はアルファベットをそのまま使用します。
“-“は含んでいないので関係ありません。
“.”は “-“に置き換えられます。

結果として、www-suzukikenichi-com.cdn.ampproject.org が僕のブログのAMP CDNのキャッシュURL用サブドメインになります。

自分のサイトのAMPキャッシュのURLが最終的にどのようになるかは、AMP by Example のツールで確認できます。

AMP Cache URL Format

対応が必要なサイト

AMPキャッシュURLが変更になりますが、ほとんどのサイトでは対応は不要です。
対応が必要になるのは、次に当てはまる場合です。

  • CORSを利用する仕組みを実装しているサイト
  • AMPキャッシュを取得しているプラットフォーム

CORS (Cross-Origin Resource Sharing) についてはここでは説明しません。
「何それ?」という人はきっと利用していないはずなので無視できるでしょう。

どういった対応がCORSで必要になるかは公式アナウンスを参照してください。

AMPキャッシュを使うプラットフォームは、AMP Cache URL APIを介してキャッシュURLを取得していれば、2017年第1四半期に自動的にAPIが更新されるので対応は不要になります。

キャッシュURLが具体的にいつ更新されるかは明言していません。
「可能な限り早く」ということです。

バックグラウンドでの技術的な話なので、たとえAMP対応していたとしても影響を受けることはなさそうです。
強制更新や削除など、AMP CDNキャッシュのURLが必要になる場面があるかもしれないので、念のため認識しておくといいでしょう。