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: “option_value” field in the “wp_options” table
widget_media_image
Reupload the image and attach it to the widget image
generate_menu_plus_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 mobile_header_branding
WP_YOAST_SEO_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
wp_posts wp_comments wp_links wp_options - Serialized wp_postmeta - Serialized wp_terms wp_term_taxonomy wp_term_relationships wp_termmeta - Serialized wp_commentmeta - Serialized wp_users wp_usermeta - 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