There are a few ways to change the main WordPress domain URL of a site – here is how to do it with the WP-CLI tool, which is probably the fastest and less problematic way of doing it.
You’ll need to access your webhost via a shell session over SSH, once there switch directory to your web root folder such as public_html or htdocs
Test to see if you have wp-cli installed
You should see output
OS: Linux 4.15.0-46-generic #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019 x86_64 Shell: /bin/bash PHP binary: /RunCloud/Packages/php74rc/bin/php PHP version: 7.4.5 php.ini used: /etc/php74rc/php.ini WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli WP-CLI vendor dir: phar://wp-cli.phar/vendor WP_CLI phar path: /home/distinct/webapps/distinctivefeatures WP-CLI packages dir: WP-CLI global config: WP-CLI project config: WP-CLI version: 2.4.0
The format for the command is wp search-replace ‘olddomain’ ‘newdomain’
wp search-replace 'olddomain.com' 'newdomain.com'
You can test the command with a dry run before doing it live like so…
wp search-replace 'olddomain.com' 'newdomain.com' --dry-run
Take a Database Backup
You may want to take a database back also before you commit to the changes, do so like this
wp db export
This will export the database to the current webroot directory, probably not a good idea to leave it there. It will be named along the lines of…
To import that database back (whilst still in the webroot directory) and override the original use…
wp db import mydomain_dbname.sql
A succesful import will give output…
Success: Imported from 'mydomain_dbname.sql'.
If you can’t get a shell or command line access or don’t have wp-cli there are alternatives you can try such as WP Migrate Pro, Better Search and Replace, interconnectit Search & Replace or manually in phpMyAdmin or MySQL – see a write on these here.