AdSense を設置した
TL;DR
「価値の低い広告枠(コンテンツが複製されているサイト)」のエラーは移転元の検索インデックスを直したら突破できた。 React Component 化したら Gatsby でもうまくいった。
経緯
ブログをはてなブログからドメインに移してまた書き始めていたら、AdSense に申請してみたくなってきた。 しばらく非活発になっていたうちに Amazon アソシエイト・プログラムのアカウントが閉鎖されてしまったのもきっかけの 1 つである。
Amazon アソシエイト・プログラム、365 日間売上がなかったのでアカウントを閉鎖しますというメールが来た
— wk (@wk) April 17, 2019
審査
寝る前に AdSense に申請しておいたら朝には審査結果のメールが来ていた。 「価値の低い広告枠(コンテンツが複製されているサイト)」と出て不承認だった。
もちろんコンテンツの複製なんてしていないのだが、可能性がありそうなのが
- 移転前のはてなブログからの複製と判断された
- このサイトのソースコードを置いている GitHub リポジトリ からの複製と判断された
あたりと思われた。 もし後者なら手の打ちようが思いつかないので、とりあえず前者を想定して、下記のようにしてみた。
- はてなブログのカスタムヘッダーで、JavaScript のリダイレクトに加えて
<link rel="canonical">
も挿入するようにする - wktk.jp だけではなく、はてなブログを Google Search Console に登録する
- まだインデックスされたままのページの再クロール申請をあげておく
- wktk.jp 側で、はてなブログからリダイレクトされてきたときに 404 にならないようにリダイレクト先の URL を対応させる
上記をやって数日か 1 週間程度が経って、再クロールが反映されてはてなブログのインデックスが減ったのを確認したので、再度申請した。
今度は 1 日も経たずに合格のメールが来た。
お客様のサイトで AdSense 広告を配信する準備が整いました
— wk (@wk) July 19, 2019
よく言われているプライバシー ポリシーやお問い合わせフォームの設置は特にしていないが大丈夫だった。
導入
導入するのに若干慣れなかったところが、Virtual DOM のせいか発行されたタグを単純に貼っても動作しないことだった。 AdSense タグの React Component を作成して呼ぶようにするとうまく行った。
import React from 'react';
export default class AdSense extends React.Component {
componentDidMount () {
(window.adsbygoogle = window.adsbygoogle || []).push({});
}
render () {
return (
<ins className='adsbygoogle'
style={{ display: 'block' }}
data-ad-client='ca-pub-0000000000000000'
data-ad-slot='2985375000'
data-ad-format='auto'
data-full-width-responsive='true'
/>
);
}
}
ブログの CSS も若干修正した。広告枠の周りに微妙に隙間ができてしまったり、変な背景色がついてしまったりしていた。
所感
10 年前中学生の頃に AdSense の審査に挫折したことがあって難易度の高いイメージだったが、今回は案外すんなりいったのでよかった。 一方、広告があると見栄えが悪いし読み込みが遅くなるし、収益を期待できるようなブログでもないので、続けるかどうかはまた判断したい。