Que un fitxer existeixi al disc no és suficient. WordPress conserva un adjunt, una ruta relativa i metadades per a cada mida; després, el servidor ha de convertir la URL sol·licitada en un fitxer llegible. Una migració pot trencar qualsevol d’aquests enllaços.
Comença amb una sola imatge i segueix la URL, les metadades i la ruta abans de regenerar tota la biblioteca.
Conserva la petició que falla
Inspecciona el valor de <img src> o la URL CSS trencada i obre-la directament. Anota l’estat, les redireccions, el tipus de contingut i les capçaleres de memòria cau o CDN.
Interpreta:
404 -> la ruta o el nom no coincideixen
403 -> permisos, hotlink o seguretat
500 -> reescriptura, PHP o transformació CDN
200 amb HTML -> ruta, memòria cau o accés incorrectes
SSL o contingut mixt -> protocol o domini
No publiquis URLs d’adjunts privats durant el diagnòstic.
Relaciona la URL amb el sistema de fitxers
Confirma la URL i el directori base de pujades, així com la ruta esperada any/mes/fitxer.ext. Consulta _wp_attached_file mitjançant les API de WordPress.
$relative = get_post_meta( $attachment_id, '_wp_attached_file', true );
Registra només la ruta relativa d’una imatge pública controlada. No editis metadades serialitzades directament. Comprova també les majúscules: Image.jpg i image.jpg poden funcionar al servidor d’origen i ser diferents en Linux.
Verifica l’original i les mides derivades
L’original pot existir mentre falta la miniatura que el navegador demana. Revisa _wp_attachment_metadata i compara noms, dimensions i subdirectoris.
No canviïs el nom dels fitxers manualment sense actualitzar les metadades. Utilitza eines de regeneració primer en staging i, en producció, treballa en lots limitats.
Conserva els originals i comprova l’espai de disc i els inodes abans de començar.
Revisa URLs antigues després d’una migració
Cerca el domini anterior, HTTP o rutes de staging al contingut, als constructors, a les imatges destacades i al CSS. Utilitza una substitució compatible amb dades serialitzades i executa primer una simulació.
wp search-replace 'https://old.example' 'https://example.com' --all-tables-with-prefix --dry-run
Revisa les coincidències. No modifiquis a cegues els GUID ni URLs externes signades.
Inspecciona permisos i propietat
El servidor web ha de poder llegir els fitxers i travessar tots els directoris superiors. Compara el propietari i els permisos amb els d’una imatge que funcioni.
Utilitza la reparació de cPanel, Plesk o del proveïdor. No apliquis 777 ni converteixis en públiques pujades que han de ser privades.
Si la resposta és 403, revisa també ACL, protecció contra hotlink i regles de seguretat.
Revisa offload, CDN i reescriptures
Alguns connectors substitueixen les URLs locals per una CDN o un emmagatzematge d’objectes. Confirma que l’objecte existeix, que la política permet l’accés i que la clau coincideix exactament en ruta i majúscules.
Prova el fallback local en staging. No eliminis els originals remots fins que hagis validat la biblioteca completa. Comprova també que Apache o Nginx no enviï fitxers reals cap a WordPress.
Gestiona noms i codificació
Els noms amb accents, espais o Unicode poden canviar durant una transferència. Compara el nom exacte i els bytes entre l’origen i el destí.
Si cal reanomenar, utilitza un procés conscient de WordPress que actualitzi metadades i referències. No normalitzis milers de noms sense un mapa i les redireccions corresponents.
Inclou exemples en anglès, castellà i català a les proves.
Tracta fitxers sense registre d’adjunt
Una migració només del sistema de fitxers pot copiar les imatges i ometre les entrades de la base de dades. La URL directa funciona, però el fitxer no apareix a Mitjans ni genera mides responsives.
En staging, crea els registres a partir d’una llista explícita amb una eina fiable. No registris miniatures de memòria cau com si fossin originals. Detecta duplicats per checksum, no només pel nom.
Revisa srcset i lazy loading
El src principal pot existir i, en canvi, faltar una opció de srcset; per això l’error només apareix en algunes pantalles. Comprova quin candidat tria realment el navegador.
Revisa els atributs de càrrega diferida i els scripts de substitució. Un error JavaScript pot deixar un placeholder encara que la URL funcioni. Repara les mides i el marcatge sense desactivar globalment les imatges responsives.
Verifica la integritat dels mitjans
Prova l’original, les miniatures, srcset, la inserció a l’editor, la imatge destacada i la CDN amb la memòria cau activa. Executa una auditoria limitada d’enllaços trencats.
La reparació acaba quan la base de dades, el disc i la URL pública coincideixen tant per als fitxers actuals com per a les pujades noves.