WIP — この記事は追記・更新される可能性があります。
自分のブログのSEO分析をしようと思ったらGoogle Search Consoleすら未登録だった件(サイトマップ送信まで爆速復旧)
#SEO · #Google Search Console · #ブログ運用 · #個人開発
公開
更新
自分のブログのSEO分析をしようと思ったらGoogle Search Consoleすら未登録だった件(サイトマップ送信まで爆速復旧)
「ブログのクローラーの足跡(インデックス状況)でも見てみるかー」と思い立ち、何気なく Google Search Console(サチコ)を開いたところ……。
なんと、そもそも自分のブログ(star-moti.com)が登録すらされていませんでした。(#^ω^)
「Cursorくんに頼んで sitemap.xml の生成ロジックは作っていたはず!」という謎の安心感から、肝心のサチコちゃん連携をすっかり失念していたという罠です。
そこから「ドメイン認証の罠」「アナリティクス連携の罠」「www/末尾スラッシュの罠」に青筋を立てつつ、無事に HTML タグ認証で完全勝利してサイトマップ送信まで終わらせたので、その実録ドタバタ劇を記録しておきます。
1. ドメイン認証を選んで DNS の罠にはまりかける

最初に「ドメイン」を選んで所有権確認を進めようとしたところ、画面には無情にも「DNS の TXT レコードを設定してください」の文字が。
「なんで今さら DNS 設定なんか……(#^ω^)」と青筋を立てつつ、即座に撤退して 「URL プレフィックス」 方式に切り替えました。
ドメイン方式は強い(http/https・www 有無をまとめて見られる)一方、DNS を触る必要が出るので、今日すぐ見たい私には重すぎました。
(余談:この時点の入力欄にはすでに https://www.star-moti.com/ と 末尾スラッシュ付き が入っていて、のちの罠の伏線になっていました^^;)
2. Google アナリティクス連携で撃沈

「Google アナリティクスは動いてるんだから、一発で自動認証しなさいよ!」と確認ボタンをポチー。

「所有権を証明できませんでした:サイトのインデックス ページに Google アナリティクス トラッキング コードが見つかりませんでした。」
サイトには GA を載せているのに、サチコちゃんには見つからない扱い。キーッ!!(#^ω^)
推測としては、Next.js の読み込み方(afterInteractive など)や、確認クローラが期待する「ソース直書き」とのズレがありそう、という感じ。原因の断定はせず、次の手段に切り替えました。
3. HTML タグ(meta タグ)挿入で完全勝利
「ええい、なら直接埋め込んでやるわよ!」と、一番確実な 「HTML タグ」 確認方法を選択。
- サチコから発行された
<meta name="google-site-verification" content="..." />をコピー - サイト共通の
app/layout.tsxに、Next.js のmetadata.verification.googleとして入れて爆速デプロイ - 再度サチコで確認ボタンをポチー!
補足:「/tools 直下にも別途入れる?」と一瞬迷ったけど、ルートの layout 1箇所で全ページの <head> に出るので tools への重複は不要 でした。
……しかし、ここでも「認証できません」のエラーが発生。(#^ω^)イラッ
罠A:www あり/なし
本番は https://star-moti.com が https://www.star-moti.com にリダイレクト する構成。
プロパティは 実際に滞在する側(www あり) で作ったほうが安全です。apex(wwwなし)だと、確認時にリダイレクト絡みでハマりやすい。
罠B:末尾スラッシュ(トレイリングスラッシュ)
よく見ると、入力していた URL の末尾スラッシュの有無(https://www.star-moti.com/ と https://www.star-moti.com)で表記揺れが起きていた模様。
末尾のスラッシュを綺麗に削除してリトライしたところ……
「所有権を自動確認しました」 🎉

無事に突破できました!やっぱり最終的には HTML タグ直埋めが一番強い。
4. サイトマップ(sitemap.xml)を送信して無事開通!
所有権が確認できたので、仕上げに左メニューの「サイトマップ」から sitemap.xml を送信。

URL は https://www.star-moti.com/sitemap.xml(Next.js の app/sitemap.ts が動的生成)。
過去の自分が Cursorくんに依頼して仕込んでおいてくれたおかげで、送信した瞬間に 「検出されたページ数:86」 と吐き出されました。
中身はだいたい次の構成です。
- トップ・About 以外の静的ページ(portfolio / tools / contact / privacy など)
- カテゴリページ
- タグページ
- 公開済みブログ記事
記事本文だけでなく、タグやカテゴリも含めてしっかり構造化されていたようです。昔の自分、グッジョブ!
今回のチェックリスト(次回の自分用)
- サチコは URL プレフィックス で、本番の正規 URL(うちは www あり)を登録
- 末尾スラッシュは付けない
- 確認は迷ったら HTML タグ(共通 layout に1回)
- 通ったらすぐ sitemap.xml を送信
sitemap.xml自体は先に用意しておくと、復旧が爆速になる
今後の展望
これで Googlebot に「これがうちの城の全案内図(サイトマップ)ですよ!」と手渡すことができたので、今後は MVP リリースした記事や追記したコンテンツが、ちゃんと巡回対象に乗りやすくなるはず。
サチコちゃんのレポートデータが溜まってくる明日以降、どんな検索キーワードで読者が辿り着いているのかをニヤニヤしながら分析していきたいと思います!
(本文 随時追記予定)
