AMPエラー”「amp-ad」で必要なタグ「amp-ad extension .js script」がないか、正しくありません”に対処する
当サイトでは先日よりGoogle Adsenseの関連記事広告を用いるようにしたのだが、それ以降Google Search Consoleに次のようなエラーが出るようになってしまった。
「amp-ad」で必要なタグ「amp-ad extension .js script」がないか、正しくありません。これはまもなくエラーとなります。
今回は、Wordpressでこのエラーに対処した方法をメモ。
AMP Validatorでチェック
AMP Validatorで詳しくチェックをしてみると、同じようにエラーが表示されている。
どうやら、この「The tag 'amp-ad extension .js script’ is missing or incorrect, but required by 'amp-ad’. This will soon be an error.」に対処するためには、以下のコードをAMPページの中に挿入する必要があるようだ。
<scriptasynccustom-element="amp-ad"src="https://cdn.ampproject.org/v0/amp-ad-0.1.js"></script>
私の場合、Luxeritasというテーマを使用していて、このテーマにはAMPで表示されているかどうかを「isset( $luxe['amp’] )」という関数を用いてチェックできるようになっている。
今回はこれを用いて、Wordpressに上記のタグを追加する。
amp-adのjavascriptを追加
上記のamp関数を用いてAMPでアクセスされている場合にはタグを追加するようにした。
<?phpif( isset( $luxe['amp'] )) {
?><scriptasynccustom-element="amp-ad"src="https://cdn.ampproject.org/v0/amp-ad-0.1.js"></script><?php
}
?>
ちなみに、デフォルトで別のタグが挿入されているのだが、これはamp-func.phpのthk_amp_extensions() からamp-adをコメントアウトすることで消去。
再びAMP Validatorでチェックしたら、先ほどのエラーは表示されなくなった。
ということで、なぜデフォルトで読み込まれているamp-adのjavascriptがダメなのかはよく分からないが、ネットに転がっているものに差し替えたところエラーは消失。
本当は他にも直さないと行けないところがあるのだが、Google Search Consoleが「もうすぐエラーになる」というメッセージを送ってくるレベルのエラーはなくなった。