Want to take full control of your blog by moving from WordPress.com to self-hosted WordPress.org? As WordPress experts with over a decade of experience helping thousands of users (since our first guide in 2013), we've guided countless beginners through this process. This proven step-by-step tutorial ensures a smooth migration, preserving your content, SEO rankings, and audience—no downtime required.

WordPress.com is great for quick starts, but its free plans limit monetization, plugin installs, and force third-party ads. Self-hosted WordPress.org unlocks full ownership, custom themes, plugins, and revenue potential—powers 43% of the web.
For a detailed breakdown, see our WordPress.com vs. WordPress.org comparison.
We recommend WordPress.org for its unmatched flexibility. Dive deeper in our comprehensive WordPress review.
Ready? Let's migrate your blog successfully.
You'll need WordPress hosting and a domain. We trust Bluehost, the world's largest host and official WordPress recommendation, for their reliability and 24/7 support.
WPBeginner readers get a free domain + 60% off hosting—just $2.75/month with free SSL. → Claim this exclusive Bluehost deal ←
Have a custom domain on WordPress.com? No problem—pair it with Bluehost hosting. We'll cover seamless transfer without SEO loss.
Access your WordPress.com dashboard for exporting posts, pages, images, comments, and more.
Free Bonus: Prefer hands-off? Our expert team offers free WordPress.com to WordPress.org migration via our complimentary blog setup service. Zero risk, full transfer.
DIY enthusiasts, follow below.
Log into WordPress.com, click WP Admin from the left sidebar.

Go to Tools » Export.

Select Free > Start Export.

Choose All content > Download Export File. This XML includes posts, pages, media, comments, categories, tags, and menus.

Install WordPress on your host—Bluehost auto-installs it. Or follow our 5-minute WordPress install guide.
Log into your new WordPress dashboard > Tools » Import > Install WordPress importer.

Run importer, upload your XML file.


Note: Files over 2MB? Ask hosting to raise the limit or use a WXR splitter.
Assign to a user, check Download and import attachments for images.

Skip if no links. Download OPML from https://yoursite.wordpress.com/wp-links-opml.php (or custom domain equivalent). Save via Ctrl+S.
Install/activate Link Manager plugin (safe, unchanged needed).

Tools » Import > Blogroll > Install OPML importer.

Upload OPML > Import.


WordPress.com dashboard > Settings » Reading > Private: visible only to users I choose.

Pro Tip: For established blogs, use Step 6 to redirect and retain traffic/SEO.
WordPress.com's Site Redirect ($13/year) adds 301s. Dashboard > Settings > redirect this site.

Enter new domain > Go.

Keep 1-2 years. Update internal links post-move via our URL update guide. Custom domains? Just update DNS.
Updated from our 2013 original—answering top queries from users worldwide.
What about my WordPress.com subscribers?
Export via Jetpack: install, then contact WordPress.com support for migration.
Free migration help?
Yes! Use our free setup service
.
Switching costs?
WordPress is free; hosting ~$2.75/month. See WordPress costs explained.
Refund on WordPress.com paid plans/domains?
Yes—domains within 48 hours, plans/other within 30 days.
Will images break?
No—importer downloads/updates them. If URLs start with files.wordpress.com, use External Images Importer plugin.
Domain registered via WordPress.com?
Yes—add to Bluehost, update nameservers. We assist free.
Will my site go down?
No, if followed correctly. Use our free service for peace of mind.
Next: Our post-install checklist.
Subscribe to our YouTube channel, follow on Twitter or Facebook.