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