トラブルシューティング
Kashiwazaki SEO Schema Content Type Builder の使用中に発生しうる問題と対処法、動作要件、技術仕様について解説します。
よくある問題と対処法
JSON-LDが出力されない
| 考えられる原因 | 対処法 |
|---|---|
| プラグインが有効化されていない | 管理画面の「プラグイン」一覧で、本プラグインが有効になっていることを確認してください。 |
テーマが wp_head() を呼び出していない |
テーマの header.php に <?php wp_head(); ?> が記述されていることを確認してください。 |
| 該当投稿タイプのスキーマ出力がOFFになっている | 設定画面の「投稿タイプ設定」タブで、対象の投稿タイプのスキーマ出力が有効になっていることを確認してください。 |
| キャッシュプラグインが古い出力を表示している | キャッシュプラグイン(WP Super Cache、W3 Total Cacheなど)のキャッシュをクリアしてください。 |
リッチリザルトテストでエラーが出る
| 考えられる原因 | 対処法 |
|---|---|
| 必須プロパティが不足している | 投稿に著者情報、アイキャッチ画像が設定されていることを確認してください。Articleスキーマでは画像が必須です。 |
| 他のプラグインのJSON-LDと競合している | 他のSEOプラグインの構造化データ出力を無効にし、重複がないか確認してください。 |
| スキーマタイプの選択が不適切 | コンテンツの内容に合ったスキーマタイプ(Article、NewsArticle、BlogPosting、WebPage)を選択してください。 |
BreadcrumbListが重複して出力される
| 考えられる原因 | 対処法 |
|---|---|
| 他のプラグインもBreadcrumbListを出力している | パンくずプラグインやSEOプラグインのBreadcrumbList出力を確認し、一方を無効にしてください。 |
| テーマがBreadcrumbListを出力している | テーマの構造化データ出力機能を確認し、重複を解消してください。 |
設定が保存されない
| 考えられる原因 | 対処法 |
|---|---|
| AJAX通信がブロックされている | ブラウザの開発者ツールのコンソールでJavaScriptエラーがないか確認してください。セキュリティプラグインがAJAXリクエストをブロックしている可能性があります。 |
| ユーザー権限が不足している | 管理者権限(manage_options)を持つユーザーでログインしていることを確認してください。 |
ヒント
問題が解決しない場合は、一度プラグインを無効化してから再有効化してみてください。設定値はデータベースに保持されるため、再有効化後も設定は維持されます。
動作要件
| 項目 | 要件 |
|---|---|
| WordPress | 5.0 以上 |
| PHP | 7.4 以上 |
| 対応ブラウザ | Chrome、Firefox、Safari、Edge(最新版) |
技術仕様
- データ保存: wp_options(動的設定)、user_meta
- カスタムテーブル: なし
- 外部通信: なし
- Cronイベント: なし
- メール送信: なし
- AJAXハンドラー: 4個(設定保存・取得・プレビュー関連)
- セキュリティ: nonce検証、manage_options権限チェック、入出力サニタイズ
アーキテクチャ
Kashiwazaki SEO Schema Content Type Builder は以下のコンポーネントで構成されています。
フロントエンド出力
- JSON-LD構造化データを
<head>内にインライン出力 - Article / NewsArticle / BlogPosting / WebPage の4種類のスキーマに対応
- BreadcrumbListスキーマの自動生成
- アーカイブページにCollectionPage / ProfilePageスキーマを出力
バックエンド
- 設定データは
wp_optionsテーブルに保存 - ユーザーごとの表示設定は
user_metaに保存 - 管理画面は1ページ・5タブ構成で
manage_options権限のユーザーのみアクセス可能 - 4つのAJAXハンドラーで非同期の設定保存・取得を実現
- すべてのリクエストに nonce 検証を実施
スキーマ生成フロー
1
ページ表示時に wp_head フックでスキーマ生成が開始されます。
2
現在のページの投稿タイプを判定し、対応するスキーマタイプの設定を取得します。
3
投稿データ(タイトル、著者、公開日、更新日、アイキャッチ画像など)からJSON-LDを組み立てます。
4
BreadcrumbList設定が有効であれば、パンくずデータも含めたJSON-LDを <head> 内に出力します。
補足
カスタムテーブルやCronイベント、外部HTTP通信は使用しないため、プラグインの削除時にデータベースに不要なデータが残ることはありません。wp_options と user_meta の設定値のみが削除対象です。