AMPページでCDN経由でFont-Awesomeを読み込むときはホワイトリストに気を付けて!
目次
Googleの検索結果からAMPページが消えた
AMPページでFont-Awesomeのウェブフォントを使うことができるということで、埋め込んでみたところ、テストページではアイコンが正常に表示されたので、公開ページに適用したところ、数日後にGoogleの検索結果からAMPマークが表示されなくなりました。
なぜだろう?と、Google Search Consoleを久々に開いてみたところ、AMPページに問題があるというエラーの通知がありました。
「Google検索結果には表示されません」と、無効なAMPページとされていました。
原因はCDN
AMPページでFont-Awesomeを使うために、以下のようなコードでCDN経由のCSSを読み込んでいました。これがいけなかったみたいです。
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css">
これの何がいけないかというと、cdn.jsdelivr.netから読み込んでいるということ。本家のuse.fontawesome.comよりもcdn.jsdelivr.netから読み込む方が速いかな?と思って使ったのがいけなかったみたいです。
PC用のページはこれで読み込んでいますが、AMPページではこれが警告の原因となり、Googleの検索結果にAMPマークが表示されなくなりました。
使えるCDNと使えないCDNがある
以下のページを見ると、<link>タグでFont-Awesomeを読み込む場合はAMPプロジェクトのホワイトリストに登録されたCDNでないと使えないみたいです。
スタイルシートで@font-faceを使えば特に読込先に制限なくWEBフォントを読み込むことができるみたいです。
<link>タグで読込可能なCDN
以下のいずれかのCDNからの読み込みであれば<link>タグで読み込んでもエラーが出ずに使えるようです。
- https://maxcdn.bootstrapcdn.com
- https://use.fontawesome.com
本家から読み込んで解決
以下のページにあるFont-AwesomeのCDNのコードから読込をすることで無事解決できました。
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css">
Google Search Consoleで再検査したところ有効なAMPページになりました。