🚀 はじめに:この記事でできること
Hugo + PaperMod + GitHub Pagesで運用するブログに、Google Search Console(以下、Search Console) を導入するための完全ガイドです。
操作 → 目的 → 結果 → 注意/補足 の順で、初心者が迷いやすいポイント(URL構成・ユーザー/プロジェクトサイトの違い)も含めて整理します。
この手順を完了すると、所有権の確認が成功し、サイトマップ送信が完了、URL検査でクロール促進できる状態になります。
補足
この記事は HTMLファイルアップロード方式 で所有権確認を行い、サイトマップ登録・URL検査・運用の要点までを扱います。
🧭 前提:サイト種別とURL構成
本文着手前に、GitHub Pagesのサイト種別と公開URLを正しく把握します。これがSearch Consoleのプロパティ設定とbaseURL整合の土台になります。
操作
- 自サイトが ユーザーサイト か プロジェクトサイト かを確認する
- ユーザーサイト:
https://username.github.io/ - プロジェクトサイト:
https://username.github.io/repository-name/
- ユーザーサイト:
目的
- Search Console登録方式(URL プレフィックス)と、Hugoの
baseURL/内部リンク/画像パス/OGPを公開URLに合わせて一貫させる。
前提
- GitHub Pagesの公開設定が済んでいる(ユーザーサイト or プロジェクトサイト)
結果(この時点でできること)
- 以降の設定で、URL不一致による所有権確認失敗やサイトマップ404を回避できる。
注意
プロジェクトサイトは公開パスが/repository-name/を含みます。Search ConsoleのURLプレフィックス、検証ファイルURL、サイトマップURLの末尾スラッシュとサブパスが一致しているか、常に確認しましょう。
補足:サイト種別の早見表
- ユーザーサイト:
https://username.github.io/(サブパスなし)- プロジェクトサイト:
https://username.github.io/repository-name/(サブパスあり)
🧩 前提条件の確認(Hugo設定)
Search Console導入前に、Hugoの基本SEO設定(robots.txt と sitemap)を整えます。
操作
hugo.yaml(またはconfig.toml)に以下の設定を追加/確認
目的
robots.txtとsitemap.xmlを自動生成し、クロールとインデックスの土台を作る。
前提
baseURLが公開URLと一致している(サイト種別に応じてサブパスの有無に注意)
# 検索・SEO系(hugo.yaml例)
baseURL: "https://username.github.io/repository-name/" # サイト種別に合わせて必ず一致
enableRobotsTXT: true # robots.txtを出力
canonifyURLs: true # 正規URLに整形
sitemap:
changefreq: daily
priority: 0.5
filename: sitemap.xml # sitemap.xml が生成される
結果(この時点でできること)
- 公開時に
https://username.github.io/repository-name/robots.txtと.../sitemap.xmlが取得可能になる。 - 相対/絶対リンクの不整合が減り、Search ConsoleでのURL検査やサイトマップ登録がスムーズ。
補足
既にrobots.txtにSitemap:行が出力されていれば、追加のlayouts/robots.txtは不要です。
🏁 Step 1:Search Consoleにサイトを登録
Search Consoleでサイトのプロパティを作成します。
操作
- Search Consoleへアクセス:https://search.google.com/search-console/

- 「プロパティを追加」→ URLプレフィックス を選択
- 公開URLを入力(例:
https://username.github.io/repository-name/) - 「続行」で所有権確認へ進む
目的
- サイトのデータ収集と、インデックス状況の可視化を可能にする。
前提
- 公開URL(ユーザー/プロジェクトサイト)が確定している
結果(この時点でできること)
- サイトプロパティが作成され、検証用HTMLファイルの取得へ進める。
補足
「ドメイン」方式はDNS設定が必要です。GitHub Pagesのプロジェクトサイトなら、URLプレフィックス方式が手軽で確実です。
📂 Step 2:所有権の確認(HTMLファイルアップロード方式)
HTMLファイル方式が、Hugo × GitHub Pagesでは安全でわかりやすいです。
2-1. Search Consoleで確認用HTMLファイルを取得
操作
- 「HTMLファイルをアップロード」を選び、
googleXXXXXXXXXXXX.htmlをダウンロード
目的
- 指定ファイルを公開URL配下に置くことで、サイト所有者であることを証明する。
前提
- Search Consoleのプロパティ(URLプレフィックス)が作成済み
結果(この時点でできること)
- 次の手順でファイルをサイトルート(公開パス)に配置すれば、検証が成功する見込み。
注意
ファイル内容は編集しないでください。
2-2. Hugoに設置(static/へ配置)
操作
googleXXXXXXXXXXXX.htmlをプロジェクトのstatic/直下に保存
目的
- Hugoのビルドで
static/配下が公開ルートに複製される仕組みを利用する。
前提
static/ディレクトリを運用している(テーマやビルド設定が標準的である)
# プロジェクト直下の構成例
.
├─ config/ または hugo.yaml # サイト設定
├─ content/ # 記事
├─ layouts/ # テンプレート(必要に応じて)
├─ static/ # 公開ルートへ複製される
│ └─ googleXXXXXXXXXXXX.html # ← 所有権確認用HTML
└─ themes/ # PaperMod等
結果(この時点でできること)
- 公開後に
https://username.github.io/repository-name/googleXXXXXXXXXXXX.htmlへアクセス可能になる。
注意
公開パスが/repository-name/を含むことに留意。Search ConsoleのURLプレフィックスと検証ファイルURLが一致しているか確認してください。
2-3. ビルド & デプロイ(gh-pagesへ)
操作
- 既存のワークフローでビルド→
gh-pagesブランチへデプロイ
目的
static/の検証用ファイルをビルド成果物(public/)に反映し、公開する。
前提
- GitHub Pages の設定(Build and deployment → Source: Deploy from a branch / Branch:
gh-pages/ (root))が済んでいる
# 1) ビルド(公開用ファイルを生成)
hugo
# 2) 生成物の確認(任意)
# public/ 以下に googleXXXXXXXXXXXX.html があるか確認
# 3) gh-pagesブランチへコミット・プッシュ(例)
git add -A
git commit -m "Add Search Console verification file"
git push origin gh-pages
結果(この時点でできること)
- GitHub Pages設定が正しければ、数十秒〜数分で公開。
補足
gh-pages以外の運用でも、公開URLが一貫していれば問題ありません。
2-4. Search Consoleで「確認」
操作
- Search Console画面で「確認」をクリック
目的
- 検証ファイルが公開URL配下にあることをGoogleに通知し、所有権を確定する。
前提
- 公開URLで検証ファイルが200で取得可能
結果(この時点でできること)
- 所有権が確認され、サイトの管理・URL検査・サイトマップ送信が可能になる。
トラブルシューティング
baseURLが公開URLと一致しているかstatic/に置いたかpublic/にコピーされているかgh-pagesへ反映されているか- URL末尾に
/repository-name/が入っているか
を順に確認しましょう。
🗺️ Step 3:サイトマップ登録
Hugoは sitemap.xml を自動生成します。Search Consoleへ送信して可視化とエラー検知を強化します。
操作
- Search Console左メニュー「サイトマップ」で、
https://username.github.io/repository-name/sitemap.xmlを入力→「送信」
目的
- クロール対象と優先度のヒントを提供し、インデックスの安定化を促す。
前提
enableRobotsTXT: trueとsitemapの設定が有効
結果(この時点でできること)
- ステータスが「成功」となり、サイト全体のURL把握と問題検知が容易になる。
補足
robots.txtにSitemap:行が既に含まれているため、クローラはサイトマップを自然に参照します。明示登録は可視化・通知・エラー追跡の面で有用です。
参考:サイトマップの基本(Google公式) → https://support.google.com/webmasters/answer/156184
🚀 Step 4:インデックス登録の促進(URL検査)
新規記事やトップページが検索結果に出ない場合、URL検査でクロールを促します。
操作
- 左メニュー「URL検査」
- 例:
https://username.github.io/repository-name/posts/記事のスラッグ/を入力 - 「インデックス登録をリクエスト」をクリック
目的
- 重要ページのクロールをリクエストし、インデックスの遅延を短縮する。
前提
- 公開URLでページが200で取得可能、内部リンクが適切
結果(この時点でできること)
- ページがキューに入り、数分〜数日でインデックス更新が反映される見込み。
注意
インデックスは即時ではありません。モバイル対応・読み込み速度・内部リンクなど、ページ品質も重要です。
参考:URL検査ツールの使い方(Google公式) → https://support.google.com/webmasters/answer/9012289
🧪 Step 5:導入後の運用ポイント
Search Consoleで継続的に品質を監視し、改善を行います。
操作
- 「カバレッジ」「ページエクスペリエンス」「モバイルユーザビリティ」「リンク」「Search Console ↔ GA4連携」を定期レビュー
目的
- エラー/除外の早期発見、Core Web Vitals改善、内部リンク強化、流入分析の精度向上。
前提
- GA4プロパティとWebストリームが設定済み
結果(この時点でできること)
- インデックスの安定化と、検索パフォーマンスの継続改善サイクルの構築。
補足1
GA4とSearch Consoleの連携は、GA4管理画面「プロダクトリンク」から設定可能。反映には数日かかることがあります。
補足2
PaperModは軽量・高速で、Core Web Vitals改善に有利。画像最適化(resourcesキャッシュ、imageショートコード)やminify設定も効果的です。
✅ よくあるつまずき(チェックリスト)
- 失敗時は
baseURL→ 検証ファイル配置 → デプロイ設定 → 実URL確認 の順で点検した -
baseURLが公開URLと完全一致している(末尾スラッシュ、/repository-name/の有無を含む) - サイト種別を把握している(ユーザーサイト
username.github.io/ プロジェクトサイトusername.github.io/repository-name/) - Search Consoleのプロパティ種別に URL プレフィックスを選んだ(プロジェクトサイトでDNS不要の方式)
- 検証用HTMLを
static/直下に置き、内容は未編集である - ビルド後、
public/に 検証ファイルが出力されている - GitHub Pagesの デプロイ設定(
gh-pages/ root) が正しい - 公開後に
https://username.github.io/repository-name/googleXXXXXXXXXXXX.htmlが 200で取得可能 -
robots.txtが 公開済み で、Sitemap:行が含まれている -
sitemap.xmlが 200で取得可能 で、Search Consoleのサイトマップ登録が 成功 -
canonifyURLs: trueにより canonical/内部リンクの不整合 がない - H1はFront Matterの
titleに委ね、本文は H2から開始(PaperMod前提) - H2見出しの先頭に絵文字を1つ付与し、要約文(操作/目的/前提/結果)を直下に置いた
-
toc: true/tocopen: trueをFront Matterに設定している - slugは短い英語+ハイフン区切りで、重複・大文字・空白がない
- SEOタイトルに主キーワード+対象読者+意図(方法/ガイド/入門)を含めた
- **description(120–160字)**で検索意図(導入/操作/環境構築/トラブル回避)を網羅した
- 記事中のコードブロックは、前に「目的/前提」、**後に「結果/次にできること/注意」**のテンプレ説明を置いた
- 内部リンク・画像・OGPで、プロジェクトサイトの サブパス
/repository-name/を考慮した - 公開後に ローカル/本番 の両方でリンク/画像/目次の崩れがないか確認した
📚 参考リンク
- Google Search Console(ヘルプセンター)
- 概要とセットアップガイド:https://support.google.com/webmasters/answer/9128668
- 所有権の確認(HTMLファイル・タグ・DNS等):https://support.google.com/webmasters/answer/9008080
- URL検査ツールの使い方:https://support.google.com/webmasters/answer/9012289
- サイトマップ:https://support.google.com/webmasters/answer/156184
- Hugo 公式ドキュメント
- Configuration(
baseURL/outputs/sitemap/privacy):https://gohugo.io/getting-started/configuration/ - Static Files:https://gohugo.io/content-management/static-files/
- robots.txt のカスタマイズ:https://gohugo.io/templates/robots/
- Configuration(
注記
公式ドキュメントのインターフェイスは随時更新されます。画面ラベルが変わっている場合は、上記リンクの最新情報を参照してください。
🔧 拡張案(次にやると良いこと)
layouts/partials/head.htmlの最適化metaタグ(description/og:/twitter:)の充実
- 構造化データ(JSON-LD)
Article/BreadcrumbListをテンプレートに追加して検索結果をリッチ化
- 画像最適化パイプライン
resourcesとimage processing(WebP生成、srcset)でLCP改善
- 内部リンク設計の強化
関連記事/人気記事/タグページへの導線をPaperModのパラメータで整備
- CI/CDの自動化
- GitHub Actionsで
main→ 自動ビルド →gh-pagesデプロイを標準化
- GitHub Actionsで
- Search Consoleの拡張活用
- 「ページのインデックス登録」エラー(重複・noindex・リダイレクト)を継続監視・是正
🎯 まとめ
- HTMLファイルアップロード方式は、Hugo × GitHub PagesでのSearch Console導入に最適。
static/へ検証ファイルを置き、通常どおりビルド・デプロイすればOK。sitemap.xmlは 登録 と robots.txtでの案内 の両輪がベストプラクティス。- 導入後は URL検査 と 品質改善 を回し、インデックスを安定化しましょう。
