This guide describes, depending on your goal, the three methods to make a site accessible from another domain name with cPanel: add the domain as an alias (parked domain), create an addon domain, or fully migrate files and the database. For WordPress sites, updating URLs requires special attention. Always back up files and databases before any operation.

Prerequisites

  1. Access to your cPanel account (login credentials). If you plan to run command‑line operations, have SSH access or use cPanel's Terminal.
  2. The new domain name is registered with a registrar.
  3. Control the DNS for the new domain: you can change the nameservers or add A / CNAME records pointing to your server's IP.
  4. Full prior backup: files + database(s) (Backup Wizard, JetBackup, or export via phpMyAdmin).
  5. For dynamic sites: access to phpMyAdmin or WP‑CLI to replace old URLs in the database (serialized data require a tool that preserves serialization).
  6. Allow a test window and DNS propagation time (a few minutes up to 48 hours depending on the TTL).

Which method to choose?

  • Alias / parked domain — the new domain displays exactly the same content as the old one (same document root). Simple and quick; useful if you want two domain names to point to the same site.
  • Addon domain / clone — the new domain has its own document root (e.g., public_html/newdomain). Allows a separate site (or a copy for testing).
  • Full migration — copy the files and import the database to the new location then replace the URLs: recommended for a permanent URL change (expect to set up 301 redirects).

Step-by-step procedures

1) Add the new domain as an alias (parked domain)

Use: when you want the new domain to display exactly the same site as the primary domain.

  1. Register the domain with your registrar if not already done.
  2. Point the domain to your hosting: either by configuring the nameservers provided by your host at the registrar, or by creating an A record that points to your server's IP.
  3. In cPanel, open the Domains tool (or Aliases/Parked Domains depending on the cPanel version) and add the domain as an alias / parked domain. The new domain will be linked to the same document root as the primary domain.
Access Domains from the cPanel dashboard
Open the Domains tool (Aliases / Parked Domains) in cPanel to add an alias.
  1. Check the DNS zone in Zone Editor: ensure an A record exists for the domain (or that the nameservers are correctly applied).
  2. Wait for DNS propagation, then test the domain in a browser.

Note: a parked domain does not provide independent space — email and DNS remain managed according to the primary account's configuration.

2) Host the same content under a separate folder (Addon domain / clone)

Use: if you want an independent copy (testing, multilingual version, etc.) or to host a different site in the same account.

  1. In cPanel, choose Domains or Addon Domains then Add a domain.Set the desired document root (e.g., public_html/newdomain).
  2. Add an addon domain with a separate document root in cPanel
    Create an addon domain and define its document root.
  3. Copy the source site's files to the new domain's root: use the File Manager (upload a .zip then Extract) or an FTP/SFTP client.
  4. cPanel File Manager with upload controls
    Upload and manage files via File Manager or FTP.
  5. If the site uses a database: create a new database in MySQL Databases,create a user, assign privileges, then import the SQL dump via phpMyAdmin (Import).
  6. Access MySQL Databases from the cPanel dashboard
    Create the MySQL database and user from cPanel if necessary.
  7. Edit the CMS configuration file to point to the new database (e.g., wp-config.php for WordPress) or update the database access settings.
  8. Locate the WordPress wp-config.php file in cPanel — file edit command
    Modify wp-config.php if you are migrating a WordPress instance.
  9. For WordPress: after import, update the entries siteurl siteurl and home home (table wp_options) wp_optionsvia phpMyAdmin or WP‑CLI. Keep a SQL backup before any modification.

Alternative: if you have WP Toolkit (cPanel), use the cloning tool to automatically duplicate a WordPress installation (database + files).

WordPress site cloning form in WP Toolkit — clone destination and database
WP Toolkit allows cloning a WordPress installation without manual SQL operations.

3) Fully migrate the site to the new domain (permanent move)

Use: you are permanently changing the URL and want to transfer all elements.

  1. Backup — files + database. Use Backup Wizard / JetBackup, or export the database via phpMyAdmin and download the files via File Manager/FTP.
  2. cPanel Backup Wizard and the Backup or Restore options
    Generate a full backup before any operation.
  3. Add the new domain to your account (addon domain or change the primary domain depending on your goal).
  4. Upload files to the new domain's document root (File Manager or FTP). If you upload a ZIP, use the Extract option to decompress on the server.
  5. Create the MySQL database (if necessary) and import the SQL dump via phpMyAdmin (Import).
  6. Import tab and selecting the SQL file in phpMyAdmin — choose the SQL file and options
    Import the site's database via phpMyAdmin (Import).
  7. Replace the old URLs in the database:
    • Prefer WP‑CLI (it handles serialization) if you have SSH/Terminal access — example: wp cli wp search-replace 'https://anciendomaine.tld' 'https://nouveaudomaine.tld' --skip-columns=guid
    • wp search-replace 'https://anciendomaine.tld' 'https://nouveaudomaine.tld' --skip-columns=guid
    • Otherwise, import and then run SQL queries with caution (examples for WordPress): UPDATE wp_options SET option_value = 'https://nouveaudomaine.tld' WHERE option_name IN ('siteurl','home'); UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://anciendomaine.tld', 'https://nouveaudomaine.tld'); UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'https://anciendomaine.tld', 'https://nouveaudomaine.tld');
    • UPDATE wp_options SET option_value = 'https://nouveaudomaine.tld' WHERE option_name IN ('siteurl','home');
      UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://anciendomaine.tld', 'https://nouveaudomaine.tld');
      UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'https://anciendomaine.tld', 'https://nouveaudomaine.tld');
    • Important: serialized values (some options/plugins) can be corrupted by a simple search/replace; use WP‑CLI or a tool that handles serialization.
  8. Check permalinks (in the WordPress admin: Settings → Permalinks, Save) and clear all caches (plugin, server, CDN).
  9. Install / regenerate the SSL certificate for the new domain from SSL/TLS if necessary.
  10. Access SSL/TLS Certificates from the cPanel dashboard
    Check or install the SSL certificate for the new domain.
  11. If the change is permanent, set up 301 redirects from the old domain to the new one (file .htaccess .htaccess or the Redirects tool in cPanel) to preserve SEO.
  12. Domain web redirection form in cPanel
    Use Redirects in cPanel or a 301 rule in .htaccess .htaccess to redirect the old domain.

4) Change the primary domain of the hosting package (sensitive operation)

Changing a package's primary domain affects email, SSL certificates, and sometimes site paths. If you don't have WHM access or the operation seems complex, contact support: this operation can be irreversible without technical intervention.

Final checks

  • DNS: check in Zone Editor that the A / CNAME / MX records are correct.
  • SSL: make sure the certificate is active for the new domain.
  • Email: test sending and receiving if the domain also handles mailboxes; use the Email Deliverability tool in cPanel to diagnose SPF/DKIM/DMARC.
  • List of domains and Manage button in Email Deliverability (cPanel)
    Check deliverability and SPF/DKIM records via Email Deliverability.
  • Public pages and admin: open the site in private/incognito mode and test the back office (admin login).

Quick troubleshooting (common issues)

  1. Error “Error establishing a database connection”
    1. Check wp-config.php wp-config.php (DB_NAME, DB_USER, DB_PASSWORD, DB_HOST) and compare with the database created in > MySQL Databases.
    2. Test the database connection via phpMyAdmin (the interface should open the database and display the tables).
    3. If necessary, reset the MySQL user's password in cPanel and update wp-config.phpwp-config.php.
  2. 404 / pages returning errors : check the domain's document root, the file .htaccess .htaccess (rewrite rules), and re-save permalinks in WordPress.
  3. Broken images or links to the old domain : run a search/replace in the database using WP‑CLI (recommended) or a tool that handles serialization; check the URLs in the table wp_posts wp_posts wp_postmetaand wp_postmeta.
  4. Invalid SSL certificate : force re-issuance from SSL/TLS in cPanel or enable automatic issuance (depending on the hosting provider's offer).
  5. DNS propagation too slow : wait for the TTL or check resolution with a DNS diagnostic tool; if the domain still points to the old host, check the nameservers at the registrar.
  6. Missing features in cPanel (Zone Editor, Backup Wizard, JetBackup, WP Toolkit…): the host may disable them via WHM/Feature Manager — contact support if a required option does not appear.

Limitations and important notes

  • A parked domain (alias) shares the document root and does not create independent space: mail and DNS management remain linked to the primary account.
  • Changing a primary domain is a sensitive operation that can break services (email, certificates) — prefer contacting support if you are not sure.
  • For complex WordPress migrations (multisite, plugins with serialized data, many media files), first test on a staging environment or a separate folder before switching to production.
  • If you use a CDN, update the URL in the CDN configuration and purge its cache after migration.

Useful internal links

Summary

Choose alias if you simply want two domains to display the same site. Choose addon domain / clone to create a copy or an independent site within the same account. Choose the full migration if you are permanently changing the URL: back up, copy files & database, replace the URLs (taking serialized data into account), regenerate SSL, and set up 301 redirects from the old domain.

Need assistance? If a cPanel feature is missing (Zone Editor, Backup Wizard, JetBackup, WP Toolkit), or if changing the primary domain worries you, contact technical support and provide your account details and the domain concerned.

Reference documentation

Documentation consulted on 16 October 2026. Tools may vary depending on your hosting.