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"

参考


Related #circleci

AWS SAMで作ったLambdaアプリをCircleCIでデプロイする

circleci/aws-serverlessのOrbを使った

CircleCIでFirebaseHostingに自動デプロイする

workflowsのfiltersを使ってproductionブランチの場合のみbuildとdeployを行う

GridsomeとContentfulとCircleCIを組み合わせて予約投稿ができるようにする

CircleCIのSchedule Jobsを使って定期ビルドするようにした