Pocket

何気なくスマホで自分のサイトを検索してみると、広告が表示されない!またか!

しかも前と同じくAMP化された記事だけ広告が表示されていないようです。

せっかく前に対策を書いて解消させたのに・・・

何度かプラグインの更新があったので更新が原因か、Googleに価値のないコンテンツとみなされたかどっちかと思いますが、取り急ぎ前の対策をもう一度実施します。手順は以下のページの通り。

2019年9月17日に変わった模様

以上のページに記載してあります、手順の一番最初の、以下が変わっていました。

Google AdSenseでAMP記事に広告表示の設定手順を説明します。

Google AdSenseにログインし、広告→自動広告→AMP 自動広告と選択し、「手順 1: テキスト広告とディスプレイ広告のフォーマットをオンにします」の右側を下のようにします。

広告をクリックした後に「自動広告」と表示されていたのがなくなっていました。

 

 

2年前くらいの表示
2020年3月18日時点

サマリーを選択すると自動広告のオンオフが確認できるようになっています。

右側の鉛筆マーク(編集)をクリックします。

上の青丸の個所を、すべて全部青の状態(オン)にします。一部がデフォルトではオフとなっているものもあるためご確認ください。

左側にて、スマホとPCで表示されるはずの広告の状態がわかります。

「自動広告の例」が良い感じになっていれば、最後に右下の「サイトに適用」をクリックし、アドセンスの設定は完了です。

手順には変更があったものの、Google AdSenseに原因はなさそう。

次にブログ側のAMPを確認

同じく以下のページを参考にみていきます。

【解決方法】AMPの記事に広告が表示されない時の対処方法

WordPressのプラグイン内での作業 の部分です。

まずは変化しているかどうか・・・

変わっている!!!

以下の通り復元します。

変更する場所は以下

amp/back-compat/templates-v0-3/single.php

この中を以下の部分。head内とbody内を・・・

<html amp <?php language_attributes(); ?>>
<head>
 <meta charset=”utf-8″>
 <meta name=”viewport” content=”width=device-width,initial-scale=1,minimum-scale=1″>
 <?php do_action( ‘amp_post_template_head’, $this ); ?>
 <style amp-custom>
 <?php $this->load_parts( [ ‘style’ ] ); ?>
 <?php do_action( ‘amp_post_template_css’, $this ); ?>
 </style>
</head>
<body>

これを以下のように変更。Google AdSenseに記載されている通りにしました。

××××はご自身のサイトIDみたいなもの。IDの調べ方は以下画像の通り

<html amp <?php language_attributes(); ?>>
<head>
 <meta charset=”utf-8″>
 <meta name=”viewport” content=”width=device-width,initial-scale=1,minimum-scale=1″>
 <?php do_action( ‘amp_post_template_head’, $this ); ?>
 <style amp-custom>
 <?php $this->load_parts( [ ‘style’ ] ); ?>
 <?php do_action( ‘amp_post_template_css’, $this ); ?>
 </style>
 <script async custom-element=”amp-auto-ads”
        src=”https://cdn.ampproject.org/v0/amp-auto-ads-0.1.js”>
</script>
</head>
<body>
 <amp-auto-ads type=”adsense”
        data-ad-client=”ca-pub-××××”>
</amp-auto-ads>
<?php $this->load_parts( [ ‘header-bar’ ] ); ?>
<div class=”amp-wp-content”>
 <h1 class=”amp-wp-title”><?php echo wp_kses_data( $this->get( ‘post_title’ ) ); ?></h1>
 <ul class=”amp-wp-meta”>
  <?php $this->load_parts( apply_filters( ‘amp_post_template_meta_parts’, [ ‘meta-author’, ‘meta-time’, ‘meta-taxonomy’ ] ) ); ?>
 </ul>
 <?php echo $this->get( ‘post_amp_content’ ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</div>
<?php do_action( ‘amp_post_template_footer’, $this ); ?>
</body>
</html>

アドセンスの広告、サマリーを選択し、AMPはオンです をクリックすると
自分のIDが表示されます。

思い出しましたが過去この変更をしたことにより、Google Serch ConsoleでAMPのエラーが出まくっていました。

いったんこれで様子見をし、もしエラーが発生しているようであれば前回の手順にならって更新しようと思います。

愚痴

前回は根気よくコードをいじってサイズを合わせたり、エラーと戦っていたりしましたが、そもそも広告に苦戦しないように何とかしてほしいものです。Googleのポリシーとして、個人はより良い有益なコンテンツを拡充する、というもとであれば、広告に時間をとられるなんて・・・

Google様に乗っかっている私が言える立場ではありませんが!

エラー出ませんように。

最後に、最近追加されたと思われるペアとなるページが検出されるようにする手順をやってみます。

以下AdSenseヘルプより抜粋です。http://example.comをhttps://kapucc.netにして、テーマのheaderとさっきのheadの中にそれぞれを入れればいいみたいです。

たとえば、ご所有のサイト example.com について、各ページの AMP バージョンを example.com/amp/ でホストしているとします。その場合は、AMP と非 AMP の各ページの <head> セクションに <link> タグを追加して、ペアとなるコンテンツを示すようにします。

非 AMP の example.com/news ページ:
<link rel="amphtml" href="http://example.com/amp/news">

AMP の example.com/amp/news ページ:
<link rel="canonical" href="http://example.com/news">

よくわからないのはテーマ自体にもAMPがあるのでどっちに入れればいいのやらです。