トラブルシューティング
Kashiwazaki SEO Universal Sitemap の使用中に発生しうる問題と対処法、動作要件、技術仕様について解説します。
よくある問題と対処法
サイトマップが生成されない
| 考えられる原因 | 対処法 |
|---|---|
| プラグインが有効化されていない | 管理画面の「プラグイン」一覧で、本プラグインが有効になっていることを確認してください。 |
| 書き込み権限が不足している | 静的生成モードの場合、サイトマップファイルの書き込み先ディレクトリにPHPからの書き込み権限があることを確認してください。 |
| 公開済みの投稿がない | サイトマップに含まれるのは公開状態(publish)の投稿のみです。下書きや非公開の投稿は対象外です。 |
サイトマップURLにアクセスできない(404エラー)
| 考えられる原因 | 対処法 |
|---|---|
| リライトルールが未登録 | 設定 > パーマリンク設定 で「変更を保存」をクリックし、リライトルールを再生成してください。 |
| .htaccessが書き込み不可 | Apache環境の場合、.htaccessファイルがWebサーバーから書き込み可能であることを確認してください。 |
| 他のプラグインとの競合 | 他のサイトマッププラグインが同じURLパスを使用している可能性があります。競合プラグインを無効にしてください。 |
サイトマップが更新されない
| 考えられる原因 | 対処法 |
|---|---|
| キャッシュプラグインが古いサイトマップを配信している | キャッシュプラグインのキャッシュをクリアしてください。サイトマップURLをキャッシュ除外に設定することを推奨します。 |
| CDNがキャッシュしている | CDN(Cloudflareなど)を使用している場合、サイトマップURLのキャッシュをパージしてください。 |
| 静的ファイルの書き込みに失敗している | 管理画面からサイトマップの手動再生成を実行し、エラーメッセージを確認してください。 |
GZIP圧縮が動作しない
| 考えられる原因 | 対処法 |
|---|---|
| zlib拡張が無効 | PHPのzlib拡張が有効になっていることを確認してください。phpinfo() で確認できます。 |
| サーバーの設定で圧縮が制限されている | ホスティング会社に問い合わせて、GZIP圧縮の利用が可能か確認してください。 |
ヒント
問題が解決しない場合は、一度プラグインを無効化してから再有効化してみてください。設定値はデータベースに保持されるため、再有効化後も設定は維持されます。
動作要件
| 項目 | 要件 |
|---|---|
| WordPress | 5.0 以上 |
| PHP | 7.4 以上 |
| 対応ブラウザ | Chrome、Firefox、Safari、Edge(最新版) |
技術仕様
- データ保存: wp_options (ksus_*系8キー)
- カスタムテーブル: なし
- 外部通信: なし
- Cronイベント: なし(コンテンツ更新時に再生成)
- メール送信: なし
- セキュリティ: nonce検証、manage_options権限チェック、入出力サニタイズ
アーキテクチャ
Kashiwazaki SEO Universal Sitemap は以下のコンポーネントで構成されています。
サイトマップ生成フロー
1
コンテンツの公開・更新・削除をトリガーとして、サイトマップ再生成プロセスが開始されます。
2
有効な投稿タイプの公開済みコンテンツをデータベースから取得し、各サイトマップタイプ(標準・画像・動画・ニュース)ごとにXMLを構築します。
3
URL数が50,000件を超える場合、自動的にサイトマップインデックスと分割サイトマップを生成します。
4
静的モードではファイルとして保存、動的モードではリクエスト時にリアルタイム出力します。GZIP圧縮が有効な場合は圧縮版も同時に生成します。
フロントエンド
<link rel="sitemap">をwp_head経由で出力- リライトルールによるクリーンなサイトマップURL
- JavaScriptは管理画面のAJAX処理のみ使用
バックエンド
- 設定データは
wp_optionsテーブルにksus_*系8キーで保存 - カスタムテーブルは使用せず、WordPress標準のデータ構造のみを利用
- 管理画面は
manage_options権限のユーザーのみアクセス可能 - すべてのフォーム送信とAJAXリクエストに nonce 検証を実施
補足
カスタムテーブルやCronイベントは使用しないため、プラグインの削除時にデータベースに不要なデータが残ることはありません。wp_options の設定値のみが削除対象です。