Blogger ?m=1 Redirect Error: How I Actually Fixed It
By Muhammad Faisal Gurmani, Clarity With AI. Last updated August 3, 2026.
I found this on my own site. I was going through Search Console and noticed ?m=1 showing up against one of my posts with real impressions attached to it, and I went looking for an actual fix rather than another article telling me to ignore it. Most of what's out there either tells you it's harmless and to wait it out, or points you toward writing a Cloudflare Worker script. What actually worked for me was a lot simpler than a Worker: a Cloudflare Transform Rule that stops Blogger from ever issuing the ?m=1 redirect in the first place. Here's exactly what I did.
Quick answer: Blogger decides whether to redirect a visitor to ?m=1 by reading the User-Agent header on the incoming request. If I run Cloudflare in front of my custom domain, I can use a Transform Rule to rewrite that header to a desktop string before the request ever reaches Blogger's origin. Blogger never sees a mobile User-Agent, so it has no reason to redirect, and every visitor lands on the clean desktop URL directly.
Why I went looking for this in the first place
Blogger automatically redirects mobile visitors to a URL with ?m=1 appended, using a 302 redirect. It does this for both blogspot.com subdomains and custom domains, and it's been part of the platform for years. On paper, Blogger also adds a canonical tag on the ?m=1 page pointing back to the desktop URL, so Google is supposed to know which version is the real one regardless of the redirect.
In practice, when I checked my own Performance report in Search Console, one of my posts had a ?m=1 version showing up as its own row with its own impression count, separate from the desktop URL. That was enough for me to want a fix I could actually verify, not just a reassurance that it's probably fine.
What I did: a Cloudflare Transform Rule that stops the redirect at the edge
My domain already runs through Cloudflare, so instead of touching my Blogger template or writing a Worker script, I set up a Request Header Transform Rule to rewrite the outgoing User-Agent before it reaches Blogger's origin. Here's the exact setup I used:
- In the Cloudflare dashboard, I went to Rules > Transform Rules > Modify Request Header.
- I created a new rule and set "When incoming requests match" to all incoming requests for my zone.
- Under "Then," I chose Set static for the header name
User-Agent, and set the value to a standard desktop browser string:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36. - I deployed the rule.
This only changes what Cloudflare forwards to Blogger's origin. It doesn't touch what the visitor's own browser sends or receives, so nothing changes for the person actually reading the site. Since my theme is responsive, the layout still adapts correctly on a real phone through CSS, not through Blogger swapping in different markup. The visitor just never gets bounced through ?m=1 to get there, because Blogger's origin never sees a User-Agent that looks like a mobile device.
Watch the Transform Rule setup in action:
How I verified it actually worked
I didn't just deploy the rule and move on. Here's how I checked it:
- I opened the site on my own phone in a private browsing tab and watched the address bar while navigating around. No ?m=1 appeared on any page.
- I went back into Search Console and used URL Inspection on the post that had previously shown a ?m=1 row in Performance. I confirmed the User-declared canonical and Google-selected canonical both pointed to the clean desktop URL.
- I checked how my mobile ad units were rendering, since the origin now always sees a desktop User-Agent. They rendered fine, but this is the one thing I'd tell anyone to specifically check for their own setup rather than assume.
- I watched the Performance report for the following two weeks rather than expecting an instant change, since Search Console's reporting lags behind the actual crawl.
What I'd tell you to check before you copy this
This isn't an officially documented Blogger setting. It's an edge-level workaround, and I'm treating it that way: I tested it, then monitored it, rather than assuming it was done the moment I deployed the rule. A few things worth confirming on your own site before you rely on it:
- Your theme needs to actually be responsive. If it isn't, and Blogger's mobile template was doing real layout work for you, forcing a desktop User-Agent to origin could make your mobile layout worse, not better.
- Check your mobile ad rendering specifically, don't assume it's unaffected just because mine was fine.
- Give Search Console a week or two before judging whether it worked. The Performance and Page Indexing reports don't update in real time.
What people are actually asking (real questions from search and forums)
"Is it safe to spoof the User-Agent header with a Cloudflare Transform Rule just to stop the ?m=1 redirect?" For a site with a responsive theme, in my experience, yes. It only changes what Blogger's origin sees, not what the visitor's own browser sends or receives. The things actually worth checking afterward are real-device rendering and mobile ad unit behavior.
"Why does our ?m=1 version show up in Search Console's Performance report with its own impressions?" That's a separate thing from the Page Indexing "Page with redirect" status. It's Search Console reporting data against the exact URL string that appeared in a search result, even though the canonical desktop URL is still what governs indexing and ranking underneath it. That's what I saw before I set up the Transform Rule.
"Do I need to remove ?m=1 URLs from my sitemap?" They shouldn't be there if you're using Blogger's default sitemap. If you're using a custom sitemap setup, check it and remove any ?m=1 entries; a sitemap should only list clean, indexable URLs.
"Google indexed the ?m=1 version of one of my posts instead of the desktop one, what now?" Check URL Inspection first to confirm that's actually happening rather than just showing up in the Performance report. If Google-selected canonical genuinely shows the ?m=1 URL, that's usually a missing or broken canonical tag in a custom template, separate from whatever you do at the Cloudflare level.
"Does this affect AdSense or ad serving on mobile?" I checked this specifically on my own site after deploying the rule and didn't see an issue, but I'd treat it as something to verify for your own ad setup rather than assume based on my result.
Frequently asked questions
What does ?m=1 mean on a Blogger URL? It's a query parameter Blogger automatically appends when it detects a mobile visitor, part of its mobile redirect system. It's the same content as the desktop URL, served through a different URL string.
Is the Blogger ?m=1 redirect a permanent or temporary redirect? It's a 302 (temporary) redirect, telling search engines the original URL still exists and remains the reference point rather than being replaced.
Can I stop Blogger from adding ?m=1 to URLs? Not through Blogger's native settings; there's no built-in toggle. If you run Cloudflare in front of your custom domain, a Transform Rule that rewrites the outgoing User-Agent header to a desktop string stops the redirect from being triggered at all, since Blogger's mobile detection never sees a mobile User-Agent to react to. That's the method I used on my own site.
How do I know if the Transform Rule actually worked? Browse the site on a real phone and confirm ?m=1 never appears in the address bar, then use URL Inspection in Search Console to confirm Google-selected canonical points to your desktop URL. I'd also give it a week or two before checking whether the Performance report has settled.