October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
VGSources
Blog

How to Move From WordPress.com to WordPress.org (2026 Guide)

Learn how to move a WordPress.com site to self-hosted WordPress.org software, choose the right migration route, protect your data, switch domains safely, and troubleshoot common failures.
Length11 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To move from WordPress.com to WordPress.org, install WordPress on a separate hosting account, choose between a content-only export and a full-site transfer, import your data, test everything, and only then point your domain to the new server. WordPress.org in this context means the WordPress software you host yourself; it is not a second hosted WordPress.com plan.

The safest route depends on what must survive the move. An XML/WXR export transfers written content and references to media. A plugin-based or downloadable backup can also carry themes, plugins, users, and settings, but those methods have plan, size, and overwrite conditions.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose the migration method before touching DNS

Inventory the existing site first. Record its current address, WordPress.com plan, approximate number of posts and pages, media-library size, active theme, custom CSS, plugins, user accounts, subscribers, menus, forms, analytics, store or membership features, and any WordPress.com-only services. Decide whether the new site needs the same appearance and functionality or only the publishing archive.

Method What it transfers Main limits Effect on destination
XML/WXR content export Posts, pages, comments, categories, tags, links, and references that let the new site fetch media Does not include the actual media files, theme, design customizations, plugins, or users’ site settings Adds imported content; it does not intentionally replace an existing installation
Full-site plugin export Content plus themes, plugins, users, database data, and other site files supported by the plugin Requires a plugin-enabled WordPress.com site on an eligible plan. WordPress.com documents the free export for sites under 2 GB; larger exports require the plugin’s paid Unlimited extension Import can replace the destination site, so use a fresh or expendable installation
Downloadable Jetpack backup An archive containing wp-content and SQL database files for a fuller restore Downloadable full backups are documented for Business and Commerce plans. Automated backups are not available on Free, Personal, or Premium plans Restoration replaces or reconstructs the destination files and database

WordPress.com describes an export containing roughly more than 1,000 posts or pages as potentially arriving in a ZIP with multiple XML files. Each XML file must be imported separately. That figure is packaging guidance, not a limit on how many posts the site can contain.

Use XML/WXR when the archive matters more than the design

This is the broadly available option for moving articles, pages, comments, taxonomy, and links. It is appropriate when you are willing to recreate the theme and configure plugins on the new host. It is also the least destructive option because the importer adds content rather than wiping the destination.

Use a full-site plugin export when you need a close clone

WordPress.com’s current full-site guide documents All-in-One WP Migration for eligible plugin-enabled sites. The free File export is documented for sites below 2 GB, with a paid Unlimited extension listed for larger sites. Check the plan’s current eligibility and the plugin’s current import limits in your account immediately before relying on this route.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use a downloadable backup when you need files and database control

A Jetpack backup download is useful when you or a technical administrator can restore files and SQL directly. It is not a one-click importer: you extract the archive, place wp-content on the host, import the database, adjust the site address if required, and test the restored installation.

Prepare the WordPress.org destination

Purchase or use a hosting account that can run the current WordPress software and supports the storage, PHP/database versions, upload size, backups, and traffic your site needs. WordPress.com lists Bluehost, SiteGround, and GoDaddy as examples of third-party WordPress hosts; that list is not a comparative endorsement. Compare migration assistance, restore tools, technical support, storage, upload limits, renewal cost, and whether email or other DNS services are included.

Install WordPress without changing the public domain yet

  1. Create the hosting account and install a clean WordPress site on its temporary address, staging URL, or server preview domain.
  2. Save the new administrator URL and credentials in a password manager. Do not reuse a weak or shared password from the old site.
  3. Confirm that the host can increase the PHP upload and execution limits if a large XML or .wpress file will be imported.
  4. Enable host-level backups before importing anything. A backup taken before migration gives you a rollback point if an import damages the destination.
  5. Leave the current WordPress.com site online and publicly accessible. The XML importer may need to download images from it.

Prepare a clean destination for a full-site replacement

A full-site plugin import can overwrite the destination’s database, themes, plugins, and uploads. Do not install it over a valuable site that already contains unique content unless you have a tested backup and deliberately intend to replace that content. A new, empty WordPress installation is the safest target.

Route 1: Move content with an XML/WXR export

Export the content from WordPress.com

  1. Open the WordPress.com dashboard for the site.
  2. Go to Tools → Export.
  3. Choose all content, or select the post types and date ranges you actually need.
  4. Download the generated XML file. If WordPress.com supplies a ZIP containing several XML files, extract it without editing the XML.

Remove unwanted drafts, test posts, and obvious spam first if reducing the export will make the import easier. Keep a separate copy of the original export even if you plan to repeat the process.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Import the XML on the new site

  1. In the self-hosted WordPress dashboard, open Tools → Import.
  2. Choose the WordPress importer. If it is not installed, follow the dashboard prompt to install and activate it.
  3. Upload one XML file at a time. For a multi-file export, repeat the import for every file.
  4. Assign imported posts to existing users or create the corresponding authors when prompted.
  5. Enable the option to download and import file attachments when it is offered.

The WXR file does not contain the media library itself. The destination tries to copy images and other attachments from the old site while the source remains reachable. Do not make the WordPress.com site private or shut it down until that process has finished.

Check media rather than assuming it transferred

Compare the media-library item count on both sites. Open representative posts from different years and inspect featured images, galleries, audio, video embeds, downloadable files, and captions. A matching count is a useful warning check, not proof that every file is intact; also test high-value pages manually.

Rebuild the presentation and functionality

An XML import does not carry the old theme, customizer settings, custom CSS, widgets, menus, plugin configuration, or WordPress.com-specific blocks. Install a compatible theme, recreate navigation, and configure only the plugins you still need. Recheck every shortcode and block that depended on a WordPress.com service. Install Jetpack on the self-hosted site if you want to continue using Jetpack features, then verify each feature individually.

Route 2: Transfer the whole site with a migration plugin

Confirm eligibility and size

The documented workflow requires a plugin-enabled WordPress.com site on an eligible plan. WordPress.com documents the free All-in-One WP Migration File export for sites under 2 GB; larger sites require its paid Unlimited extension. Plan features and plugin limits can change, so confirm the current terms in the account before starting an export.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Create the export

  1. On WordPress.com, install and activate the documented migration plugin if the plan permits plugins.
  2. Open the plugin’s export screen and choose a File export.
  3. If the domain will change, enter the old and new domains in the plugin’s find-and-replace fields. If you are keeping the same domain, that replacement is unnecessary.
  4. Download the resulting .wpress file and store a second copy offline.

Import into a fresh WordPress installation

  1. Install the same migration plugin on the empty self-hosted WordPress site.
  2. Open its Import screen and upload the .wpress file.
  3. Accept the replacement warning only after confirming that the destination contains nothing you need to keep.
  4. When the import completes, log in with the credentials contained in the imported site, not necessarily the temporary destination administrator credentials.
  5. Save the permalink settings once at Settings → Permalinks to refresh rewrite rules.

Because this route replaces destination content, do not use it as an additive merge. If the destination already has new posts, users, orders, or media, export those separately and decide how to reconcile them before importing.

Route 3: Restore a downloadable full backup

WordPress.com documents downloadable Jetpack backups for Business and Commerce plans. The archive includes a wp-content folder and SQL database files. Automated backups are not documented for Free, Personal, or Premium plans; on those plans, use content and media exports for a local copy instead.

Restore the archive

  1. Download the backup from the WordPress.com backup interface and keep the untouched archive in more than one location.
  2. Create a clean WordPress installation on the new host, or prepare the host’s file and database access for a technical restore.
  3. Extract the archive locally and upload the included wp-content directory to the destination, preserving its directory structure.
  4. Create a database and import the supplied SQL files using the host’s database tool.
  5. Update the destination’s database credentials in wp-config.php.
  6. If the domain changed, adjust the WordPress site address and run a careful database search-and-replace using a method that understands serialized data.
  7. Open the restored site, save permalinks, and inspect the front end and administrator screens before changing DNS.

This method is powerful but easier to break with an incorrect database prefix, file permission, PHP version, or URL replacement. Use it when you have the technical access or professional help to troubleshoot a file-and-database restore.

Validate the new site before switching the domain

Testing on the temporary address is the point at which most migration defects can be found without affecting visitors. Work through a written checklist rather than checking only the home page.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Open the home page, main navigation, archives, category and tag pages, search, author pages, and contact page.
  • Read representative old and recent posts. Check headings, galleries, captions, featured images, embeds, comments, downloads, and code snippets.
  • Compare the media-library count and manually open large or important files.
  • Test menus, widgets, forms, newsletter connections, analytics, spam protection, caching, and any game-related embeds or external APIs used by the site.
  • Confirm administrator, editor, author, and subscriber accounts. Remove temporary administrators created solely for setup.
  • Review Settings → General and Settings → Permalinks. The WordPress Address and Site Address must use the intended final scheme and domain.
  • Search the database and rendered pages for the temporary URL, old WordPress.com subdomain, and accidental HTTP links.
  • Check robots settings, XML sitemaps, canonical URLs, and redirects before search engines are sent to the new address.
  • Confirm that every plugin and theme works with its current version. A paid plugin or theme license may require a separate activation; do not assume a license transfers with the files.

Connect the domain without breaking email

There are two separate decisions: connect the existing domain to the new host, or transfer the domain registration to a different registrar. You can usually keep registration where it is and change DNS, but the exact screens depend on the registrar and host.

  1. Obtain the new host’s required DNS records, nameservers, or connection target.
  2. List every existing DNS record before editing anything, including mail, SPF, DKIM, DMARC, verification, subdomains, and third-party services.
  3. Lowering DNS TTL ahead of the change can make testing faster, but it does not eliminate caching everywhere.
  4. Change only the records needed for the website. Preserve mail and service records unless you are intentionally moving those services too.
  5. Wait for DNS propagation while testing the site through the host’s temporary address or a local hosts-file override.
  6. After the domain resolves to the new server, force HTTPS, confirm the certificate, and test both the bare domain and the www version if both are used.

If you abandon the original WordPress.com subdomain, set a redirect where WordPress.com permits it so old links can reach the new domain. Keep the old site available while media fetching and redirect checks are still in progress.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Move subscribers and WordPress.com services separately

Site content and audience subscriptions are different datasets. If readers subscribed through WordPress.com, use Jetpack’s Subscriber Migration Tool rather than assuming that an XML import carries them over. Confirm the resulting subscriber count and send a carefully planned test notification.

Review every WordPress.com-specific feature separately: Jetpack modules, stats, social connections, forms, payments, memberships, newsletters, and any connected domains or email services. Install or reconnect the self-hosted equivalents and verify ownership, API keys, webhooks, and privacy settings.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Common migration failures and fixes

Images are missing after an XML import

Keep the source site public and accessible, rerun the importer for the affected XML file, and inspect the media-library error log if the importer provides one. For files that still fail, download them from the source and upload them manually, then repair the affected post URLs.

The XML file will not upload

Ask the host to raise the PHP upload, post-size, memory, and execution limits, or split the export into smaller selections. For a ZIP containing multiple XML files, extract it and import the files individually rather than uploading the ZIP as if it were XML.

The full-site import stops or reports a size error

Check the actual export size against the documented under-2-GB free limit and the destination host’s upload limit. Increase server limits where possible, or use the plugin’s documented larger-export extension or the XML route. Do not repeatedly overwrite a production destination while troubleshooting.

The site redirects to the old domain or temporary URL

Check WordPress Address and Site Address, database URLs, serialized settings, hard-coded theme and plugin URLs, and the find-and-replace values used during a full export. Clear page, object, browser, and CDN caches only after correcting the underlying URL.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The imported site shows a white screen or 500 error

Use the host’s error log, temporarily disable plugins by renaming the plugins directory if dashboard access is unavailable, and switch to a default theme. Check PHP compatibility and memory limits, then reactivate components one at a time to identify the failure.

Permalinks return 404 errors

Open Settings → Permalinks and save the current structure. If that does not fix the issue, confirm that the host’s rewrite rules and Apache or Nginx configuration support WordPress permalinks.

Email stopped working after DNS changes

Restore the mail-related DNS records from the inventory you made before the switch. Website DNS and mail DNS are independent; changing nameservers without recreating MX, SPF, DKIM, or DMARC records can interrupt delivery.

When it is safe to close the old site

Keep the original WordPress.com site, exports, and backups until the new domain resolves correctly and you have completed a real visitor-style test. Confirm that important URLs redirect or resolve, media and downloads work, forms deliver, subscribers are accounted for, and backups can be restored. Only then cancel or change WordPress.com subscriptions. Retain at least one offline copy of the XML export or full archive for rollback and future audits.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.