ドメイン設定など問題なく”コードが存在しないか、不完全です”と表示される人、またはheader.php等に審査コードを貼ってもソース上に貼り付けたコードが反映されていない人向け。
Cocoonの子テーマに普通の手順でアドセンスの審査コードを貼っているのになぜかページに反映されない。そんなときに本ブログにて行った審査コードの貼り付けて順を説明します。
本記事を執筆にあたり、Twitter上にて手厚くサポートしてくださった
“出張ホスト【エテルナ】(@club_eterna)” on Twitter 様、本当にありがとうございました。
→HP:エテルナ
問題・環境
問題
今回一体何が起きたのか流れを説明する。まず、我がブログにてアドセンスの申請をしたくGoogleアドセンスに登録し、一般的な流れで審査コードを取得、そして安定のCocoonの子テーマにて審査コードを貼るというなんともかんたんな手続きをしたかった。しかし、どのページで説明されている通りにheader-insert.phpにコードを貼り付けてもグーグルアドセンスに
”コードが存在しないか、不完全です”
と表示される。ほかにもいろんなプラグインを使ってみたり、テーマを変えてみたり、親テーマのheader.phpにコードを貼り付けたりといろいろ試したが失敗。キャッシュの問題かとも思いcocoonのキャッシュ削除も試したが反映されず。
本来、審査コード等が貼れているならばブラウザでページのソースを表示して”pub-“や”pagead2″などで検索かければ挿入したコードが<head>タグ内にいるはずなのだが、どう探したって見つからない。
環境
※2020/9/18現在
・サーバー
AWS Lightsail
OS:Linux
・使用テーマ
Cocoon Child ver. 2.2.3.3
Cocoon ver. 1.1.2
・有効なプラグイン
解決策
原因
今回、なぜうまく動かなかったのかというとプラグインの中にあるAMPというモバイル向けの軽量化プラグインが原因のようだ。
一般的にjavascriptで書かれている処理はPCでは問題なく動くが、モバイル端末の場合は負荷が大きくなる傾向にあるため、AMPが最適化して余計(と判断される)<script>タグを消去してしまうようだ。
解決策1
ということで、まず基本の解決策はAMPを無効化することが一番手っ取り早いだろうと思う。
私の場合はAMPを無効化することによって解決した。
アドセンス認証が通った後も、AMPを有効化すると自動表示されるはずの広告が表示されないため他の軽量化手段をとったほうがいいと思われる。
もしAMPを有効化したままにしたいのであれば、次に示す解決策2を試すとよいだろう。
解決策2
こちらの方法はエテルナ様より教えていただいた方法だ。本当に助かりました。
そのやりかたとは、header.phpではなくfunction.phpを編集する方法だ。
なお、今回はCocoon Childのテーマを前提にお話するが、基本的にはおなじだとおもうのでテーマが違う場合は参考にしていただくと幸いです。
※もし直接編集する場合はくれぐれもバックアップをお忘れなきようお気をつけください。
wordpressの管理画面から編集する方法は次のようになる
まず、管理画面の[外観]>[テーマエディタ]を開く
次に、function.phpの編集画面を開く
ここに、必要なコードを記述していく。
(なお、本来であればtmp-userの中にあるheader-insert.phpに広告用のコードを書くことになる)
phpのコードは以下のようになる
//// head内に挿入したいタグ処理
function add_wp_meta_tag() {print<<<EOD
//ここに広告用のコードを貼り付ける
EOD;
}
add_action(‘wp_head’, ‘add_wp_meta_tag’);
下をご参考ください↓
これで無事コードも貼れた。
あとは、普通の手順に戻り、そのまま審査を進めたり自動広告を貼ったりする。
まとめ
今回は、広告用のコードがページに反映されないときの解決策をまとめました。
大きく原因はAMPを使った軽量化処理にあるということがわかったので、審査用コード以外にも普通の広告がWordpressに表示されない場合にも有効な気がしますね。
AMPを有効化した状態でもコードを挿入したい場合は回避策としてfunction.phpにすこしだけ処理を書き加えて対応するのが良さそうです。
まさかAMPが原因だったとは、意外な落とし穴でしたね。(ちなみに、一時期はAMPがあってもちゃんと広告は表示されてましたが、どっかのアップデート以降でこの様になったみたいです)
以上、今回はGoogleアドセンスのコードが反映されないときの対処法でした。
コメント