Migrate from Blogger using the Google API
This tool requires an API key, which you can get here
You also need a blog ID, which is a long number like 12345678123456781234
. You can find this by viewing the source of the Blogger site and looking for blogId
.
To install the CLI, which is required for the Usage commands below:
npm install --global @tryghost/migrate
To use this package in your own project:
npm install @tryghost/mg-blogger --save
or
yarn add @tryghost/mg-blogger
To run a Blogger migration, the required command is:
migrate blogger --apiKey abcd --blogID 1234
It's possible to pass more options, in order to achieve a better migration file for Ghost:
--apiKey
(required)- string - default:
null
- API Key
- string - default:
--blogID
(required)- array - default:
null
- Comma separated list of site IDs
- array - default:
-V
--verbose
- Show verbose output
- bool - default:
false
--zip
- Create a zip file
- bool - default:
true
-s
--scrape
- Configure scraping tasks
- string - default:
all
- Choices:
all
,img
,web
,media
,files
,none
--sizeLimit
- number - default:
false
- Media files larger than this size (defined in MB [i.e.
5
]) will be flagged as oversize
- number - default:
--addTag
- string - default:
null
- Provide a tag slug which should be added to every post in this migration
- string - default:
--firstImageAsFeatured
- Use the first image as the post's feature_image
- bool - default:
true
--fallBackHTMLCard
- Fall back to convert to HTMLCard, if standard Mobiledoc convert fails
- bool - default:
true
--cache
- Persist local cache after migration is complete (Only if
--zip
istrue
) - bool - default:
true
- Persist local cache after migration is complete (Only if
A more complex migration command could look like this:
migrate blogger --apiKey abcd --blogID 1234, 5678 --addTag 'Blog Posts' --pages false
This will fetch posts only from 2 sites, and add a 'Blog Posts' tag to each post.
This is a mono repository, managed with lerna.
Follow the instructions for the top-level repo.
git clone
this repo &cd
into it as usual- Run
yarn
to install top-level dependencies.
To run a local development copy, cd
into this directory, and use yarn dev
instead of migrate
like so:
yarn dev blogger --apiKey abcd --blogID 1234
yarn lint
run just eslintyarn test
run lint and tests
Copyright (c) 2013-2025 Ghost Foundation - Released under the MIT license.