Bloggerで記事を公開した後, Google検索に素早くインデックスされることはアクセスアップの重要なポイントです。
しかし, 手動でGoogle Indexing APIにURLを通知するのは手間がかかります。
そこで, Blogger APIで記事URLを取得し, Google Indexing APIへ自動通知するツールを作成しました。
主な特徴
- Blogger API連携:ブログ記事URLを自動取得
- Firestore管理:各URLの通知日時を記録し, 古い順に抽出
- Google Indexing API通知:指定件数だけ自動でインデックス登録リクエスト
- HTMLメール通知:結果を分かりやすいHTMLメールで受信
- 環境変数管理:APIキーやメール設定は環境変数で安全に管理
- ログ出力:標準出力で実行状況を確認可能
Google Cloud Functionsでの運用方法
必要なGoogle Cloudリソース
- Firestore:通知履歴管理用
- Cloud Run Functions:バッチ本体の実行環境
- サービスアカウント:Indexing API・Firestoreへのアクセス権限
Firestoreの有効化
Google Cloud ConsoleでFirestoreを有効化します。
サービスアカウント権限設定
Cloud Functions用サービスアカウントに以下のロールを付与します。
※ 本当に必要な最小権限を見極め切れておらず……。
- Google Cloudの編集者権限
- Google Search Consoleのオーナー権限
Cloud Run Functionsの環境変数の設定
Cloud Run Functionsの「環境変数」欄に, 各種キー・メール情報を設定します。(README.mdに記載があります。)
必要に応じて, Secret Managerを活用してください。
変数名 | 用途 |
---|---|
BLOGGER_INDEX_REGIST_API_KEY | Blogger APIキー |
BLOG_ID | 対象ブログのID |
MAIL_FROM | 送信元メールアドレス(Gmail) |
MAIL_PASSWORD | アプリパスワード |
MAIL_TO | 通知先メールアドレス |
Cloud Run Functionsのデプロイ
Cloud Run Functionsにソースコードを登録し, デプロイします。
requirements.txt
には, 以下を登録します。
google-cloud-firestore google-auth google-auth-httplib2 google-api-python-client
Cloud Schedulerでの定期実行
Cloud SchedulerでHTTPリクエストを定期的に送信することで, バッチを自動実行できます。
ダウンロードはこちら
ソースコードは以下のリンクからダウンロードできます.
ご意見・ご感想・バグ報告などがあれば, お気軽にGitHubのIssue, 本記事のコメントなどでお知らせください!
Releases · Shinoryo/BloggerRegister · GitHub
Bloggerで公開した記事のURLをGoogle Indexing APIに自動通知し, インデックス登録作業を自動化するためのバッチプログラムです。 - Shinoryo/BloggerRegister
最後まで読んでいただきありがとうございました!
0 件のコメント:
コメントを投稿 (Please feel free to ask me about your questions! You can use Japanese or English in the comments.)