Blogger to WordPress: Takeout backups, .html permalinks and ?m=1
Blogger is one of the easier blogs to move, because WordPress can copy its URL format exactly. Set the WordPress permalink to /%year%/%monthnum%/%postname%.html and a Blogger post at /2021/04/sourdough-starter.html keeps the same address, as long as the importer kept Blogger's slug. The backup has changed, though: since July 2025 Blogger's Back up content button opens Google Takeout, and the file you need is feed.atom inside Blogger/Blogs/<blog name>/.
What decides the SEO outcome is the address. A blog on your own domain moves with a DNS change and loses almost nothing. A blog that lives on name.blogspot.com cannot send a server-side 301 to another domain, which puts a ceiling on what carries over.
Importing the Takeout file
Open Settings → Manage blog → Back up content in Blogger, let Takeout build the archive, and pull feed.atom out of the blog's folder. It holds posts, pages and comments. Images are not inside it; posts reference them on Google's servers (blogger.googleusercontent.com, or bp.blogspot.com on older posts).
There are two importers worth testing, and a test on a copy of the site comes first either way:
- Blogger Importer, the long-standing plugin behind Tools → Import → Blogger. It brings posts, comments, images and labels (as categories) but not pages, and it was written for the old XML download and has not been updated for recent WordPress releases. Check whether it accepts your
feed.atombefore planning around it. - Blogger Import Wizard, a newer plugin that reads
feed.atomor a public blog URL. The free version handles up to 50 posts and 20 pages per run; comments and full media downloads are in its paid version.
Whichever you use, open five imported posts and compare their slugs with the Blogger URLs. Blogger shortens long titles when it builds a URL, and an importer that regenerates slugs from the full title breaks the exact match.
Blogger's URL patterns in WordPress
| Blogger | WordPress with the matching permalink |
|---|---|
/2021/04/sourdough-starter.html | Same, via /%year%/%monthnum%/%postname%.html |
/2021/04/sourdough-starter.html?m=1 | Same page; WordPress ignores the m parameter |
/p/about.html | /about/ after a redirect |
/search/label/Slow%20Cooker | /category/slow-cooker/ after a redirect |
/2021/04/ | /2021/04/, the WordPress month archive |
/feeds/posts/default | /feed/ after a redirect |
The ?m=1 variants appear in plenty of backlinks and in Search Console, because Blogger served its mobile view on them. On WordPress they return the same page as the clean URL, and the canonical tag Hydrogen SEO prints names the clean URL, so no rule is needed for them. If you do redirect a post URL at the server, note that Apache appends the original query string to the target by default; add the QSD flag so ?m=1 is not carried along.
Static pages and labels need explicit rules. Label URLs carry the label as typed, with spaces encoded, so write each rule with the exact encoded path. Hydrogen SEO's Redirection Manager takes them as Exact Match 301s, or paste the list into the redirect rule generator for server rules.
Custom domain versus blogspot.com
On your own domain, the redirects live on WordPress because DNS decides who answers. Build and test WordPress on a staging address, then change the domain's records away from Google's ghs.google.com target to your new host. Keep the Blogger blog in your account as a fallback until the new site checks out.
On blogspot.com, Google controls the server, and Blogger's custom redirects only point within the same blog. Your options:
- Add your own domain to the Blogger blog first. Blogger then 301-redirects
name.blogspot.comURLs to the custom domain. Give Google time to pick that up, then move the domain's DNS to WordPress. Old blogspot links pass through Blogger's 301 to your domain and land on the matching.htmlURL in WordPress. Test withcurl -sIafter the DNS change, because this depends on Blogger continuing to honor the custom domain setting. - Template redirects. Plugins and guides exist that put a meta refresh or JavaScript redirect in the Blogger theme. Google can follow these, but they are not 301s and results vary.
- Accept the reset. Leave the old blog up with a link to the new site and rebuild rankings on the new domain.
The general mechanics of a domain change, including Search Console's Change of Address tool, are in moving WordPress to a new domain; that tool requires a working 301 from the old homepage, which only option 1 gives you.
Rankings, honestly, and the checklist
A custom-domain Blogger blog moved with identical URLs is about as safe as migrations get: Google recrawls, sees the same content on the same addresses, and rankings typically move very little. Changing the permalink format at the same time turns it into a normal redirect migration with a few weeks of movement. A blogspot blog without a 301 path should expect to lose most of its search traffic at first and earn it back on the new domain.
- Confirm a sample of old
.htmlURLs return 200 on WordPress, with and without?m=1. - Download images from Google's servers into the media library if you want them independent of the old blog.
- Copy each post's Blogger search description into its SEO description; if your importer wrote them to Yoast SEO or Rank Math fields, Hydrogen SEO's Import SEO Data can pull them across while that plugin is installed.
- Submit the WordPress sitemap and run the site audit for broken internal links.
Common questions
Can WordPress use the same .html URLs as Blogger?
Yes. A custom permalink of /%year%/%monthnum%/%postname%.html reproduces Blogger's post format, provided each imported post kept the slug Blogger used.
Where is the Blogger XML backup now?
Since July 2025 the Back up content button opens Google Takeout. The export contains a file called feed.atom in the Blogger, Blogs folder for each blog, which holds posts, pages and comments.
Can I 301 redirect a blogspot.com blog to WordPress?
Not directly, because Blogger only redirects within the same blog. The workable route is to add a custom domain in Blogger first, which makes Blogger 301 the blogspot URLs to it, and then move that domain to WordPress.
Do I need redirects for ?m=1 URLs?
Usually not. WordPress serves the same post when the m parameter is present, and the canonical tag points search engines at the clean URL.