| What you see |
Most likely cause |
Where to look |
| “Error establishing a database connection” |
The configuration file still has the name, user or password of the old database. Names carry the account name in front, so they change. |
rebuilding the wp-config.php connection |
| A blank page or a 500 error |
A different PHP version, a missing extension, or an .htaccess the new server will not accept. |
the PHP configuration and website errors explained |
| Text with question marks or swapped letters |
The database was imported with a different character set. |
character sets: utf8mb4, collation, and the question marks |
| Broken layout, images missing |
A folder was left behind (often the hidden one), or paths changed. |
Compare the folders on both sides. |
| Links lead to the old domain |
The addresses stored in the database were not updated. |
moving WordPress to a new domain without losing anything |
| The home page opens, inner pages give 404 |
The .htaccess is missing, or permalinks need re-saving. |
WordPress permalinks and the 404 that follows |
| It keeps going back to the login screen |
Cookies, or a site address different from the stored one. |
WordPress login redirect loop |
| Padlock with a warning |
Certificate not yet issued, or mixed content. |
no padlock on your site and mixed content |
| Error 403 |
File or folder permissions changed in the copy. |
error 403: permissions, .htaccess and blocked IPs |
| The old site keeps showing |
DNS cache, or a forgotten line in your computer’s hosts file. |
how long DNS changes take to propagate |
| E-mail stopped arriving |
The domain’s mail records still point to the old place, or the mailboxes were not recreated. |
why your e-mail is not sending or receiving |