AIブログに楽天アフィリエイトを自動表示|Cocoonでスマホサイズを最適化した実践記録

楽天アフィリエイトの自動表示とAIブログ収益化テストを表すイラスト 副業・自動化

AIで作成した記事をWordPressへ投稿するだけでなく、広告の設置も自動化できるのか。2026年10月20日、ミロクAI(mirokuai.net)で楽天アフィリエイトの「モーションウィジェット」を導入し、公開済みの記事と今後投稿する記事の末尾に自動表示する仕組みを作りました。

結論から言うと、広告コードの設置とスマホ・PCでの表示確認までは完了しています。ただし、クリック数や成果報酬はまだ検証中です。「設置できた」と「稼げた」は分けて記録します。

今回実現したかったこと

ミロクAIのテーマはCocoonの子テーマです。やりたかったのは、記事を公開するたびにアフィリエイトコードを貼る作業をなくし、記事本文の最後へ楽天モーションウィジェットを共通表示することでした。

  • 公開済みの記事にも、新しく公開する記事にも自動で設置する
  • 固定ページや記事一覧には表示しない
  • 商品は楽天ウィジェット側の自動選定機能を利用する
  • スマホでは読みやすさ、PCでは視認性を考えてサイズを分ける
  • 既存のGoogle AdSenseコードを壊さない

「収益化を完全自動化した」という話ではありません。今回はまず広告の配信準備を、記事ごとの手作業なしで維持するための実装です。

導入したのは楽天モーションウィジェット

楽天アフィリエイトで発行したモーションウィジェットの埋め込みコードを利用しました。今回の設定では、rakuten_items="ctsmatch"、rakuten_auto_mode="on"などの設定を有効にしています。どの商品が表示されるかは楽天側の配信条件に依存するため、記事内容と常に一致することを保証するものではありません。

広告であることが読者に伝わるよう、ウィジェットの直前には「広告(楽天アフィリエイト)」と表示するようにしました。

WordPressの全記事末尾に自動挿入する方法

今回の実装は、Cocoon子テーマのfunctions.phpに処理を追加し、WordPressのthe_contentフィルターを利用する方式です。記事ごとの本文データを書き換えず、ページ表示時に広告コードを末尾へ追加します。

判定にはis_singular('post')、in_the_loop()、is_main_query()などを利用し、通常のブログ記事の本文に限定しています。管理画面、フィード、AMP表示などは対象外です。

if ( is_admin() || ! is_singular( 'post' ) ||
     ! in_the_loop() || ! is_main_query() || is_feed() ) {
    return $content;
}

// 条件を満たす場合だけ、本文末尾に広告HTMLを連結
return $content . $widget;

このコードは条件判定を抜粋したものです。これだけを単体でfunctions.phpへ貼っても動きません。実際にはウィジェット本体の設定と、フィルターへ登録する関数を組み合わせています。

スマホの広告サイズで試行錯誤した

最初はPC・スマホともに300×250で表示しました。しかしスマホでは広告が大きく感じられたため、いったん320×48の横長バナーへ変更しました。

このサイズはすっきり収まった一方で、商品画像や情報が小さく、記事末尾で読者の注意を引くには弱そうだと感じました。そこで楽天側から300×160のウィジェットコードを発行し直し、スマホ用のサイズを再設定しました。

表示環境 採用サイズ 判断
スマートフォン(幅767px以下) 300×160 商品を見やすくしつつ縦幅を抑える
PCなど(幅768px以上) 300×250 商品情報を比較的大きく表示する

ページ表示時に画面幅を判定し、rakuten_sizeを切り替えています。ウィジェットの管理用パラメータも、それぞれ楽天で発行したコードの値を使用しました。

rakuten_size = window.matchMedia("(max-width: 767px)").matches
  ? "300x160"
  : "300x250";

この設定を本番反映した後、スマートフォンで300×160の表示を確認しました。ただし、サイズ別のクリック率比較はまだ実施していません。300×160の方が必ず売れる、と結論付けたわけではありません。

思わぬ壁:MCPのテーマ公開チェックがHTTP 429で止まる

コードをChatGPTからWordPress MCPへ渡し、子テーマの変更を下書きとして準備することはできました。一方、テーマ変更の本番公開前に走る安全確認では、一部のページへのリクエストがHTTP 429となり、MCPは公開を拒否しました。

Xserverのアクセスログを調べると、WordPressのテーマPHP編集時の検証に関連するwp_scrape_key付きリクエストで429が記録されていました。管理画面や通常のMCP接続は200で応答したため、問題は主にPHP変更後の確認処理で発生していると判断しました。

ただし、429を返していた具体的な制限機構までは特定できていません。CloudSecure WP SecurityのシンプルWAFは当時「無効」になっており、これを原因と断定する根拠もありません。

以前にもMCPのテーマ変更が429で止まった記録があります。背景はWordPress MCPのテーマ変更がHTTP 429で止まった実践記事にまとめています。

最終的にXserverのファイルマネージャーで反映

今回は、MCPの公開処理を無理に突破せず、代替手段としてXserverのファイルマネージャーを利用しました。

  1. 本番のfunctions.phpをMCPで読み取り、現在のコードを確認する
  2. 楽天広告のサイズ設定だけ変更した更新用ファイルを用意する
  3. 既存のfunctions.phpをバックアップする
  4. wp-content/themes/cocoon-child-master/functions.phpを上書きする
  5. 本番ファイルをMCPで再取得して設定を照合する
  6. スマホで広告の表示を確認し、MCPに残っていた古いテーマ下書きを破棄する

この方法では既存のAdSenseコードを残したまま、楽天広告のサイズ切り替えだけを更新できました。ただし、PHPファイルの手動上書きはサイト全体の表示に影響する可能性があります。バックアップなしでの操作は推奨しません。

今回の広告設置は、少ない作業で記事運営を続けるための仕組みづくりの一部です。自動投稿環境の出発点はAIブログ運用をソロで始めるための最小構成、広告審査に向けたサイト改善はAdSense不承認からの改善記録でも解説しています。

収益化の検証はこれから

現時点で確かめられたのは、記事本文末尾への自動挿入、本番コードの更新、PC・スマホ用サイズの設定、スマホ実機での表示です。まだ楽天アフィリエイト経由のクリック数・注文・成果報酬について、比較できる実績はありません。

次は、記事へのアクセス数、楽天ウィジェット経由のクリック、発生した成果報酬を定期的に確認します。Xからの流入も追えるよう、SNS投稿にはUTMパラメータを付ける予定です。ただし、GA4のページ閲覧数と楽天側の成果件数は計測対象が異なるため、数字を混同しないようにします。

広告を置けば収益が出るわけではありません。記事を読んでもらい、広告が読者の役に立ち、実際の行動につながるかを、これからのデータで検証していきます。

まとめ:自動化できたのは「設置作業」。収益はこれから測る

楽天モーションウィジェットをWordPress記事の末尾に共通表示する仕組みを導入しました。スマホでは300×160、PCでは300×250に設定し、既存記事と今後の投稿記事に適用されます。

今回の成果は「毎回広告を貼る作業をなくした」こと。課題は「その広告が本当にクリックされ、収益に結びつくのか」です。今後の計測結果も、良い数字・悪い数字を分けずに記録していきます。

2026年10月20日のミロクAI実運用をもとにした記録。広告サイズの最適解や収益性を保証する記事ではありません。

広告(楽天アフィリエイト)

コメント

タイトルとURLをコピーしました