Bloggerがリダイレクトエラーでインデックスされない原因と解決策|?m=1問題をCloudflareで解決

ブログ運営

こんにちは、Sh33p(シープ)です。このブログを開設してからの問題でもあったGoogle Search ConsoleのBlogger リダイレクトエラーとGoogleAdsenseの不合格問題ですが、いよいよ解決しました。

それまで僕の解決できなくて嘆いていた流れはX(@followthesh33p)と固定ページにてまとめてます。

BloggerでGoogleSearchConsoleがインデックスできない件について
こんにちは、Sh33p(シープ)です。このブログは2026年6月13日に始めたブログです。この固定ページを作成したのは6月25日。この約2週間のうちにGoogleSearchConsoleでの記事のインデックスができない問題をある程度まとめ…

さて、この記事を見に来る方はおそらくBloggerでブログを運営していて、Google Search Console でのインデックス登録が失敗する方、そしてGoogleAdsenseの審査が通らない方が主だと思います。

そんな悩める羊たちのために今回はこの記事を書きました。
長い戦いになりますが、どうぞ最後までお読みください。

さっさと解決したい!って人は目次5まで飛ばしてください。
多分解決します。

.*記事内に広告が含まれています*.

僕とGoogleSearchConsoleと時々Adsense

Blogger リダイレクトエラー問題の結論

結論だけ言うと、Bloggerは「同じ記事にPC版ページとスマホ版ページのURLが存在する」仕様があります。

スマホ側でBloggerのページを開くとURL末尾に?m=1 が付く(付けられる)せいで、Search Console上で「リダイレクトエラー」扱いになり、インデックス登録が失敗するという現象です。
(この現象で僕は3日ほど沼りました)

それでいて、この末尾?m=1 および?m=0 はBloggerのHTMLや設定のモバイル用表示をオフにしても対応できません。

この機能を打ち消す方法はただ一つ。
独自ドメインを取得し、Bloggerでその設定を読ませて、CloudeflareなどのCDNを使ってモバイルからのアクセスはCDNを通して先に?m=1 リクエストを送ることで回避できます。

現状の確認と対策

まず確認すること

  • Search ConsoleのURL検査で、最終的に ?m=1 に飛ばされてないか確認する
  • 応急処置として ?m=0 でインデックス登録リクエストを通す
  • 根本解決したいなら 独自ドメイン+Cloudflareで ?m=1 を出さない構成 に寄せる

Bloggerを使用していてSearchConsoleのURL検査でリダイレクトエラーが起きる主な理由は正規URL(末尾なし)にアクセスをしたとき、モバイル用ページの?m=1 にリダイレクトされることが原因です。

そしてSearch Consoleのクローラはモバイル用環境を利用してクロールしてるため、強制的に末尾?m=1 がついてしまうというのがリダイレクトエラーの真相です。

そのため、正規URLでテストページを表示してもインデックス登録が可能とでますが、実際クロールBOTにはじかれてしまうというわけですね。

一時的な回避方法

末尾なしの正規URLではURLの正誤が判断できないということはわかったと思います。

なのでただインデックス登録を行うというだけであれば末尾?m=0 (パソコン用ページ)であればインデックスは可能です。

この?m=0 はスマホなどのモバイル用端末でGoogleなどの検索欄から開いた場合、PC用ページに飛ばすURLとなるため正誤が取れ、インデックスが確認できるという原理です。

ただし、このURLだとSearchConsoleのサマリーなどが使えないという問題があります。

その他にもGoogleAdsenseの審査では正規URLでクロールするため、インデックス登録されてるURLとの違いのせいで正規URLが公開されていない・閲覧する価値がない(判断する要素が見当たらない)という結果になるため、不合格になるということです。

なのでこの解決方法はただインデックス登録を済ませたい、検索欄に表示させたいときのみ有効な方法で、デメリットの方が多い設定になります。

僕が辿った解決方法までの道のり

この記事では、その原因と僕がやった試行錯誤、最終的にCloudflareで落ち着くまでの流れを全部まとめます。

  • そもそも ?m=1 って何が起きているのか
  • サイトマップ・canonical・robots.txtに手を入れた記録(ただし決定打にはならない)
  • 独自ドメイン+Cloudflareで根本解決するまでの手順
  • やってみてわかったこと

先ほども記載した通り、BloggerでGoogleAdsenseの審査をやる人ほど避けて通れないと思ってます。

「Blogger(無料ドメイン)でもAdSenseはいける」みたいな記事は確かにあります。
ただ、インデックスが不安定でクローラーが回ってこない状態だと、実質的に審査を通すのがかなり厳しいです(僕の体感)。

なので「まずインデックスを安定させる」というこの作業は、かなり重要だと思ってます。

ただしこの方法は独自ドメインがないと根本解決はできないです。

今回のCloudflareでの根本解決は、独自ドメインを取って、Cloudflare側でDNSを握る(プロキシできる状態にする)のが前提になります。

つまり、Bloggerの無料ドメイン運用だけだと「応急処置(?m=0)」まではできても、根本解決(?m=1を出さない)は基本できません。

同じくBloggerでSearchConsoleのリダイレクトエラーに詰まってる人の、参考になれば十分です。


1. そもそも何が起きていたか|?m=1 リダイレクト問題とは

まず前提として、Bloggerには「同じ記事に複数のURLが存在する」というちょっと厄介な仕様があります。

たとえばこういう状態です。

  • PC用:https://example.blogspot.com/2026/06/article.html
  • スマホ用:https://example.blogspot.com/2026/06/article.html?m=1

スマホでアクセスすると自動的に ?m=1 付きのURLにリダイレクトされます。

ここ数年は「モバイルファースト(スマホ前提)」の流れが強くて、Googleのクロールもスマホ側の挙動に寄りやすいです。

その結果、記事にアクセスしたとき ?m=1 側へ誘導されやすくなって、Search Console上で「リダイレクトエラー」扱いになりやすい…というのが僕の見解です。

その結果、Googleからすると「リダイレクトが発生した=正規のURLじゃない」と判断されてしまう、というわけです。

僕の場合、これがアドセンス審査にも影響していた可能性があります。

「有用性の低いコンテンツ」と判断された背景に、インデックスが不完全だったことがあったと推測しています。(そもそもAdsenseの審査内容については明確な基準が公開されていないのであくまでも推測です)


2. 僕がやった試行錯誤の記録(解決に至らず)

ここからは「効いた/効かなかった」を含めて、僕が触った順に書きます。

試したこと①:サイトマップの登録方法を変えた

通常のサイトマップ(sitemap.xml)は、BloggerではSearch Consoleにうまく認識されないことがあります。

独自ドメインを取得したのち判明したことですが、Blogger独自のhttps://(ブログURL).blogspot.comでのサイトマップの登録はsitemap.xml ではほぼ通過しないです。

その代わり、Googleのサーチエンジンとの相性がいいといわれているのは

https://(あなたのブログURL)/atom.xml?redirect=false&start-index=1&max-results=500

になります。

(ただし独自ドメインを登録した場合、サイトマップはsitemap.xmlatom.xml~ の双方の登録が必要になります。)

このフォーマットでサイトマップとして登録すると、ちゃんと認識されました。

試したこと②:canonicalタグをHTMLに追加した

僕が使っているBloggerのテーマはTokyoになるのですが、使用テーマによってはcanonicalタグが設定されていない場合があります。

もし存在しない場合はテーマのHTML編集から <head> タグの直後に以下を追加します。

(コピペ用)

<link expr:href='data:blog.canonicalUrl' rel='canonical'/>

これでGoogleに「このURLが正規ですよ」と伝えられます。

ただ、僕の結論としては canonicalは必須だけど、これ単体では解決しないです。

設定してないと土俵に立てない感じはあるんですが、実際この問題(リダイレクトエラー/インデックス不安定)を止める決定打にはなりませんでした。

試したこと③:robots.txtとロボットヘッダータグを設定した

本来は設定する必要がないものですが、ここまでBloggerが原因でエラーが起きてると何も信じられません。

なので、robots.txtとヘッダータグの設定を手動で行いました。

Bloggerの設定 → クローラとインデックスから、カスタムrobots.txtを以下の内容で設定しました。

(コピペ用)

User-agent: *
Disallow: /search
Allow: /

Sitemap: https://(あなたのブログURL)/

注意:独自ドメインを取得する前に変更した場合、独自ドメインを取得したあとに再設定する必要があります。

あわせてカスタムロボットヘッダータグも設定しました。

設定箇所ONにする
ホームページ用タグall、noodp
アーカイブ・検索ページ用タグnoindex、noodp
投稿とページ用タグall、noodp

この設定で状況は少し改善しましたが、リダイレクトエラー自体は根本的には解消されませんでした。

応急処置:?m=0 を付けてインデックス登録した

完全な解決策ではないですが、URLの末尾に ?m=0 を付けてSearch Consoleでリクエストする方法で、インデックス登録自体はできました。

https://【ドメイン】.com/2026/06/article.html?m=0

?m=0 はPCビュー固定のURLなので、スマホで見てもPC版が表示されます。

デメリットがあるやり方なので、あくまで応急処置です。


3. Cloudflareで根本解決するまでの手順

応急処置ではなく、リダイレクト自体をなくすには 独自ドメイン+CDN(Cloudflare)などのリバースプロキシ が現時点での最善策ですが、力業での解決なので何かしら異変が起きる可能性があります。(もしあったら追記します。)

僕はCloudeflareで対応したので、今回はそれで説明します。

必要なもの

手順

Step1:Bloggerのカスタムドメインを設定する

Bloggerの設定→「カスタムドメイン」に取得したドメインを入力します。Bloggerが指定するDNSレコード(CNAMEなど)をメモしておきます。

カスタムドメインの設定方法

これはCloudeflareでこのドメインを使ってBloggerに紐づけますという手続きをする必要があるため、必ず控えてください。
この文言が出ない場合は紐づけが完了しています。

Step2:CloudflareにドメインのDNSを移管する

今回はバリュードメインで説明します。

バリュードメインのドメイン管理ページから

ドメイン→ネームサーバーの設定

このページを開き、ご自身で登録したドメインをクリックします。

もし他サーバーとの紐づけがある場合はそれらを消して、Cloudflareでも記載のある2つのネームサーバーを登録します

  • aliza.ns.cloudflare.com
  • morgan.ns.cloudflare.com

これで取得したドメインのネームサーバーを、CloudflareのネームサーバーのURLに変更します。

また、バリュードメインの場合無料でCoreXというサーバーの30日体験がついてきます。
このサーバーの紐づけが残っているとCloudflareで接続ができないので必ずサーバーのコントロールパネルからドメインを削除してください。

反映まで数時間かかる場合がありますが、僕の場合は30分ほどでした。

Step3:Cloudflareにドメイン登録をする

Cloudflareにログインして、左側のドメインから概要を開くと右上にドメインを追加があるのでそこからドメインを接続を選択してください。

ドメイン名にはご自身の独自ドメインを入力します。

そこから進むとDNSレコードを確認するという画面に行きます。

このページの下部にレコードの追加があるのでそこにStep1でメモをしたCNAMEを入力してください。

入力例:

wwwのないドメインに関しては、入れなくても大丈夫のようですが、自分の場合は入れないと動かなかったので一応入れています。

このとき「プロキシ(オレンジ雲)」をONにします。これがリバースプロキシとして機能します。

Step4:CloudflareのルールでURLの書き換えを設定する

ここまでがCloudflareとドメインとBloggerを繋げる設定です。

ここからが今回の本題の?m=1リダイレクトエラーを解決する作業になります。

まずCloudflareのドメインから左欄にあるRules(ルール)からOverview(概要)を開きます。

右上にCreate rule(ルールを作成)があるのでそこからURL Rewrite Rule(URL書き換えルール)を開くTransform Rules(変換ルール)という画面に行きます。

このページで?m=1 を自動で除去するルールを追加します。

ルール名はわかりやすいもので大丈夫です。(自分は”m=1を除去”にしてます)

ルール名を決めたら、カスタムフィルタ式を設定し、式ビルダーを使用をクリックすると直接コードを変更することができます。

そこに

(http.user_agent contains "Mobile") and (http.request.uri.query eq "")<br />

これを入力します。

さらに下にすすむとクエリーが出てくるので、次にリライトしています…に変更してStaticに設定がなっていることを確認して、m=1を入力して保存します。

これでスマホでアクセスしても ?m=1 なしのURLのままになるので実際の端末のシークレットモードで確認してください。

シークレットモードであればキャッシュ・cookie関係なしで表示できるので初めて来た人と同じ環境で表示できます。

Step5:独自ドメインになったのでサイトマップを再度登録

独自ドメインとなったのでGoogleSearchConsoleの設定を最初からやり直す必要があります。

プロパティからドメインの登録、サイトマップの登録を行っていくのですが、冒頭でも話した通りBloggerのサイトマップは一癖あります。

記事ページのサイトマップについては
https://(あなたのブログURL)/sitemap.xml

でもいいのですが、これだと一部ページが入力されません。
なので、このサイトマップの他に

https://(あなたのブログURL)/atom.xml?redirect=false&start-index=1&max-results=500
https://(あなたのブログURL)/sitemap-pages.xml

この2つを追加することをおすすめします。
atom.xmlについては基本的sitemap.xmlと同じですが、Blogger(Googleサービス)との相性がいいということで記事漏れがなくサイトマップとして登録できます。

sitemap-pages.xmlについては固定ページ(ページ)がatom.xmlでは漏れてしまうことがあるため、それを阻止するためのサイトマップです。
僕の環境だとこの3つがサイトマップに登録されたことにより、無事インデックス登録ができるようになったという背景があります。


4. この経験でわかったこと

正直、ここまで手がかかるとは思ってませんでした。

「Bloggerは無料で簡単」という情報もあったせいか、まさかSearch Consoleとこんなに相性が悪いとは思わなかったです。

ただ、一つわかったのはAIに聞いても、先人の記事を読んでもどれも解決には届かなかったということです。

AIに聞いても「こうすれば解決します」いう解決案がたくさん出ましたがどれを試しても解決せず、調べればAIの回答と似たような事例や解決方法ばかりが出るだけで、確定的な情報はなかなか見つからなかったです。

ただ、断片的に集めていった情報をまとめていくと、行うべきことが徐々に見えてきたのも確かです。

実際に試行錯誤してる時のポスト:

人柱上等で試したことが、結果的に記事になりました。

まあ、それでいいかと思っています。


まとめ

かなり長い記事となってしまいましたが、おそらくこれだけでBloggerでAdsenseをやろうとする人の手助けになる記事になってると思います。

もうこれ以上の問題が起きたらXで直接連絡ください。

一緒に考えます…

現在はCloudflareの設定を入れてから、インデックスの状況が安定しており、インデックス登録を送ると速攻登録が完了する状況が続いています。

同じ問題で詰まっているBloggerユーザーの方は、まず ?m=0 での応急処置を試して、余裕があれば独自ドメイン+Cloudflareへの移行を検討してみてください。

再審査の結果が出次第、またその記事でもまとめようかな。
それでは、また次の記事で。

コメント

タイトルとURLをコピーしました