[GUIDE] How to Transfer WordPress Site To New Owner, Host or Domain Name

Moving your WordPress site to a new owner, host, or domain doesn’t need to be stressful. This complete 2025 migration guide shows you how to transfer any WordPress site safely, efficiently, and with minimal downtime.

Why WordPress Migration Matters in 2025

Speed, security, and flexibility define your online presence. Switching hosting providers, changing domains, or transferring ownership are normal growth steps — but done poorly, they cause downtime, SEO loss, or data inconsistencies. This guide walks you through the right way to move a WordPress site: a structured process that protects performance, rankings, and user experience.

Understand Your Transfer Type

  • Transfer to a New Owner — selling a website or handing it to a client: share full backups (files + DB), CDN/DNS credentials, licenses, analytics, e-mail setup, then start the domain transfer with AuthCode.
  • Migrate to a New Host — move files+DB to better infrastructure (LiteSpeed/NVMe/QUIC.cloud), verify on staging, then switch DNS.
  • Move to a New Domain — rebrand or improve memorability: do a safe search-replace, configure 301 redirects, update sitemaps and Search Console.

WooCommerce / membership sites: plan a short content freeze (pause orders/registrations) at cutover to avoid lost transactions.


1) Create a Complete, Verifiable Backup

Backups are non-negotiable. Before any change, make and download a full copy of your site (files + database) to your computer or an external drive.


Take a Full Backup of Your Site — WordPress migration step
Take a Full Backup of Your Site — fig. 1

Recommended tools (2025): host-level Backup (cPanel/JetBackup), or UpdraftPlus / All-in-One WP Migration for plugin-assisted backups. Keep two copies (local + cloud).

2) Back Up via cPanel (Home Directory + MySQL)

  1. Open yourdomain.com/cpanel, search “Backup”.
  2. Home Directory Backup → downloads your WordPress files.
  3. MySQL Database Backup → downloads your site’s database.

cPanel Backup interface — Home Directory and MySQL Backup
Backup from cPanel — fig. 2

Confirm the database name in public_html/wp-config.php (look for define('DB_NAME', '...')), so you import the correct one later.

3) Alternative: Back Up via FTP (FileZilla)

If there’s no cPanel, connect via FTP/SFTP (FileZilla) to ftp.yourdomain.com, navigate to public_html, select all files, and download. FileZilla flags failed transfers — right-click failed items → Process queue. Verify integrity locally before making changes on the server.


4) Prepare the New Hosting Server

  • Choose modern infrastructure (LiteSpeed Enterprise, QUIC.cloud CDN, NVMe SSD). You’ll see better TTFB/LCP and lower CPU usage versus older stacks.
  • Add your domain in cPanel → Addon Domains (or as main domain on single-site plans).
  • Upload your backup archive to /public_html/ and Extract.
  • Create a new MySQL database via MySQL Database Wizard. Add a user and grant ALL PRIVILEGES.

Grant ALL PRIVILEGES to the new MySQL user
Grant ALL PRIVILEGES — fig. 14

Pro tip (DNS): Lower your current DNS TTL to 300 seconds at least 24h before cutover. It speeds up propagation when you switch.

5) Point the Domain (Nameservers / A Record)

  1. Get your new nameservers (NS1/NS2) from the host.
  2. At your registrar, replace old NS with the new ones (or update A record to the new server IP).
  3. Propagation in 2025 is typically 30–240 minutes. Check live on dnschecker.org.

6) Import the Database & Connect the Site

  1. Open phpMyAdmin in cPanel → select the new database → Import the .sql file from your backup.

phpMyAdmin — successful SQL import
Database imported successfully — fig. 16
  1. Edit wp-config.php with the new DB credentials:
    define('DB_NAME', 'new_db_name');
    define('DB_USER', 'new_db_user');
    define('DB_PASSWORD', 'new_db_pass');
    define('DB_HOST', 'localhost');

    If mismatched, you’ll see “Error Establishing a Database Connection”.

Case: Same Domain vs New Domain

  • Same domain → no global URL change required.
  • New domain → you must update all URLs safely (see next section).

7) Update All URLs Safely (Serialized-Safe)

When the domain changes (or paths differ), run a database-wide search & replace that preserves serialized data.

  • Best (2025): WP-CLI — on SSH:
    wp search-replace 'https://oldsite.com' 'https://newsite.com' --all-tables \
      --precise --recurse-objects --skip-columns=guid
  • Plugin option: Better Search Replace (dry-run first).
  • Legacy/simple option: Velvet Blues Update URLs (works, but less powerful than BSR/WP-CLI).

Velvet Blues Update URLs — simple URL replacements
Update URLs across database — fig. 18

After replace: verify wp_optionssiteurl & home, flush caches, and resave Permalinks (Settings → Permalinks → Save).


8) Secure & Finalize the Migration

  • SSL: install/renew Let’s Encrypt (cPanel → AutoSSL). Force HTTPS (301).
  • Security basics: protect login, enable 2FA, limit brute force, set proper file permissions. Wordfence / iThemes Security are good starts.
  • Performance: enable LiteSpeed Cache (if on LiteSpeed), connect QUIC.cloud CDN, compress images (WebP/AVIF), lazy-load media.
  • Emails: verify SMTP routing, SPF/DKIM/DMARC on new DNS.
  • Analytics: you already use Microsoft Clarity — perfect for GDPR and behavior insights.

9) SEO & Quality Assurance (Post-Migration)

Checkpoint Tool Goal
Indexation & Coverage Google Search Console No errors; new property if domain changed
Sitemaps /sitemap_index.xml Submitted and accessible
Redirects Crawl with a site auditor Clean 301 old→new; no loops; 0 soft-404
Speed & CWV PageSpeed / GTmetrix LCP < 2.5s (mobile), CLS < 0.1
SSL Quality SSL Labs A+

10) Common Pitfalls (to Avoid)

  • URL replace that corrupts serialized data (use WP-CLI or BSR).
  • No TTL reduction → slow DNS cutover.
  • Forgetting 301 redirects on a domain change → SEO loss.
  • Big changes during peak traffic hours.
  • Skipping checkout/form tests post-cutover.

11) Pro Tips for High-Traffic / eCommerce

  • Schedule cutover in low-traffic window; announce a short maintenance.
  • Take a final incremental DB dump right before DNS switch to capture late changes.
  • Use object cache (Redis/Memcached) and LiteSpeed cache rules for stable TTFB.
  • Keep the old server online a few hours after cutover to serve stragglers.

Need a Safe, Done-for-You Migration?

If you want a guaranteed, stress-free transfer, WooCentury provides professional WordPress migrations with zero guesswork:

  • Manual or plugin-assisted transfer (based on project risk/size)
  • Zero-downtime strategy & DNS orchestration
  • Security hardening and performance tuning (LiteSpeed/QUIC.cloud)
  • Post-migration QA: redirects, sitemaps, CWV, uptime & backup setup

Migrate my site safely
  
Ask a specialist


Appendix — Quick Reference

  • DB credentials: wp-config.php → DB_NAME / DB_USER / DB_PASSWORD
  • URL replace (WP-CLI): wp search-replace 'https://old' 'https://new' --all-tables --precise --recurse-objects --skip-columns=guid
  • Permalinks: Settings → Permalinks → Save
  • SSL: cPanel → AutoSSL (Let’s Encrypt)
  • Analytics: Microsoft Clarity (already installed)

Previous Post
Blogging in 2021: How Do You Start A SUCCESSFUL Blog?
Next Post
[SOLVED] Change the Size of Embedded Youtube Video WordPress