Traffine I/O

日本語

2023-07-03

GiHub Actionsを使用したサイトマップ更新の自動化

はじめに

SEOの一環として、Google Search Consoleにサイトマップを登録することは特に新しいウェブサイトにとって重要なステップとなります。サイトマップを持つことで、Googleのウェブクローラーがウェブページをより効率的に見つけてインデックス化できるようになり、検索結果でのサイトの表示性を向上させるのに役立ちます。

しかし、Google Search Consoleにサイトマップを登録した後も、全てのクロール時に毎回Googleがサイトマップを確認するわけではありません。

https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap

そのため、ウェブサイトで頻繁にコンテンツを追加または変更する場合、サイトマップの更新をGoogleに定期的に通知することが重要です。

Googleへのサイトマップ更新

Google Search Consoleを介した初期の手動更新

サイトマップを更新するもっとも簡単な方法は、Google Search Console自体を使用することです。ここでは、サイトマップを手動で再送信することができます。ただし、毎日これを行うことは非常に手間がかかります。

URLアクセスによる自動更新

サイトマップの更新を自動化するために、Googleは簡単な方法を提供しています。特定のURLにアクセスすることで、サイトマップを自動的に更新することができます。例えば、以下のURLにアクセスすることでサイトマップを更新できます。

http://www.google.com/ping?sitemap=https://example.com/sitemap.xml

GitHub Actionsを使用したサイトマップの自動更新

GitHub Actionsは、リポジトリ内でソフトウェア開発のワークフローを自動化、カスタマイズ、実行することができる強力なツールです。その中に含まれる機能の1つに、Unix系オペレーティングシステムの時間ベースのジョブスケジューラであるcronのサポートがあります。この機能を利用して、サイトマップの自動更新を定期的にスケジュールすることができます。

これを実現するには、GitHub Actionsに次のコードを実装する必要があります。

.github/workflows/update-sitemap
name: Update Sitemap

on:
  schedule:
    - cron: '0 15 * * *'

jobs:
  update-sitemap:
    runs-on: ubuntu-latest
    steps:
      - name: Ping to Google
        run: |
          curl -X GET "http://www.google.com/ping?sitemap=https://io.traffine.com/sitemap.xml"

このスクリプトは、GitHub Actionsにcurlコマンドを実行するよう指示し、提供されたURLにGETリクエストを送信してサイトマップを更新します。scheduleセクションは、スクリプトを実行するタイミングをGitHub Actionsに伝えます。この例では、cronの構文0 15 * * *により、スクリプトが毎日15時(UTC時間)に実行されるよう設定されています。

参考

https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!