トラブルシューティング
Kashiwazaki SEO Canonical の使用中に発生しうる問題と対処法、動作要件、技術仕様について解説します。
よくある問題と対処法
canonicalタグが出力されない
| 考えられる原因 | 対処法 |
|---|---|
| プラグインが有効化されていない | 管理画面の「プラグイン」一覧で、本プラグインが有効になっていることを確認してください。 |
テーマが wp_head() を呼び出していない |
テーマの header.php に <?php wp_head(); ?> が記述されていることを確認してください。 |
| 他のプラグインがwp_headの出力を妨げている | 他のプラグインを一時的に無効化して、canonicalタグが出力されるか確認してください。 |
canonicalタグが重複して出力される
| 考えられる原因 | 対処法 |
|---|---|
| 競合canonical除去が無効になっている | 設定画面で競合canonical除去機能が有効になっていることを確認してください。 |
| テーマがcanonicalタグをハードコードしている | テーマのテンプレートファイル内に直接記述された <link rel="canonical"> がないか確認してください。テーマに直接記述されたcanonicalはプラグインでは除去できません。 |
| 未対応のプラグインがcanonicalを出力している | 競合除去の対象外のプラグインがcanonicalを出力している可能性があります。該当プラグインのcanonical出力を手動で無効にしてください。 |
canonical URLが正しくない
| 考えられる原因 | 対処法 |
|---|---|
| HTTPS/www正規化の設定が実際のサイトURLと不一致 | HTTPS正規化とwww正規化の設定が、WordPress管理画面の「一般設定」のサイトURLおよびサーバーの実際のリダイレクト設定と一致していることを確認してください。 |
| カスタムcanonical URLが誤って設定されている | 投稿編集画面のメタボックスでカスタムcanonical URLを確認し、必要に応じて修正または削除してください。 |
| ページネーション設定が意図と異なる | ページネーションのcanonical処理設定を確認し、「親ページに統合」または「各ページのURLを使用」から適切な方を選択してください。 |
メタボックスが表示されない
| 考えられる原因 | 対処法 |
|---|---|
| 表示オプションで非表示になっている | 投稿編集画面右上の「表示オプション」をクリックし、「SEO Canonical」にチェックが入っていることを確認してください。 |
| ブロックエディタで折りたたまれている | ブロックエディタの場合、右サイドバーまたはエディタ下部のメタボックスエリアを確認してください。 |
ヒント
問題が解決しない場合は、一度プラグインを無効化してから再有効化してみてください。設定値はデータベースに保持されるため、再有効化後も設定は維持されます。
動作要件
| 項目 | 要件 |
|---|---|
| WordPress | 5.0 以上 |
| PHP | 7.4 以上 |
| 対応ブラウザ | Chrome、Firefox、Safari、Edge(最新版) |
技術仕様
- データ保存: wp_options (kashiwazaki_seo_canonical_options)、post_meta
- カスタムテーブル: なし
- 外部通信: なし
- Cronイベント: なし
- メール送信: なし
- セキュリティ: nonce検証、manage_options権限チェック、入出力サニタイズ
アーキテクチャ
Kashiwazaki SEO Canonical は以下のコンポーネントで構成されています。
フロントエンド
<link rel="canonical">をwp_headのプライオリティ1で出力- JavaScriptやCSSのフロントエンド出力なし
- Core Web Vitalsへの影響はゼロ
バックエンド
- プラグイン設定は
wp_optionsテーブルにkashiwazaki_seo_canonical_optionsキーで保存 - カスタムcanonical URLは各投稿の
post_metaに保存 - 2つの管理画面(設定画面 + canonical URL一覧画面)
- 管理画面は
manage_options権限のユーザーのみアクセス可能 - すべてのフォーム送信に nonce 検証を実施
Canonical URL決定フロー
1
wp_head アクション(プライオリティ1)がトリガーされ、競合するcanonical出力を事前に除去します。
2
現在のページの投稿メタからカスタムcanonical URLの有無を確認します。
3
カスタムcanonicalが未設定の場合、パーマリンクからURLを取得し、HTTPS正規化・www正規化・ページネーション処理を適用します。
4
最終的なcanonical URLを <link rel="canonical"> タグとしてHTML出力します。
補足
カスタムテーブルやCronイベントは使用しないため、プラグインの削除時にデータベースに不要なデータが残ることはありません。wp_options の設定値と post_meta のcanonical URL情報のみが削除対象です。