2025年09月20日(土) - 19:03 | カテゴリ:
Linux
以前からWordPressのプラグインでIndexNowの送付はしていたものの、
同期処理が都度発生するので改善したいと思っていた。
プラグインを乗り換えつつテストもしたが、しっくり来なかったため最終的に自力で作る事に。
という事で、Webmaster Toolsへ対応させつつ、sitemap.xmlの更新分のみIndexNowを送信するスクリプトを書いてみた。
サクッと作成したかったので、Qiitaで公開されていたsitemap.xmlを一覧化するスクリプトを使いつつ、
その情報をIndexNowとして送付できる様に外部スクリプトを作成して叩けるようにした。
………
作成したスクリプトは以下のリンクで公開したので、
Linux環境にダウンロードしてtar.gz形式のファイルを展開し、生成されたディレクトリを保存すれば動きます。
サンプル設定は、スクリプトを”/opt/indexnow”に保存するのを想定して書いてみました。
 |
MD5: ec12f2402f988a784c6cd08bbb14eb98 |
サンプル設定をしているので、各々の環境に合わせて設定変更してから使ってください。
2サイト目以降も追加する場合は、SITEMAPとWEBSITEの変数添え字を”site2″のように変更すれば動きます。
スクリプトの設定項目 |
設定内容 |
$SITEMAP{‘site1’} = ‘https://www.example.jp/site1/sitemap.xml’;
$WEBSITE{‘site1’} = ‘https://www.example.jp/site1/’; |
SITEMAP:sitemap.xmlを公開しているURL
WEBSITE:SITEMAPに対応する実WebサイトURL |
my $_PATH = “/opt/indexnow”;
my $_DATA = “${_PATH}/data”;
my $_FQDN = “www.example.jp”;
my $_KEY = “1234567890abcdefghijklmnopqrstuv”; |
$_PATH:スクリプトをインストールするディレクトリ
$_DATA:sitemap.xmlから生成したURLリストの格納先
$_FQDN:Webmaster Toolsに登録しているサイトドメイン
$_KEY:IndexNow登録用のAPI鍵 |
手動実行する場合はそのまま”submit.pl”を叩けば動きます。
スクリプトを定期実行するには、cronなどで”submit.pl”を実行してください。
………
実際に筆者もコレを1日2回実行して利用しており、
やりたかった事はこの時点で達成できたので筆者的は満足いく結果になった。
なお、IndexNowの送付が1日2回でリアルタイムにIndexNowへ通知したいケースもあると思いつつも、
頻度が高すぎると都度送信されてスパム判定されるリスクもあるため、筆者は1日2回の送信に落ち着いている状況。
IndexNowを使う効果の程はまだわからないが、Webmaster Tools管理画面の警告バナーが消えたのは良かった。
サクッと作ったので最適化の余地もあるが、
ガッチリ作ってもメンテナンスが大変なので今回はこの位にしようと思う。
« 続きを隠す