ツール・技術

AI OverviewにWordPress記事を載せるために、自社ブログを本気で改修した話【実装コード公開】

公開日 最終更新

AI Overview(旧SGE、Google検索のAI要約枠)に自社の記事が引用されるかどうかは、2026年以降のWebマーケティングで決定的に効いてくる要素です。この記事では、私たちシエロデザインが自社ブログを「AI Overviewに載る土壌」にするために行った、WordPress側の実装を具体的なPHPコード込みで公開します。他社さんの実装にもそのまま応用できる内容です。

なぜ AI Overview 対応が必要か

Google検索の結果ページ最上部に、AIが要約した回答(AI Overview)が表示されるケースが急増しています。そこに引用されるかどうかで、クリック率・ブランド露出・「◯◯といえば◯◯」の指名想起率が大きく変わります。

従来のSEOが「順位を上げる」ゲームだったのに対し、AI Overview対策(GEO:Generative Engine Optimization)は「AIが引用しやすい構造で書き、機械可読な形でメタデータを渡す」ゲームです。人間の目線と、AIの目線、両方に最適化する必要があります。

今回、私たちが実装した9項目

  • BlogPosting JSON-LD の出力
  • FAQPage JSON-LD の自動生成(記事内のQ.A.パターンを検出)
  • HowTo JSON-LD の自動生成(記事内の「ステップ」見出し + olを検出)
  • BreadcrumbList JSON-LD の出力
  • 目次(TOC)自動生成 と H2/H3 への id 自動付与
  • 公開日・最終更新日の可視表示
  • 関連記事ブロックの自動出力
  • robots.txt に AI crawler 明示 Allow
  • アイキャッチ未設定時の og:image フォールバック

すべて WordPress のカスタム投稿タイプ(CPT)用プラグインとして実装。他のテーマ・環境でもそのまま使える構造にしています。

1. BlogPosting 構造化データの出力

Google検索で記事情報を正しく認識してもらう基礎。BlogPosting schema には headline / description / image / datePublished / dateModified / wordCount / author / publisher を含めます。特に author はE-E-A-Tの評価に効くため、Personとしてjob title・descriptionまで書きます。

📖 前身記事:この BlogPosting JSON-LD の初期実装については 「WordPress の自作CPTに BlogPosting 構造化データ(JSON-LD)を後付けした話」 をご覧ください。

2. FAQPage JSON-LD の自動生成【差別化ポイント】

記事末尾の「よくあるご質問」を、機械可読な FAQPage schema として出力すると、AI Overview / SGE / Google FAQ枠での引用率が明らかに上がります。ポイントは「手で書かなくても自動で生成される」こと。記事に Q. ◯◯ というH3と直後の A. ◯◯ の段落があれば、プラグインが自動でschema化します。

// 記事本文から Q./A. パターンを検出
if ( preg_match_all(
    '#<h3[^>]*>\s*(Q[\..]\s*[^<]+)\s*</h3>\s*<p[^>]*>\s*(A[\..]\s*[^<]+)#us',
    $rendered_content, $matches, PREG_SET_ORDER
) ) {
    foreach ( $matches as $qa ) {
        $faq_entities[] = [
            '@type' => 'Question',
            'name'  => trim( preg_replace( '#^Q[\..]\s*#u', '', $qa[1] ) ),
            'acceptedAnswer' => [
                '@type' => 'Answer',
                'text'  => trim( preg_replace( '#^A[\..]\s*#u', '', $qa[2] ) ),
            ],
        ];
    }
}

3. HowTo JSON-LD の自動生成【手順記事に強い】

「サイトリニューアルの進め方」「◯◯のやり方」のような手順系記事は、HowTo schemaを出すと Google の手順ハイライト表示や AI Overview での step-by-step 引用が狙えます。H2に「ステップ」を含み、直後に順序リスト(<ol>)が来るパターンを検出して自動で HowToStep に変換します。

if ( preg_match(
    '#<h2[^>]*>[^<]*ステップ[^<]*</h2>\s*(?:<[^>]+>\s*)*<ol[^>]*>(.*?)</ol>#us',
    $content, $mHowTo
) ) {
    preg_match_all( '#<li[^>]*>(.+?)</li>#us', $mHowTo[1], $liMatches );
    foreach ( $liMatches[1] as $i => $li ) {
        $steps[] = [
            '@type'    => 'HowToStep',
            'position' => $i + 1,
            'name'     => trim( wp_strip_all_tags( $li ) ),
        ];
    }
}

4. BreadcrumbList JSON-LD

パンくずリストを構造化データとして出力すると、Google検索結果でURLの代わりにパンくずが表示され、CTRが上がります。ホーム > ブログ > カテゴリ > 記事タイトル の階層を、ItemListElement として渡します。

5. 目次(TOC)自動生成 と 見出しID自動付与

長文記事の読了率を上げると、間接的に検索評価も上がります。the_content フィルタで H2/H3 を検出し、id を自動付与しつつ、最初の H2 の直前に TOC ブロックを挿入します。手動でアンカーIDを書く手間がなくなる副次効果も大きい。

$content = preg_replace_callback(
    '#<(h[23])([^>]*)>(.*?)</\1>#is',
    function ( $m ) use ( &$headings, &$counter ) {
        $counter++;
        $id = 'sec-' . $counter;
        // 既存のid属性があればそちらを優先
        if ( ! preg_match( '#\bid=["\'][^"\']+["\']#i', $m[2] ) ) {
            $m[2] .= ' id="' . esc_attr( $id ) . '"';
        }
        $headings[] = [ 'level' => substr( $m[1], 1 ), 'id' => $id, 'text' => wp_strip_all_tags( $m[3] ) ];
        return '<' . $m[1] . $m[2] . '>' . $m[3] . '</' . $m[1] . '>';
    },
    $content
);

6. 公開日・最終更新日の可視表示

E-E-A-T の Freshness(情報の鮮度)評価に対応します。JSON-LDの datePublished / dateModified に加えて、記事本文の見える位置にも表示。読者が「いつの情報か」を即座に判断できると、記事の信頼性評価が上がります。

7. 関連記事の自動出力

同じ blog_category の最新3件を、記事末尾に自動表示。内部リンクを増やしてサイト回遊率と滞在時間を上げるとともに、AI にとっての「トピック関連性」のシグナルを強化します。

8. robots.txt に AI crawler 明示 Allow【GEO対応の要】

GPTBot / ClaudeBot / PerplexityBot / Google-Extended / Applebot-Extended などの AI クローラーは、robots.txt で明示的にAllowされているサイトを優先的にクロール・引用する傾向があります。デフォルトで許可されている状態でも、「明示的なAllow」を書くことは 歓迎シグナル として意味を持ちます

add_filter( 'robots_txt', function ( $output, $public ) {
    if ( ! $public ) return $output;
    $agents = [ 'GPTBot', 'ChatGPT-User', 'ClaudeBot', 'Claude-Web',
        'PerplexityBot', 'Google-Extended', 'Applebot-Extended',
        'CCBot', 'Bytespider', 'Meta-ExternalAgent', 'Amazonbot' ];
    $ai = "\n# --- AI crawlers 明示 Allow ---\n";
    foreach ( $agents as $ua ) {
        $ai .= "User-agent: $ua\nAllow: /\n\n";
    }
    return $output . $ai;
}, 10, 2 );

9. アイキャッチ未設定時の og:image フォールバック

記事にアイキャッチが未設定の場合、JSON-LD の image プロパティが空になり、AI や SNS カード生成時に「画像なし」扱いされます。それを防ぐため、CIELO DESIGN の公式 OGP 画像を自動でフォールバック設定しています。

効果検証:AI Overview 掲載への道のり

この改修は2026年7月27日に本番反映しました。狙うキーワードは「サイトリニューアル 進め方」。上記の実装+ 実案件の一次情報(弊社の実見積・実期間・AI活用実データ)を盛り込んだピラー記事を同日公開し、AI Overview への掲載を狙って観測を開始します。

結果は追って本ブログで公開予定です。「制作会社であり、SEO・GEO の実行会社でもある」という私たちのポジションを、実データで語り続けます。

🤖 関連:AI活用でWordPress運用が変わった実例は 「Claude CodeでWordPress修正が半分の時間で終わるようになった話」 をご覧ください。

まとめ:AI Overview対応は「土壌 × コンテンツ」の掛け算

AI Overview に載る/載らないは、コンテンツの質だけで決まりません。サイト側の実装(構造化データ・robots.txt・パフォーマンス)と、記事コンテンツの質、この掛け算で初めて機能します。片方だけをどれだけ磨いても、もう片方が弱いと引用されません。

2026年、SEOの主戦場は AI Overview に移り始めています。従来の「順位を上げる」だけでは戦えない時代に、CMS 実装から本気で見直す価値があります。この記事の内容をそのまま自社サイトに実装したい方は、お気軽にお問い合わせください。

よくあるご質問(FAQ)

Q. FAQPage schema を追加するだけで AI Overview に載りますか?

A. schema 単体では載りません。コンテンツの質・一次情報・トピック権威性の3点が揃って初めて引用対象になります。schema は「引用しやすい形に整えるパッケージング」の役割です。

Q. AI crawler を robots.txt でブロックすべきという意見もありますが?

A. コンテンツの無断学習を嫌うサイトはブロック運用します。ただしその場合、AI Overview への引用機会も同時に失います。ブランド露出とAI学習リスクの二者択一で判断してください。私たちシエロデザインは「引用してもらう側」を選びました。

Q. WordPress 以外のCMS(Headless / STUDIO 等)でも同じ対応は可能ですか?

A. 可能です。JSON-LD は HTML の <script type="application/ld+json"> として出力するため、CMSの種類を問いません。robots.txt はサーバー側の設定として対応可能です。

Q. 実装コスト(工数)はどのくらいかかりますか?

A. 今回の9項目一式で、実装+テスト合わせて 半日〜1日 の工数感です。ただしテストと計測設計まで含めると、1週間見ておくと安心です。

この記事を書いた人

佐藤 広樹

WEBディレクター

佐藤 広樹 Sato

仕事を通じて出会った方から「人から学ぶ」ことを大切に、AIやWEBから得られない知見を吸収するよう意識しています。

シエロデザインのサービス

サービス一覧を見る →

お問い合わせ

Webサイト制作・保守・広告運用・Web戦略チーム支援など、私たちシエロデザインが伴走できる領域はさまざまです。
「うちの場合どうすれば?」というご相談も、まずはお気軽にお声がけください。

お問い合わせフォームへ →

AI OverviewにWordPress記事を載せるために、自社ブログを本気で改修した話【実装コード公開】