Kashiwazaki SEO XML VitalCheck
Batch check the health of multiple XML files (such as sitemaps and RSS feeds). Automate monitoring with scheduled runs and email notifications to keep essential SEO-related XML files under control.
by 柏崎剛 (Tsuyoshi Kashiwazaki) · github.com/tsuyoshikashiwazaki/wp-plugin-kashiwazaki-seo-xml-vitalcheck · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/tsuyoshikashiwazaki/wp-plugin-kashiwazaki-seo-xml-vitalcheck/archive/refs/heads/main.zipReadme
🚀 Kashiwazaki SEO XML VitalCheck
複数のXMLファイルURLをチェックし、XMLバージョン、フォーマットタイプ、件数を可視化するWordPressプラグインです。SEO対策研究室による開発。
🎯 XMLサイトマップとRSSフィードの健全性をワンクリックで一括チェック
主な機能
- 📊 XML解析機能: XMLバージョン、フォーマットタイプ(Sitemap、RSS、Atom等)、件数を自動判定
- 🔍 到達性チェック: XML内に含まれる各URLの生存確認を分割実行
- ⏰ スケジュール実行: 定期的な自動チェック機能(cron対応・日本時間)
- 📧 メール通知: チェック結果を指定メールアドレスに自動送信
- 🛡️ セキュリティ: 管理者権限(
manage_options)必須、nonce検証、出力エスケープ、SSRF対策、TLS証明書の常時検証
🚀 クイックスタート
- プラグインファイルをWordPressの
wp-content/plugins/ディレクトリにアップロード - WordPress管理画面で「プラグイン」→「インストール済みプラグイン」へ移動
- 「Kashiwazaki SEO XML VitalCheck」を有効化
- 管理画面に表示される「設定」リンクをクリック
- URLリストにXMLサイトマップやRSSフィードのURLを入力
- 「XMLを解析」ボタンでチェック実行
使い方
基本操作
-
URLリスト設定: XMLサイトマップやRSSフィードのURLを1行に1つずつ入力
https://yoursite.com/sitemap.xml https://yoursite.com/feed/ https://yoursite.com/sitemap_index.xml -
XML解析: 「XMLを解析」ボタンで解析結果を表示
-
到達性チェック: 解析結果の行から「到達性チェック」ボタンでXML内の各URLを検証
自動実行設定
- 定期実行: チェックボックスで定期実行を有効化
- 実行時刻: 日本時間での実行時刻を指定(00:00〜23:59)
- 通知設定: メールアドレス入力でチェック結果を自動送信
技術仕様
- 対応WordPress: 5.8以上
- 対応PHP: 7.4以上
- 対応XML形式:
- XMLサイトマップ(Sitemap Index、URL Set)
- RSSフィード(RSS 2.0)
- Atomフィード
- HTTP通信: WordPress HTTP API(
wp_safe_remote_get/wp_safe_remote_head) - 権限: 管理者権限(
manage_options)
セキュリティについて
本プラグインはサーバーから任意のURLへリクエストを行うため、以下の対策を実装しています。
- 認可: すべての管理画面操作・AJAXエンドポイントで
manage_optionsを required - CSRF対策: すべての書き込み・実行系リクエストで nonce を検証
- SSRF対策:
- スキームを
http/httpsに限定 - プライベートIP・ループバック・リンクローカル・IANA特殊用途アドレスへの到達を既定で拒否
- リダイレクト先を1ホップずつ再検証
- 異なるオリジンへ遷移する際は認証ヘッダーを引き継がない
- スキームを
- TLS: 証明書検証を常に有効
- 出力エスケープ: 外部XML由来の値を含むすべての表示値をエスケープ
- リソース制限: レスポンスサイズ上限、タイムアウト、抽出URL件数の上限
内部ネットワーク宛URLの監視
既定では内部ネットワーク宛のURLを拒否します。ローカル開発環境や社内サイトマップを意図的に監視する場合は、次のフィルタで許可してください。
add_filter( 'kashiwazaki_xml_vitalcheck_allow_private_hosts', '__return_true' );
有効化すると内部宛リクエストが可能になるため、URLリストを編集できるのが信頼できる管理者のみであることを確認してください。
ライセンス
GPL-2.0-or-later
サポート・開発者
開発者: 柏崎剛 (Tsuyoshi Kashiwazaki) ウェブサイト: https://www.tsuyoshikashiwazaki.jp/ サポート: プラグインに関するご質問や不具合報告は、開発者ウェブサイトまでお問い合わせください。
🤝 貢献
- バグ報告や機能提案はGitHubのIssuesページで受け付けています
- プルリクエストによる改善提案も歓迎します
- 開発者ウェブサイトからの直接連絡も可能です
🔍 Keywords: WordPress, XML, Sitemap, RSS, SEO, Cron, Health Check, Monitoring
Made with ❤️ by Tsuyoshi Kashiwazaki