Una migració copia una aplicació a un entorn diferent. Els fitxers i la base poden estar intactes mentre PHP, rutes, permisos, DNS o regles del servidor impedeixen el funcionament. «Anava bé a l’allotjament anterior» és una evidència útil, no una garantia de transferència completa.
Mantén disponible el web antic
No cancel·lis l’allotjament anterior ni sobreescriguis l’última còpia funcional. Prova el nou mitjançant un fitxer hosts o curl --resolve i mantén el domini públic a l’antic durant el diagnòstic.
Anota versions de PHP, servidor web, document root, MySQL i extensions a tots dos. Exporta la base abans de permetre contingut nou a les dues còpies.
Confirma que arribes al servidor previst
El navegador pot utilitzar DNS en memòria cau, un AAAA antic o Cloudflare. Prova el hostname contra la IP nova mantenint Host i SNI:
curl -I --resolve example.com:443:203.0.113.20 https://example.com/
Compara el certificat, capçaleres i cos amb l’allotjament anterior. Accedir només per IP és poc fiable perquè els virtual hosts i les redireccions depenen del nom.
Verifica el conjunt migrat
Confirma que el document root conté el nucli, wp-content, fitxers ocults com .htaccess i el wp-config.php previst. Compara recomptes i logs de transferència; una barra verda no demostra que hagi arribat tot.
Comprova que la importació inclou el prefix correcte i entrades o comandes recents. Una base vàlida però antiga pot semblar una migració trencada.
Compara checksums del nucli amb una distribució oficial de la mateixa versió i revisa una mostra d’originals a uploads contra els registres d’adjunt. Un trasllat interromput pot mantenir carpetes però ometre fitxers grans o ocults. No substitueixis el nucli fins a separar fitxers oficials de personalitzacions i wp-content.
Revisa la connexió i les URLs
Verifica DB_NAME, DB_USER, DB_PASSWORD i DB_HOST per al compte nou. Prova l’usuari amb una consulta de lectura. No concedeixis privilegis globals per ocultar l’error.
Inspecciona home i siteurl. Corregeix deliberadament URLs de staging o temporals. Els valors serialitzats necessiten una substitució conscient de WordPress; SQL sense processar pot trencar longituds.
Compara PHP, extensions i límits
Iguala primer la versió anterior quan sigui viable i actualitza després en una prova controlada. Confirma mysqli, curl, mbstring, XML, ZIP, GD o Imagick i compara memòria, pujades, temps i funcions desactivades.
Activa logging privat, no errors públics:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Reprodueix una vegada, desa les línies útils i desactiva el detall quan acabis.
Repara propietari, permisos i rutes
Els fitxers pujats per un altre usuari del sistema poden ser llegibles però no modificables. Corregeix la propietat mitjançant el panell o proveïdor i evita 777.
Neteja només memòries cau i CSS reproduïbles després de copiar. Cerca rutes absolutes en connectors de memòria cau, seguretat i backup, cron, must-use plugins i configuració del servidor.
Revisa les regles del servidor
Les directives .htaccess poden no estar permeses al pla nou i Nginx no les interpreta. Cerca handlers PHP antics, dominis forçats, rutes fixes, restriccions i capçaleres de proxy.
Conserva les regles personalitzades abans de regenerar enllaços permanents. Un 500 global i un 404 només a pàgines interiors són errors diferents.
Valida abans del canvi de DNS
Prova portada, inici de sessió, editor, mitjans, REST, cron, formularis, correu i qualsevol transacció rellevant. Revisa la cadena completa HTTP/HTTPS i arrel/www.
Després del DNS, monitoritza IPv4, IPv6, certificat i logs. Mantén l’entorn antic en només lectura durant una finestra de rollback acordada.
Converteix la lliçó en manteniment
Els errors repetits revelen que falta una fitxa de l’entorn o que les còpies no es proven. Conserva especificació de l’allotjament, backups externs, assajos de restauració, venciments i checklist de tall.
L’objectiu no és només carregar la portada nova: cal demostrar que l’aplicació completa ha sobreviscut al trasllat.