インフィード広告を Cocoon と Simplicity の関連記事の中に設置
完成図
リスト内に広告を設置できるのが、Google AdSense の インフィード広告 です。リストの中への配置で、広告収入の増加を期待できます。
このインフィード広告を WordPress テーマ Cocoon と Simplicity の関連記事リストの中に設置するカスタマイズの紹介です。
カスタマイズ後は、関連記事リストの中に広告が設置されます。尚、広告のスタイルは、関連記事のスタイルと同じにできます。
ウィジェットエリアを作成
カスタマイズで最初にすることは、ウィジェットエリアの作成です。
Cocoon でも Simplicity でも 子テーマの functions.php に以下のコードを追加します。
register_sidebars( 1, array(
'name' => '広告用・関連記事の中間',
'id' => 'ad-related-widget',
'description' => '広告用・関連記事の中間に表示されるウイジェット。',
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => '',
));
ウィジェットエリアを設置
次は、作成したウィジェットエリアを関連記事の中に設置します。
Cocoon であれば、親テーマの tmp/related-list.php を子テーマの tmp フォルダにコピペをします。
Simplicity であれば、親テーマの related-entries.php を子テーマにコピペします。
子テーマに設置したファイルを開き、下記のコードを探します。
<?php if( $query -> have_posts() && !empty($args) ): //関連記事があるとき?>
<?php while ($query -> have_posts()) : $query -> the_post(); ?>
Cocoon でも Simplicity でも上記のコードを下記のコードに書き換えます。
<?php
if ( $query -> have_posts() && ! empty( $args ) ) :
$count = 0;
while ( $query -> have_posts() ) : $query -> the_post();
++$count;
if ( $count == 3 && is_active_sidebar( 'ad-related-widget' ) && ! is_amp() ) {
echo '<div class="ad-related">';
dynamic_sidebar( 'ad-related-widget' );
echo '</div>';
} ?>
6 行目の $count == 3
が、広告の配置場所の指定です。3
であれば、関連記事リスト内の 3 番目に広告が表示されます。
インフィード広告を設定
次に Google AdSense の管理画面より、インフィード広告を新規作成します。
サイトの関連記事のデザインに合うように、細かくスタイルの設定が可能です。設定方法は、インフィード広告のカスタマイズ をご参考ください。
広告コードをウィジェットに設置
作成したインフィード広告のコードをウィジェットに貼り付けます。
最初に作成した「広告用・関連記事の中間」ウィジェットエリアに「カスタム HTML」ウィジェットを放り込みます。放り込んだ「カスタム HTML」ウィジェットに広告コードを貼り付けます。
あとは必要に応じて CSS を追加します。例えば Cocoon の縦型カード 3 列の場合は、下記の CSS を子テーマの style.css に追加します。
.ad-related {
margin-bottom: 20px;
padding: 5px;
}
@media screen and (min-width: 768px) {
.ad-related {
width: 33%;
}
}
@media screen and (min-width: 356px) and (max-width: 768px) {
.ad-related {
width: 49%;
}
}
@media screen and (max-width: 356px) {
.ad-related {
width: 100%;
}
}
Cocoon にしろ Simplicity にしろ複数の関連記事タイプがあるため、各タイプの CSS の詳細は省略します。
どちらのテーマもデフォルトタイプであれば、CSS の追加は必要ないかもしれません。広告の周囲に余白が必要な場合は、インフィード広告の設定を変更すれば CSS の追加は不要です。
最後に、きちんと表示されるかを確認します。インフィード広告は、すぐに変更が反映されない場合が多いように思えます。広告が表示されない・スタイル変更が反映されない場合は、5 分ほど時間をおいて確認します。
問題点
インフィード広告は、現状 AMP には対応できません。そのため、作成したウィジェットエリアは、AMP ページで出力しないようにしています。
これにより、通常ページと AMP ページとで関連記事の合計数が異なってしまいます。
もし、関連記事数を 10 件にしている場合は、通常ページでは 10 件 + 広告 1 件の計 11 件で表示されます。それに対し AMP ページでは、10 件 + 広告 0 件の計 10 件です。
この違いが気になる場合は、今回のカスタマイズはおすすめできません。合計数を同じにするには、別途カスタマイズが必要です。