サチコからAMPページがエラーだとメールが来る

最近、サチコ(Search Console)に怒られてばかりですが、下記のメールが来ました。

AMP ページのエラーを修正してください

https://blog.6ix.jp/ のウェブマスター様

お客様の一部の AMP ページが弊社のガイドラインに準拠していないことが判明しました。そのため、該当するページは Google 検索の AMP 関連機能の対象とはなりません。該当するページの一部は Accelerated Mobile Pages レポートでご確認いただけます。

これですね。
致命的なエラーみたいです。
何だかwktkしますね。

当ブログではWordPressのAMPプラグインを使っています。
恐らく、原因はAMPプラグインではなく、僕がfunctions.phpに記述している内容だろう、と推測。
AMPテストで見たところ、どうやら読み込んでいるウェブフォントのURLが正しくない、という内容でした。

functions.phpを修正

当ブログではAMPページで下記のようにウェブフォント(Noto Sans Japanese)を読み込んでいました。

function myblog_amp_post_custom_add_fonts($data) {
  $data['font_urls'] = array(
    'Noto Sans Japanese' => '//fonts.googleapis.com/earlyaccess/notosansjapanese.css'
  );
  return $data;
}
add_action( 'amp_post_template_data', 'myblog_amp_post_custom_add_fonts');

//fonts.googleapi~と、//から始まる絶対パスで記述していました。
これだと、参照先がhttpでもhttpsでも参照できるので便利でした。
どうやら、これがいけなかったみたいです。
ということで、httpsから始まる絶対パスに修正しました。

'Noto Sans Japanese' => 'https://fonts.googleapis.com/earlyaccess/notosansjapanese.css'

これで、とりあえずエラーは改善しました。

ちゃんと検証していないので分かりませんが、非SSLの参照は普通にhttp://~で良いのかな。

余談

他に、AMPページではありませんがjQueryやHighlight.jsなどのCDNの読み込みもhttpsから始まる絶対パスに修正しておきました。
ところで、//~から始まるURLって「相対パス」なの?「絶対パス」なの?

参考


コメントを投稿する

* が付いている項目は必須です。
メールアドレスが公開されることはありません。