トラブルシューティング
Kashiwazaki SEO Lock Modified Date の使用中に発生しうる問題と対処法、動作要件、技術仕様について解説します。
よくある問題と対処法
ロックしているのに更新日が変わる
| 考えられる原因 | 対処法 |
|---|---|
| ロックが正しく保存されていない | メタボックスでロックをオンにした後、投稿を保存(更新)してください。保存せずにページを離れるとロック状態が反映されません。 |
| 他のプラグインが更新日を上書きしている | 他のプラグイン(特にSEOプラグインやキャッシュプラグイン)を一時的に無効化し、ロック機能が正常に動作するか確認してください。 |
| データベース直接操作による更新 | phpMyAdmin等からの直接的なデータベース操作は、プラグインのロック機能を迂回します。WordPress管理画面から編集してください。 |
メタボックスが表示されない
| 考えられる原因 | 対処法 |
|---|---|
| プラグインが有効化されていない | 管理画面の「プラグイン」一覧で、本プラグインが有効になっていることを確認してください。 |
| 表示オプションで非表示にされている | 投稿エディタ画面右上の「表示オプション」を開き、「更新日ロック」にチェックが入っていることを確認してください。 |
| ユーザー権限が不足している | 投稿の編集権限を持つユーザーでログインしていることを確認してください。 |
一括ロック・アンロックが完了しない
| 考えられる原因 | 対処法 |
|---|---|
| AJAX通信がタイムアウトしている | 投稿数が非常に多い場合、処理に時間がかかることがあります。ページを再読み込みして再度実行してください。 |
| nonce検証の失敗 | ページを再読み込みしてから再度操作してください。セッションが切れている可能性があります。 |
| サーバーのメモリ制限 | 大量の投稿がある場合、PHPのメモリ制限に達する可能性があります。php.iniの memory_limit を確認してください。 |
手動で設定した日付が反映されない
| 考えられる原因 | 対処法 |
|---|---|
| 日付フォーマットが不正 | 正しい日付フォーマット(YYYY-MM-DD HH:MM:SS)で入力してください。 |
| 投稿の保存を忘れている | 日付を変更した後、必ず投稿を保存(更新)してください。 |
ヒント
問題が解決しない場合は、一度プラグインを無効化してから再有効化してみてください。設定値はデータベースに保持されるため、再有効化後も設定は維持されます。
動作要件
| 項目 | 要件 |
|---|---|
| WordPress | 6.0 以上 |
| PHP | 7.4 以上 |
| 対応ブラウザ | Chrome、Firefox、Safari、Edge(最新版) |
技術仕様
- データ保存: wp_options (kseo_lock_modified_date_*)、post_meta
- カスタムテーブル: なし
- 外部通信: なし
- Cronイベント: なし
- メール送信: なし
- セキュリティ: nonce検証、権限チェック
アーキテクチャ
Kashiwazaki SEO Lock Modified Date は以下のコンポーネントで構成されています。
フロントエンド
- フロントエンド出力は一切なし(JSON-LD、メタタグ、CSS、JavaScriptなし)
- サイトの表示速度やCore Web Vitalsに影響を与えない
バックエンド
- 設定データは
wp_optionsテーブルにkseo_lock_modified_date_*キーで管理 - 個別のロック状態は各投稿の
post_metaに保存 - 2つのAJAXハンドラーで一括ロック・アンロック操作を処理
- 投稿保存時のフック(
wp_insert_post_data)でロック状態を確認し、更新日の上書きを防止
ロック処理フロー
1
投稿の保存時に、WordPressが wp_insert_post_data フィルターを実行します。
2
プラグインが該当投稿の post_meta からロック状態を確認します。
3
ロックがオンの場合、post_modified と post_modified_gmt を保存前の値に復元し、更新日の変更を防止します。
4
手動日付変更が指定されている場合は、ロック状態に関わらず指定した日時を post_modified に設定します。
補足
カスタムテーブルやCronイベントは使用しないため、プラグインの削除時にデータベースに不要なデータが残ることはありません。wp_options の設定値と各投稿の post_meta のみが削除対象です。