Move WordPress.com to WordPress.org Without Losing Your Site
Moving from WordPress.com to WordPress.org gives you full control over your site—you can install plugins, use custom themes, and monetize without restrictions—but the process can feel daunting if you’re worried about losing content. This guide walks you through the entire migration safely, covering everything from exporting your content to setting up your new self-hosted site and redirecting your old URLs. You’ll need a domain name (if you don’t already own one) and a hosting account before you begin.
What You’ll Need
- A domain name (e.g., yoursite.com) – you can buy one from a registrar or use one you already own.
- A web hosting account (shared hosting is fine for most sites) – you’ll need the login details and access to cPanel or a similar control panel.
- Your WordPress.com login credentials.
- Access to your WordPress.com site’s admin dashboard (usually via yoursite.wordpress.com/wp-admin).
- An FTP client (like FileZilla) or your hosting’s file manager – optional but helpful for uploading large files.
- A text editor (like Notepad) for editing files if needed.
Step-by-Step
- Back up your WordPress.com content. In your WordPress.com dashboard, go to Tools → Export. Choose “Export All� and download the XML file. This file contains your posts, pages, comments, and media URLs (but not the actual media files).
- Download your media files. The XML export includes URLs pointing to your media, but not the files themselves. To download them, you can use a plugin like “Auto Upload Images� later, or manually download via FTP if you have a Business plan. For most users, the easiest method is to let the import process fetch them automatically (step 6). If you have a lot of images, consider using a tool like “WordPress.com Media Downloader� (a free script) to grab them all at once.
- Set up your hosting account. Purchase a hosting plan and register your domain if you haven’t already. Your host will provide you with a control panel (cPanel) and FTP credentials. You’ll also need to point your domain’s DNS to your new host—usually by updating the nameservers in your domain registrar’s dashboard to the ones provided by your host. This can take up to 48 hours to propagate, but you can start the migration before it’s fully active.
- Install WordPress on your new host. Most hosts offer a one-click installer (like Softaculous or Fantastico) in cPanel. Follow the prompts to install WordPress. You’ll choose a database name, username, and password—save these details. Once installed, you’ll have a fresh WordPress site at your domain.
- Install the WordPress importer. Log into your new WordPress admin (yourdomain.com/wp-admin). Go to Plugins → Add New, search for “WordPress Importer�, and install and activate it.
- Import your content. Go to Tools → Import → WordPress. Upload the XML file you downloaded in step 1. WordPress will ask you to assign authors—you can create new users or map them to existing ones. Check the box to “Download and import file attachments� to fetch your media files from WordPress.com. This may take a while for large sites.
- Check your content. After the import, review your posts, pages, and media. Ensure images appear correctly and links work. If some images are missing, you may need to manually re-upload them or use a plugin like “Import External Images� to fix broken links.
- Set up your menus and widgets. Your menus and widgets don’t transfer automatically. Recreate them in Appearance → Menus and Appearance → Widgets. If you had a custom menu, note the structure from your old site.
- Choose a theme. Your WordPress.com theme may not be available on WordPress.org (many are custom). Pick a new theme from the WordPress.org repository or upload a premium theme you own. Customize it to match your old site’s look as closely as possible.
- Set up redirects (critical for SEO). To avoid broken links and loss of search rankings, you need to redirect your old WordPress.com URLs to your new domain. The simplest way is to use a plugin like “Redirectionâ€� on your new site. Create a redirect rule that maps any URL from your old site (e.g., yoursite.wordpress.com/2020/01/post/) to your new domain (yoursite.com/2020/01/post/). If you have a custom domain on WordPress.com (e.g., yoursite.com), you’ll need to set up a redirect from the old domain to the new one via your hosting’s .htaccess file or a redirect service.
- Update your domain’s DNS. If you’re moving from a custom domain on WordPress.com, you’ll need to update the domain’s nameservers to your new host. If you used a free WordPress.com subdomain, you don’t need to do this—just set up the redirects.
- Test everything. After DNS propagation, visit your new site and test all pages, links, and forms. Use a tool like Google Search Console to monitor for 404 errors.
- Cancel your WordPress.com plan (optional). Once you’re confident everything works, you can cancel any paid WordPress.com plan. Your WordPress.com site will remain as a free site unless you delete it—but you might want to keep it temporarily for the redirects.
Common Mistakes
- Not downloading media files. The XML export only includes URLs; if you don’t fetch attachments during import, images will break.
- Skipping redirects. Without redirects, your old URLs return 404s, hurting your SEO and losing traffic.
- Changing DNS before the new site is ready. This causes downtime. Wait until your new site is fully set up before switching nameservers.
- Forgetting to recreate menus and widgets. They don’t transfer, so your site may look bare until you rebuild them.
- Importing the XML file multiple times. This creates duplicate posts. Only import once.
Tips
- Use a staging site. If your host offers staging, test the import on a staging copy first to avoid messing up your live site.
- Keep your WordPress.com site active for a few weeks. This gives you time to fix any issues and lets redirects settle.
- Use a plugin for redirects. The “Redirection� plugin is reliable and logs 404s for you to fix.
- Update your internal links. The importer usually updates links to your old domain automatically, but double-check posts that contain hardcoded URLs.
- Back up your new site after import. Use a plugin like UpdraftPlus to create a backup once everything is working.
Troubleshooting
- Import fails with a memory error. Increase PHP memory limit in your hosting’s PHP settings (e.g., to 256M) or use a plugin like “WP Increase Memoryâ€�. Alternatively, split the XML file using a tool like “Split XMLâ€� and import in parts.
- Images don’t appear after import. Re-run the import with “Download and import file attachmentsâ€� checked. If that doesn’t work, use a plugin like “Import External Imagesâ€� to fetch images from URLs.
- Redirects not working. Ensure your .htaccess file is writable and the Redirection plugin is active. Test with a simple rule first.
- New site is blank. Check that the database credentials in wp-config.php are correct. If you see a “Error establishing a database connection�, contact your host.
- Old site still shows after DNS switch. Clear your browser cache and flush DNS (e.g., ipconfig /flushdns on Windows). It may take up to 48 hours.
Frequently Asked Questions
Will my WordPress.com posts and pages transfer exactly? Yes, the content (text, formatting, tags, categories) transfers via the XML file. However, some custom blocks or embeds may not render identically if the new theme doesn’t support them.
Do I need to buy a domain and hosting? Yes, WordPress.org requires self-hosting. You can use a free subdomain (like yoursite.wordpress.com) on WordPress.com, but for WordPress.org you need your own domain and hosting.
What happens to my WordPress.com site after I move? It stays as a free site unless you delete it. It’s best to keep it active for redirects for a few months.
Will my SEO rankings drop? If you set up proper 301 redirects, you can preserve most of your rankings. It’s crucial to redirect every old URL to the corresponding new one.
Can I move my custom domain from WordPress.com to WordPress.org? Yes, you can transfer the domain registration to your new host or keep it with your registrar and just update nameservers. Avoid transferring the domain until your new site is live.
Do I need to be technical to do this? Basic familiarity with WordPress and file management helps, but the steps above are beginner-friendly. If you get stuck, many hosts offer free migration services.
Related
Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.