Bloggerを使ったブログではGoogle検索にインデックス登録されないトラブルがあります。
「Bloggerのブログがインデックスされない」「インデックスされていたのにインデックスが外れる」という声も多いようです。
このBlogger特有の問題を整理しました。対処方法をまとめておきます。
起きていること
Bloggerを使ったブログで、サーチコンソールでGoogle検索のインデックス登録を申請してもエラーになってインデックス登録されない。
「ページがインデックスに登録されなかった理由」が下のようなものになっている。
- リダイレクトエラー
- ページにリダイレクトがあります
- 代替ページ(適切な canonical タグあり)
- クロール済み - インデックス未登録
インデックスされていたのにインデックスが外れていることがある。
サーチコンソールで「インデックス作成」メニューの中にある「ページ」を開くと、ページがインデックスに登録されなかった理由を一覧で見ることができます。
理由の解説
「リダイレクトエラー」「ページにリダイレクトがあります」とは?
ページにアクセスしたときに別のページに自動的に移動したり、移動を繰り返している状態が検知されている状態です。
- 別のURLに変わっている
- 別のドメインに変わっている
- 内部でリダイレクトが連続している
これらの移動が発生するページではGoogleはインデックスの審査をしません。
リダイレクトが発生しないURLでインデックス審査を申請します。
Bloggerで起きているリダイレクトの問題の解説
BloggerのページはスマートフォンでアクセスするとBloggerはURLが変わります。URLの末尾に ?m=1 がついたURLに変わって再読み込みされます。
自動的にURLが変わるこの動作がリダイレクトです。
「スマートフォン用Googlebot」がクロールしたときも同じく、URLが ?m=1 付きのページにリダイレクトがされます。リダイレクトがあったことで正しいURLではないと判断されます。
2024年7月5日以降、パソコン用Googlebotでクロールされないことがアナウンスされました。今後はスマートフォン用Googlebotでしかクロールされないため、この問題が顕著に発生するようになります。
パソコン用 Googlebot によるクロールの終了 - Google検索セントラル ブログ
「代替ページ(適切な canonical タグあり)」とは?
このhrefで設定されているURLが正規のURLだということをGoogleに伝えています。
スマートフォンでアクセスしたときにURLが ?m=1 付きのページにリダイレクトされますが、canonicalタグのURLは ?m=1 が付いていません。
正規のURLが優先されるため、BloggerのスマートフォンのURLをGoogleがインデックスしてくれません。
インデックス登録したいURLとcanonicalタグのURLが一致するようにします。
「クロール済み - インデックス未登録」とは?
Googleがクロールした際、ページ内容の品質に問題があると認識されてインデックスの登録に適さないと判定されています。または他のサイトのページが有用であると判断されていたり、同サイト内で似たページがあり、登録されない場合もあります。
似たページを整理したり、内容を書き直したりして品質を高めるようにします。
確実に解決する対処方法
リダイレクトとcanonicalタグの問題の対処
スマホ用URLにリダイレクトされないように、Cloudflareのプロキシで内部的にURL書き換えてURLを変えないようにします。手順
1. ドメインとCloudflareのアカウントを用意します。
2. Bloggerブログの設定でカスタムドメインを設定し、ドメイン経由でアクセスできるようにします。
3. Cloudflareの画面で利用するドメインを登録します。CloudflareのDNSが準備できたら、ドメインのDNS設定画面でDNSサーバーをCloudflareのDNSサーバー名に変えます。
4. 数時間待ってからCloudflareのDNS経由でブログにアクセスできているか確認します。
5. Cloudflareの該当ドメインにある「DNS」の「レコード」でBloggerブログのレコードのプロキシをONにします。
6. Cloudflareの該当ドメインにある「SSL/TLS」の「SSL/TLS暗号化」の設定を「フル」に変更します。
7. Cloudflareの該当ドメインにある「ルール」の「変換ルール」で「URLの書き換え」に下のルールを作ります。
- ルール名
- 任意のルール名
- 受信リクエストが一致する場合
- カスタム フィルタ式
- フィールド[ユーザーエージェント] オペレーター[次を含む] 値[Mobile]
- AND
- フィールド[URIクエリー文字列] オペレーター[次を含まない] 値[m=]
- 以下を実行
- パス
- 保持
- クエリー
- 次にリライト
- [Dynamic] ?[concat(http.request.uri.query, "&m=1")]
- 場所
- 最初
8. 設定できたらスマホでアクセスしても ?m=1 がつかないことを確認します。
ページのインデックス登録申請
1. サーチコンソールを開きます。
2. URLの検査欄で ?m=1 をつけないURLを申請します。
3. クロールされるのを待ちます。
スマホの場合も ?m=1 が付与なくアクセスできるようになります。アクセス側ではリダイレクトが発生しません。Googleのクローラーが「スマートフォン用Googlebot」で来ても、元のURLのままで審査できます。
本サイトでもこの方法を実施しています。
解決できるか分からない対処方法
?m=1 や ?m=0 をつけたURLでインデックス登録申請をしてみる
1. サーチコンソールを開きます。
2. URLの検査欄で ?m=1 や ?m=0 をつけたURLを申請します。
3. クロールされるのを待ちます。
「スマートフォン用Googlebot」がクロールした場合も、最初から ?m=1 や ?m=0 をつけたURLになっているのでリダイレクトエラーは発生しません。
Bloggerテンプレートはcanonical指定で正規のURLが設定されているものが多いので、HTMLのヘッダ内にlinkタグでcanonical指定をされているか確認しましょう。存在する場合は ?m=1 がつかないURLの方を正規URLとして認識されます。
時間が経つと ?m=1 が付かない正規のURLでクロールがされます。「スマートフォン用Googlebot」でクロールされると同じ問題が繰り返されます。
ブログテンプレートを編集してcanonicalタグの正規URLを変えてみる
もしパラメータをつかないURLをインデックス登録したいとき、canonicalタグのhrefにも ?m=1 を指定するのが良いでしょう。
<link href='(ページのURL)?m=1' rel='canonical'/>
ただし、下のようなタグでHEADのタグを一括生成されているため、canonicalタグをいじるにはコードを置き換える必要があります。
<b:include data='blog' name='all-head-content'/>
このタグの代替コードを作られた方がいますので次の記事を参考にしてみてください。
BloggerのHTTP/HTTPS共存で躓いたこと(canonical) - バグ取りの日々
元のURLのままインデックス登録申請をした方が良いという声もある
1. サーチコンソールを開きます。
2. URLの検査欄で ?m=1 や ?m=0 をつけないURLを申請します。
3. クロールされるのを待ちます。
根本の対処はBlogger側のリダイレクトが無くなること
1つのソースで対応するレスポンシブデザインが多くなった今、URLを分ける必要はありません。Blogger側のバージョンアップでスマホでBloggerにアクセスしてもURLを変えないようになるのを待つしかありません。