CircleCIでのデプロイ時にsitemap.xmlを送信する
このブログはContentfulのwebhookとCircleCI APIを使って記事の公開管理を行っている。
記事公開時にsitemap.xmlを生成しているが、sitemap.xmlの送信を実行していなかったので対応方法を調べてみた。
sitemap.xmlの送信方法に関しては以下の3通りの方法があり、
- Search Consoleから手動で送信
- obots.txt ファイルに Sitemap: https://~ を追加
- http://www.google.com/ping?sitemap=<complete_url_of_sitemap> にHTTP GET リクエストを送信
今回はCircleCIのデプロイフローに組み込みたかったのでHTTPリクエストを送信する方法で対応することにした。
[[run: |]] で複数行commandを簡略化して書けるので以下のようにcurlコマンドを追加。
version: 2
jobs:
deploy:
steps:
# ~ その他のデプロイ設定 ~
- run: |
curl "http://www.google.com/ping?sitemap=${SITE_URL}/sitemap.xml"
curl "http://www.bing.com/ping?sitemap=${SITE_URL}/sitemap.xml"