トラブルシューティング
Kashiwazaki SEO Shortcode Collector の使用中に発生しうる問題と対処法、動作要件、技術仕様について解説します。
よくある問題と対処法
ショートコードが表示されない(テキストのまま出力される)
| 考えられる原因 | 対処法 |
|---|---|
| プラグインが有効化されていない | 管理画面の「プラグイン」一覧で、本プラグインが有効になっていることを確認してください。 |
| ショートコードの記述ミス | ショートコードのタグ名やパラメータが正しいか確認してください。ウィザードで再生成することを推奨します。 |
| エディタがショートコードをエスケープしている | ブロックエディタの場合は「ショートコード」ブロックを使用してください。クラシックエディタの場合はテキストモードで貼り付けてください。 |
コンテンツ一覧が空になる
| 考えられる原因 | 対処法 |
|---|---|
| 指定した投稿タイプに公開済みの投稿がない | 指定した投稿タイプに公開済みのコンテンツが存在するか確認してください。 |
| カテゴリの指定が間違っている | カテゴリのスラッグまたはIDが正しいか確認してください。ウィザードのプレビューで事前に確認できます。 |
| カスタム投稿タイプのスラッグが間違っている | カスタム投稿タイプのスラッグが正確に指定されているか確認してください。大文字・小文字は区別されます。 |
レイアウトが崩れる
| 考えられる原因 | 対処法 |
|---|---|
| テーマのCSSとの競合 | ブラウザの開発者ツールで、テーマのCSSがプラグインのスタイルを上書きしていないか確認してください。 |
| ブレークポイントの設定が不適切 | 設定タブでモバイル・タブレットのブレークポイント値を確認し、テーマのブレークポイントと整合性があるか確認してください。 |
| キャッシュプラグインの影響 | キャッシュプラグインのキャッシュをクリアしてから表示を確認してください。CSS/JSの結合・圧縮機能が干渉している場合は、本プラグインのファイルを除外設定してください。 |
ウィザードが動作しない
| 考えられる原因 | 対処法 |
|---|---|
| JavaScriptエラーが発生している | ブラウザの開発者ツール(コンソール)でJavaScriptエラーがないか確認してください。他のプラグインとのJS競合が原因の場合があります。 |
| AJAX通信がブロックされている | セキュリティプラグインやサーバーの設定でAJAX通信がブロックされていないか確認してください。 |
| jQueryが読み込まれていない | テーマまたは他のプラグインがjQueryの読み込みを無効化していないか確認してください。 |
ヒント
問題が解決しない場合は、一度プラグインを無効化してから再有効化してみてください。設定値はデータベースに保持されるため、再有効化後も設定は維持されます。
動作要件
| 項目 | 要件 |
|---|---|
| WordPress | 5.0 以上 |
| PHP | 7.4 以上 |
| 対応ブラウザ | Chrome、Firefox、Safari、Edge(最新版) |
技術仕様
- データ保存: wp_options (ksc_mobile_breakpoint, ksc_tablet_breakpoint, ksc_options)
- カスタムテーブル: なし
- 外部通信: なし
- Cronイベント: なし
- メール送信: なし
- セキュリティ: nonce検証、manage_options権限チェック、入出力サニタイズ
アーキテクチャ
Kashiwazaki SEO Shortcode Collector は以下のコンポーネントで構成されています。
フロントエンド
- CSS(約20KB)で3種類のレイアウトとレスポンシブ対応を実装
- JavaScript(約41KB)でカルーセル動作とインタラクションを実装
- ショートコードベースの静的HTML出力(検索エンジンがクロール可能)
バックエンド
- 設定データは
wp_optionsテーブルに保存(ksc_mobile_breakpoint、ksc_tablet_breakpoint、ksc_options) - 管理画面はウィザードタブ・設定タブの2タブ構成
- 4つのAJAXハンドラーでウィザードの動的操作を実現
- すべてのAJAX通信にnonce検証を実施
ショートコード処理フロー
1
ショートコードがパースされ、投稿タイプ・カテゴリ・レイアウトなどのパラメータが抽出されます。
2
WP_Query を使用して、指定された条件に合致するコンテンツを取得します。
3
取得したコンテンツを指定されたレイアウト(グリッド・リスト・カルーセル)のHTMLテンプレートに流し込みます。
4
生成されたHTMLがショートコードの位置に出力されます。必要なCSS/JSも自動的にエンキューされます。
補足
カスタムテーブルやCronイベントは使用しないため、プラグインの削除時にデータベースに不要なデータが残ることはありません。wp_options の設定値のみが削除対象です。