実装知識

All in One SEOの構造化データを削除する方法【WordPress】

All in One SEO(以下「AIOSEO」)は、WordpressサイトのSEO対策を強化するための定番プラグインです。
インストールするだけでタイトルタグやメタディスクリプションの設定、XMLサイトマップの生成、さらに構造化データ(Schema.org形式のJSON-LD)まで自動出力してくれます。

構造化データはGoogleなどの検索エンジンにページの意味を正しく理解させ、検索結果でリッチリザルト(星評価・パンくずリスト・イベント情報など)を表示させるために重要な役割を持ちます。しかし、すべてのケースでAIOSEOが自動生成する構造化データが理想的とは限りません。

構造化データの削除やカスタマイズが必要なケース

  • 使用中のテーマや別プラグインでも構造化データを出力しており、重複エラー(Search Consoleの警告)が出る
  • パンくずリストや特定のスキーマタイプが不要、もしくは独自のフォーマットで出力したい
  • 自作の構造化データを組み込みたいので、AIOSEO側は無効化したい
  • 特定のページ(例:トップページ)のみ構造化データをオフにしたい

この記事では、functions.phpにコードを追加してAIOSEOの構造化データを「完全に無効化」または「一部だけ削除」する方法を、具体的なコードとともに解説します。

制作についてプロに無料見積りする

本記事の編集、運営はピークスマーケティング株式会社が行っています。詳細は、コンテンツ制作ポリシープライバシーポリシーを参照ください。

構造化データ削除の考え方

AIOSEOでは、構造化データの生成をコントロールできるフィルターフックが用意されています。特に重要なのは次の2つです。

AIOSEOが提供するフィルターフック

  • aioseo_schema_disable:構造化データの生成自体を無効化するフック。trueを返すと、そのページでは構造化データが出力されなくなります。
  • aioseo_schema_output:出力される構造化データ(配列)を加工・削除するためのフック。$graphs という配列に各構造化データ(Graph)が格納されており、特定の@type を持つデータだけを削除することができます。

この2つを組み合わせることで、「特定ページでは完全オフ」+「他ページでは一部だけ削除」という柔軟な制御が可能になります。

制作についてプロに無料見積りする

実装例:functions.phpで構造化データを削除

以下のコードを、テーマ(または子テーマ)の functions.php に追加してください。

構造化データを完全に無効化

// フロントページ(トップページ)では構造化データを完全に無効化
function disable_aioseo_schema_globally( $disabled ) {
 if ( is_front_page() ) {
  return true; // 構造化データを出力しない
 }
 return $disabled;
}
add_filter( 'aioseo_schema_disable', 'disable_aioseo_schema_globally' );

is_front_page() で条件分岐を使い、トップページでは true を返すことでAIOSEOの構造化データをすべて無効化します。

特定のタイプを削除

// 出力された構造化データから特定タイプ(BreadcrumbList)を削除
add_filter( 'aioseo_schema_output', 'aioseo_filter_schema_output' );

function aioseo_filter_schema_output( $graphs ) {
 foreach ( $graphs as $index => $graph ) {

  // 「パンくずリスト」の構造化データを削除
  if ( 'BreadcrumbList' === $graph['@type'] ) {
   unset( $graphs[ $index ] );
  }

  // graph内の「breadcrumb」キーを削除(余計なパンくず情報を除去)
  foreach ( $graph as $key => $value ) {
   if ( 'breadcrumb' === $key ) {
    unset( $graphs[ $index ][ $key ] );
   }
  }
 }
return $graphs;
}

$graphs 配列には、AIOSEOが生成したすべての構造化データ(Article、BreadcrumbList、WebSiteなど)が格納されています。@type が BreadcrumbList の要素を見つけたら unset() で削除します。さらに、breadcrumb というキーを持つ情報も削除することでパンくずに関するデータを完全に消します。

実際の使用場面

この方法は以下のようなケースで役立ちます。

テーマ側にパンくずリスト構造化データがすでに実装されている場合

WordPressのテーマの中には、AIOSEOを使わなくてもパンくずリスト用の構造化データを自動で出力してくれるものがあります。例えば「Cocoon」「SWELL」などの有名テーマでは、デフォルトでパンくずリストのschemaを生成する機能が搭載されています。この状態でAIOSEOの構造化データを有効にしていると、「BreadcrumbList」が二重に出力されてしまい、Google Search Consoleに「重複する構造化データが検出されました」という警告が表示される可能性があります。
そのまま放置すると検索エンジンにとってどちらのデータが正しいのか判断できず、リッチリザルトに反映されないことも考えられます。

こうした場合にAIOSEO側の「BreadcrumbList」だけを削除しておけば、テーマのパンくず構造化データだけが残るため、重複を避けつつ最適なデータを提供できます

AMPページやLPでシンプルな構造化データにしたい場合

AMPページやキャンペーン用のランディングページは、余計な要素を極力排除し、シンプルかつ高速に表示することが求められます。
AIOSEOは便利な反面、標準で「Article」「WebPage」「BreadcrumbList」など複数の構造化データを出力するため、不要なデータが含まれるとコードが肥大化してしまい、ページ読み込みの負荷につながることがあります。

例えば「キャンペーン専用のLPでは記事情報やパンくずリストは不要」「検索結果で星評価やパンくずは表示させず、CTA(ボタン)に集中させたい」といったケースでは、AIOSEOが自動生成するスキーマを削除した方がユーザー体験にプラスになります。このように、特定のページではシンプルな構造化データだけを残すという戦略を取ると、SEOとコンバージョン両面でメリットが得られます。

制作についてプロに無料見積りする

注意点

AIOSEOの構造化データを削除する際には、便利さとリスクの両面を理解しておくことが大切です。
不用意にすべての構造化データをオフにすると、検索結果での見え方に影響が出る可能性があり、結果的にSEOパフォーマンスを下げてしまうこともあります。以下、実装前に確認しておきたい注意点を整理しました。

SEOへの影響

構造化データは検索エンジンにページ内容を伝える重要な役割を果たしています。たとえばパンくずリストのschemaを残しておけば、Google検索結果にパンくずが表示されユーザーがサイト内の階層構造を理解しやすくなります。逆に削除してしまうと、リッチリザルト(パンくず、レビュー、イベント情報など)が表示されなくなる可能性があります。

また、Googleは「リッチリザルトの有無が直接の順位決定要因ではない」と明言していますが、クリック率(CTR)やユーザー体験に影響するため、結果的にSEO評価に間接的な影響を与えることがあります。そのため、本当に不要な構造化データだけを削除し、必要なのもは残すか別の方法で補うのが理想的です。

テーマや他プラグインとの競合

WordPressではテーマや複数のプラグインが同じ種類の構造化データを出力するケースが多々あります。たとえば「テーマがすでにArticleスキーマを出しているのに、AIOSEOも同じデータを出力してしまう」といった具合です。

この場合、Google Search Consoleでは「重複する構造化データ」「不正確なデータ」などの警告が表示されることがあります。検索エンジンは「どちらを正しいデータとして解釈すべきか」判断できず、結果的にリッチリザルトが出ない・表示が不安定になるといったデメリットにつながります。

作業に入る前に、Search Consoleの「拡張」レポート や「リッチリザルトテストツール」で、実際に出力されているスキーマの種類や数を確認してから削除対応を行うと安心です。

追加コードの管理ファイル

functions.phpにコードを追加する際には、必ず子テーマカスタムプラグインを利用してください。親テーマのfunctions.phpに直接追加してしまうと、テーマのアップデート時に上書きされ、せっかくのカスタマイズが消えてしまいます。

また、カスタマイズを行う場合には「テスト環境」での動作確認も推奨されます。ローカル環境やステージング環境を用意し、実際に構造化データがどう変化するかを確認してから本番環境に反映すると、サイトトラブルを未然に防げます。

まとめ

AIOSEOは非常に便利なSEOプラグインですが、構造化データが他の機能と競合するケースも少なくありません。今回紹介した方法を使えば、不要な構造化データだけをピンポイントで削除したり、特定のページのみ無効化することができます。

特にSearch Consoleで「構造化データが重複しています」といった警告が出た場合、今回の方法を取り入れることで改善できる可能性が高いです。実装後は必ずリッチリザルト テストで出力内容を確認し、意図通りの構造化データになっているかチェックしましょう。

小森健

本記事の監修者

ピークスマーケティング株式会社 代表取締役
小森 健

大手広告代理店(東証プライム)でマーケティングやクリエイティブ作成を担当。
HP制作やLP制作、EC構築、デジタルマーケティングを得意領域とし、企画デザインからサイト実装まで一貫して対応可能なのが強み。
10年以上IT業界にいる知見を活かし、本サイトを運営。

制作についてプロに無料見積りする