WordPress just showing a white page means it is experienceing PHP errors. When it occurs after a site has been moved from one hosting to another it can be caused by several reasons.
To make it possible to track down the cause you can temporarily add the following to the .htaccess file in the root. If this gives you a internal server error 500 it means it is not allowed by the host. If allowed, you will get error messages from PHP dispayed on screen when accessing the site:
php_flag display_startup_errors on
php_flag display_errors on
There are visbible PHP ending tags ?> on the site
If you see more or less normal output from the site but once in a while you see lines ending with ?>. This can happen if the site has been running on PHP 5 where the short PHP start tag <? is allowed (instead of the longer <?php.
If the site has been moved to PHP 7 where this is not longer allowed, it can cause this kind of strange behaviour.
If you don’t want to go through all the code and find all the occurrences of <? and replace them with <?php (which is one solution), you can simply add the following to your php.ini:
short_open_tag=On
You need to restart Apache after this.
Wordfence plugin is installed
You need to manually edit the system specific paths in the following files:
- .user.ini in the site root, change the path after auto_prepend_file
- wordfence-waf.php in the site root, change the paths on all occurrences
WP Rocket plugin is installed
The file wp-content/advanced-cache.php contains system specific paths. You can manually update them or just simply delete the file and login to wp-admin of the site and it will be recreated automatically with the correct paths.