kitepod

Home / WordPress guides

How to Change Your WordPress Domain

Updated October 31, 2026

To change your WordPress domain you need two fields in Settings, one database search-replace and one redirect. Most sites are done in under an hour, plus however long your DNS takes to catch up.

The two fields take 30 seconds. The search-replace is where people break their sites, because a plain find-and-replace corrupts the serialized data that widgets, theme settings and page builders store. Change the address in one place, then fix every old link with a tool that understands serialized data.

Here are the six steps, in the order that keeps you from locking yourself out.

  1. Before you start
  2. Step 1: Point the new domain at your site
  3. Step 2: Change the two addresses in Settings
  4. Step 3: Replace the old domain in the database
  5. Step 4: Redirect the old domain
  6. Step 5: Tell Google
  7. Step 6: Clean up

Before you start

Take a full backup: files and database. If something goes wrong in Step 3, the backup is what lets you put it back exactly as it was and try again.

This guide is for a single WordPress site staying on the same host. Moving hosts at the same time is a migration, and WordPress's docs note that multisite networks need the database edited by hand.

Step 1: Point the new domain at your site

Add the new domain in your host's control panel, point its DNS at the host, and make sure it has an SSL certificate. The details depend on your host, so their docs are the place for this one.

Don't move on until https://your-new-domain.com loads something from your server. If you change WordPress's addresses before the new domain works, you'll be redirected to a site that doesn't load, and you'll have to fix it from wp-config.php.

Step 2: Change the two addresses in Settings

  1. Go to Settings → General.
  2. Change WordPress Address (URL) to the new domain. That's where WordPress's core files live.
  3. Change Site Address (URL) to the new domain. That's what visitors type.
  4. Use https:// and no slash at the end: https://fernhillceramics.com, not fernhillceramics.com/.
  5. Click Save Changes.

You'll be logged out, because your login was for the old domain. Log in again at https://your-new-domain.com/wp-admin.

If the fields are greyed out

Your wp-config.php sets the addresses with WP_HOME and WP_SITEURL, and those override the Settings page. Edit the two lines in wp-config.php instead:

define( 'WP_HOME', 'https://fernhillceramics.com' );
define( 'WP_SITEURL', 'https://fernhillceramics.com' );

Step 3: Replace the old domain in the database

Your posts, image links, menus and builder layouts still point at the old domain. You need to replace it everywhere, and you need a tool that handles serialized data. WordPress's own docs name the options: a plugin such as Better Search Replace, or WP-CLI.

With WP-CLI, do a dry run first to see how many rows it would change:

wp search-replace 'fernhillpottery.com' 'fernhillceramics.com' --skip-columns=guid --dry-run

Then run the same command without --dry-run.

Leave the GUID column alone. WordPress's docs are emphatic: never change it. Feed readers use it to tell posts apart, and changing it makes old posts show up as new ones.

Step 4: Redirect the old domain

Anyone with an old link, and every search result, still points at the old domain. Send them to the new one with a 301 (permanent) redirect.

If the old domain still points at the same server and it runs Apache, add this to the top of the .htaccess file in the site's root folder:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?fernhillpottery\.com$ [NC]
RewriteRule ^(.*)$ https://fernhillceramics.com/$1 [R=301,L]

On Nginx hosts, or if the old domain is registered somewhere else, use your host's or registrar's redirect setting. Either way, test a few old URLs (home page, a post, an image) and check they land on the same page at the new address.

Step 5: Tell Google

Google's Change of Address tool in Search Console moves your search results to the new domain. You need to own both domains in Search Console with the same Google account, and the 301 redirects from Step 4 need to be live first.

Then keep those redirects for at least 180 days, longer if the old domain still gets search traffic. Google also suggests keeping the old domain registered for at least a year, so don't let it lapse.

Step 6: Clean up

  1. Clear every cache: your caching plugin, your host's cache and any CDN.
  2. Check your contact forms send, and that emails link to the new domain.
  3. Search your theme's custom CSS and any page builder global settings for the old domain; hard-coded URLs in files aren't in the database.
  4. Update the domain anywhere else it's written down: analytics, social profiles, email signatures, payment and booking accounts.

Or ask your assistant

Step 2 is yours: change the two addresses in Settings → General yourself. If your assistant can't reach the site afterwards, open Kitepod in wp-admin and click Connect again (the same button as in the first setup).

Steps 3 and 4 are the ones that can wreck a site, and they're the ones Claude or ChatGPT can take over once your site's connected through Kitepod:

Ask your assistant

My site moved from fernhillpottery.com to fernhillceramics.com. Count how many rows still mention the old domain, then replace it everywhere except the GUID column.

Kitepod's search-replace is serialization-aware, so widget, theme and builder settings survive. It always waits for your approval, and the rows it touches are captured first, so you can undo it for 90 days.

The .htaccess redirect gets the same treatment. It's a protected file, so the edit waits for your approval, and the file's previous contents are saved first. If a bad rewrite rule makes the home page answer with a server error, the health check after the write treats that as a failure and puts the old file back. Then the assistant can fetch a few old URLs as a logged-out visitor and tell you where each one lands.

What it can't do: register domains, change DNS or install SSL certificates. Those are your host's and registrar's jobs.

What goes wrong

You saved Settings and now you're locked out

The new domain wasn't pointing at your server yet. Add WP_HOME and WP_SITEURL with the old domain to wp-config.php to get back in, finish Step 1, then remove them and try again. Our wp-admin not working guide has more on getting back in.

Images are broken on the new domain

The search-replace missed them or hasn't run yet. Run Step 3, and check you replaced both http:// and https:// versions if the old site used both.

Widgets or theme settings vanished after the search-replace

A tool that doesn't understand serialized data was used. Restore the backup and use Better Search Replace, WP-CLI or a serialization-aware tool instead.

"Mixed content" warnings in the browser

Some links still use http://. Run the search-replace once more for http://fernhillceramics.com to https://fernhillceramics.com.

The old domain shows your site instead of redirecting

The redirect in Step 4 isn't in place, or a cache is serving old pages. Check the .htaccess rule (or host redirect) and clear the cache.

Finer points

Will changing my WordPress domain hurt SEO?

Google's advice for a smooth move is 301 redirects from every old page, the Change of Address tool in Search Console, and redirects kept in place for months, not weeks. Do all three and you've done what you can.

Can I change the domain without a plugin?

Yes, with WP-CLI and the wp search-replace command. Plain SQL find-and-replace in phpMyAdmin is the method to avoid, because it breaks serialized data.

Do I need to change both WordPress Address and Site Address?

For a normal move, yes, both to the same new domain. They're only different when WordPress's files live in a subfolder.

What if I'm on WordPress.com?

This guide is for self-hosted WordPress. WordPress.com handles domains in its own dashboard.

Once the redirects are live, put a reminder in your calendar for 180 days from now before you touch the old domain.

Connect your assistant to WordPress, free

A plugin on your site and one URL in Claude, ChatGPT or Cursor. Unlimited sites and tool calls, staged changes, approvals and a 90-day undo.

Get started free