Search and replace won't work in this. There is still residue of links that is pointed to old url.
We will look the data tables that contains old domain and how to solve each without ruining the database
WFCONFIG
Simple disable and reinstalling of Wordfence won't remove nasty old url from the database. You need to se Wordfence assistant to remove the Wordfence database.
Here is how we set up in removing Wordfence database tables
Install and activate Wordfence assistant.
Disable existing Wordfence plugin.
Go to Wordfence assistant setting that is located at the admin side menu.
Click Delete all Worfence Data and Tables button under Remove all Wordfence Data in the Database and elsewhere
WP_OPTIONS
Options or themes and plugins: “optionvalue” field in the “wpoptions” table
widgetmediaimage
Reupload the image and attach it to the widget image
generatemenuplus_settings
Go to Customize > Layout > Header and turn on Mobile Header.
Replace or upload image in that Logo section.
Turn off Mobile Header if you won't use it to your header. This just to replace the old image url in the database mobileheaderbranding
WPYOASTSEO_LINKS
UPDATE wp_yoast_seo_links SET url=(REPLACE (url, 'old url','new url'));
WORDPRESS CORE TABLES
Directly update database using SQL
UPDATE wp_posts SET post_content=(REPLACE (post_content, 'old url','new url'));
UPDATE wp_posts SET post_content=(REPLACE (post_content, 'old url','new url'));
UPDATE wp_posts SET guid=(REPLACE (guid, 'old url','new url'));
UPDATE wp_postmeta SET meta_value=(REPLACE (meta_value, 'old url','new url'));
Using Go Live Update URLs plugin
wpposts wpcomments wplinks wpoptions - Serialized wppostmeta - Serialized wpterms wptermtaxonomy wptermrelationships wptermmeta - Serialized wpcommentmeta - Serialized wpusers wpusermeta - Serialized
Install Go Live Update Urls it solves issue in replacing URL that is serialized
Free version won't let you test run the replace and search function. It