15%

Ahorra 15%<\/span> en todos los servicios de hosting

Pon a prueba tus habilidades y obtén Descuento<\/span> en cualquier plan de hosting

Usa el código:

Skills
Comenzar
28.10.2024

Imágenes que no se muestran en tu sitio web: causas, soluciones y mejores prácticas

Las imágenes rotas son más que una molestia estética: destruyen silenciosamente la confianza del usuario, aumentan las tasas de rebote y envían señales negativas a los motores de búsqueda. Ya sea que estés administrando un blog de WordPress, una tienda de comercio electrónico o una aplicación web personalizada, los fallos en la carga de imágenes pueden hacer que tu sitio parezca poco profesional y costarte tráfico e ingresos reales.

¿La buena noticia? La gran mayoría de los problemas de visualización de imágenes provienen de un pequeño conjunto de causas raíz bien conocidas, y todas y cada una de ellas tienen solución. Esta guía completa te lleva a través de cada razón común por la que las imágenes no se cargan, proporciona soluciones prácticas para cada una y te muestra cómo evitar que estos problemas se repitan, todo dentro de un entorno moderno de alojamiento Linux.

Por qué las imágenes rotas son un problema grave

Antes de entrar en las soluciones, vale la pena entender el impacto completo de las imágenes rotas:

  • Daño al SEO: Los rastreadores de motores de búsqueda indexan el contenido de las imágenes. Las imágenes faltantes significan señales de texto alternativo perdidas, datos estructurados rotos y puntuaciones de calidad de contenido más bajas.
  • Core Web Vitals: Los fallos en la carga de imágenes pueden interrumpir las métricas de Largest Contentful Paint (LCP) y Cumulative Layout Shift (CLS), ambas de las cuales afectan directamente a tus posiciones en Google.
  • Experiencia del usuario: Un icono de imagen rota es una señal inmediata de que algo está mal con tu sitio.
  • Tasas de conversión: Para los sitios de comercio electrónico, las imágenes de productos que no se cargan pueden matar directamente las ventas.

Si estás alojando en un entorno de VPS Hosting correctamente configurado con almacenamiento NVMe y acceso root, tienes todas las herramientas que necesitas para diagnosticar y resolver estos problemas de forma rápida y permanente.

Las 11 causas más comunes de que las imágenes no se muestren (y cómo solucionar cada una)

1. Ruta de archivo incorrecta o enlaces rotos

Esta es la causa más frecuente de imágenes rotas en la web. Si el atributo src en tu HTML o el valor url() en tu CSS apunta a una ubicación donde no existe ningún archivo, el navegador simplemente no puede recuperar la imagen.

Cómo se ve:

<!-- Broken: wrong directory -->
<img src="/img/photo.jpg" alt="Team photo">

<!-- Correct: actual file lives in /images/ -->
<img src="/images/photo.jpg" alt="Team photo">

Cómo solucionarlo:

  1. Abre las Herramientas de Desarrollador de tu navegador (presiona F12) y navega a la pestaña Network.
  2. Filtra por “Img” y recarga la página. Cualquier imagen que devuelva un estado 404 Not Found tiene una ruta rota.
  3. Compara la ruta en tu HTML/CSS con la estructura de archivos real en tu servidor usando un cliente FTP (como FileZilla) o el administrador de archivos de tu panel de control de alojamiento.
  4. Corrige la ruta en tu código, o mueve el archivo a la ubicación esperada.

Consejo profesional: Usa rutas relativas a la raíz (p. ej., /images/photo.jpg) en lugar de rutas relativas (p. ej., ../images/photo.jpg) siempre que sea posible. Las rutas relativas a la raíz son inequívocas independientemente de la ubicación de la página en la estructura de directorios.

2. Problemas de distinción entre mayúsculas y minúsculas en servidores Linux

Esta es una trampa que atrapa a los desarrolladores que crean sitios en Windows o macOS (ambos sistemas de archivos sin distinción entre mayúsculas y minúsculas) y luego los despliegan en un servidor Linux (que distingue estrictamente entre mayúsculas y minúsculas).

En un servidor Linux:

    Photo.jpg y photo.jpg son dos archivos completamente diferentes.
    Una referencia HTML a photo.jpg devolverá un 404 si el archivo real se llama Photo.jpg.
    
    Cómo solucionarlo:
    
    Establece una convención de nomenclatura y cíñete a ella. El estándar de la industria es todo en minúsculas, con guiones en lugar de espacios (p. ej., team-photo.jpg).
    Audita tus archivos existentes usando SSH:
    
      find /var/www/html/images -name "*.jpg" | sort
    
    Renombra cualquier archivo que no coincida con sus referencias. En Linux, usa:
    
      mv Photo.jpg photo.jpg
    
    Si estás usando WordPress, la Biblioteca de Medios almacena los nombres de archivo tal como se subieron, por lo que volver a subir con nombres corregidos es la solución más limpia.
    
    3. Archivos de imagen faltantes o eliminados
    A veces las imágenes simplemente no están: nunca se subieron, se eliminaron accidentalmente o se perdieron durante una migración de servidor.
    Cómo diagnosticarlo:
    Verifica mediante SSH si el archivo existe:
    ls -la /var/www/html/images/photo.jpg
    O usa el administrador de archivos de tu panel de control para navegar al directorio esperado.
    Cómo solucionarlo:
    
    Vuelve a subir la imagen faltante mediante FTP, SFTP o tu panel de control de alojamiento.
    Si la imagen fue eliminada y no tienes una copia local, revisa las copias de seguridad de tu servidor. Un plan de VPS Hosting bien configurado con copias de seguridad automatizadas puede ser un salvavidas en este escenario.
    Para sitios WordPress, verifica si la imagen todavía existe en wp-content/uploads/ y regenera las miniaturas si es necesario usando el plugin Regenerate Thumbnails.
    
    4. Permisos de archivo incorrectos
    Los permisos de archivo de Linux controlan qué usuarios y procesos pueden leer, escribir o ejecutar archivos. Si los permisos de un archivo de imagen son demasiado restrictivos, el servidor web (que normalmente se ejecuta como www-data o nginx) no podrá leerlo y servirlo.
    Configuración correcta de permisos:
    
    
    
    
    Recurso
    Permiso recomendado
    
    
    
    
    Archivos
    644 (propietario: lectura/escritura; grupo y otros: lectura)
    
    
    Directorios
    755 (propietario: lectura/escritura/ejecución; grupo y otros: lectura/ejecución)
    
    
    
    
    Cómo verificar y corregir permisos mediante SSH:
    # Check current permissions
    ls -la /var/www/html/images/
    
    # Fix file permissions recursively
    find /var/www/html/images/ -type f -exec chmod 644 {} ;
    
    # Fix directory permissions recursively
    find /var/www/html/images/ -type d -exec chmod 755 {} ;
    Cómo corregir mediante FTP:
    Haz clic derecho en el archivo o carpeta en tu cliente FTP, selecciona Permisos de archivo e ingresa el valor numérico (644 para archivos, 755 para directorios).
    Advertencia: Nunca configures archivos de imagen como 777. Esto otorga acceso de escritura a todos y es una vulnerabilidad de seguridad significativa.
    5. Formatos de imagen no compatibles o incompatibles
    No todos los formatos de imagen son compatibles universalmente en todos los navegadores y dispositivos. Los problemas de compatibilidad comunes incluyen:
    
    
    
    
    Formato
    Problema
    
    
    
    
    WebP
    No compatible con navegadores muy antiguos (IE, Safari antiguo)
    
    
    AVIF
    Soporte limitado en versiones de navegadores más antiguas
    
    
    TIFF
    Generalmente no compatible con navegadores web
    
    
    SVG
    Puede tener problemas de renderizado en algunos entornos heredados
    
    
    HEIC
    No compatible de forma nativa en la mayoría de los navegadores
    
    
    
    
    Cómo solucionarlo:
    
    Usa JPEG para fotografías, PNG para imágenes que requieren transparencia y WebP como alternativa moderna y de alta eficiencia con un respaldo JPEG/PNG.
    Implementa el elemento HTML <picture> para servir formatos modernos con respaldos elegantes:
    
      <picture>
        <source srcset="/images/photo.webp" type="image/webp">
        <source srcset="/images/photo.jpg" type="image/jpeg">
        <img src="/images/photo.jpg" alt="Descriptive alt text">
      </picture>
    
    Convierte imágenes usando herramientas como ImageMagick (disponible en tu servidor), Squoosh o GIMP.
    
    6. Protección contra hotlinking que bloquea imágenes externas
    Si tu sitio hace referencia a imágenes alojadas en un servidor de terceros (una práctica conocida como “hotlinking”), la protección contra hotlinking de ese servidor puede estar bloqueando tus solicitudes. Esta es una medida de seguridad común y legítima que previene el robo de ancho de banda.
    Cómo identificarlo:
    La URL de la imagen en tu HTML apunta a un dominio diferente (p. ej., https://anotherdomain.com/images/photo.jpg). La imagen se carga bien cuando visitas ese dominio directamente, pero muestra un icono roto o una imagen de marcador de posición en tu sitio.
    Cómo solucionarlo:
    La única solución confiable es alojar tus imágenes en tu propio servidor:
    
    Descarga la imagen a tu máquina local.
    Súbela al directorio de imágenes de tu propio servidor.
    Actualiza el atributo src en tu HTML para que apunte a tu propia copia alojada.
    
    Esto también mejora la fiabilidad de tu sitio: ya no dependes del tiempo de actividad ni de las políticas de un tercero.
    7. Problemas de caché del navegador
    Los navegadores almacenan en caché de forma agresiva los activos estáticos como las imágenes para mejorar el rendimiento. Sin embargo, esto puede causar problemas cuando:
    
    Una imagen ha sido actualizada en el servidor pero el navegador sigue sirviendo la versión antigua en caché.
    Una versión en caché de una página hace referencia a una ruta de imagen que ya no existe.
    
    Cómo solucionarlo para los usuarios finales:
    Indica a los usuarios que realicen una actualización forzada:
    
    Windows/Linux: Ctrl + Shift + R o Ctrl + F5
  • macOS: Cmd + Shift + R
  • Cómo solucionarlo a nivel de servidor (cache-busting):

    Añade una cadena de consulta de versión a las URLs de las imágenes para que los navegadores las traten como nuevos activos cuando cambia el contenido:

    <img src="/images/banner.jpg?v=2" alt="Banner">

    O configura las cabeceras Cache-Control adecuadas en la configuración de tu servidor web. Para Nginx:

    location ~* .(jpg|jpeg|png|gif|webp|svg)$ {
        expires 30d;
        add_header Cache-Control "public, no-transform";
    }

    8. Respuesta lenta del servidor o problemas de conectividad

    Si tu servidor está sobrecargado, experimenta alta latencia, o si un usuario tiene una conexión a internet lenta o inestable, las imágenes pueden agotar el tiempo de espera antes de terminar de cargarse, apareciendo como rotas o simplemente sin renderizarse.

    Cómo diagnosticar problemas del lado del servidor:

    # Check server load
    top
    htop
    
    # Check disk I/O
    iostat -x 1
    
    # Check active connections
    ss -s

    Cómo solucionarlo:

    • Optimiza tus imágenes: Comprime las imágenes antes de subirlas. Herramientas como TinyPNG, ImageOptim y la herramienta de línea de comandos jpegoptim pueden reducir el tamaño de los archivos entre un 50 y un 80% con una pérdida de calidad visible mínima.
    • Implementa carga diferida: Usa el atributo nativo loading="lazy" para que las imágenes fuera de la pantalla solo se carguen cuando el usuario se desplace hasta ellas:
      <img src="/images/photo.jpg" alt="Description" loading="lazy">
    • Usa un CDN: Una Red de Distribución de Contenido distribuye tus imágenes en servidores perimetrales globales, reduciendo drásticamente la latencia para los usuarios alejados de tu servidor de origen.
    • Mejora tu alojamiento: Si tu servidor está constantemente sobrecargado, puede ser el momento de pasar a un plan más potente. Los Servidores Dedicados ofrecen recursos máximos y rendimiento consistente para sitios de alto tráfico.

    9. URLs de imagen incorrectas en CSS

    Las imágenes de fondo definidas en CSS son una fuente frecuente de problemas de imágenes rotas, particularmente porque los archivos CSS a menudo se encuentran en subdirectorios (p. ej., /css/style.css), lo que afecta cómo se resuelven las rutas relativas.

    Error común:

    /* CSS file is at /css/style.css */
    /* This looks for /css/images/background.jpg — probably wrong */
    .hero {
        background-image: url('images/background.jpg');
    }

    Enfoque correcto: usar rutas relativas a la raíz:

    /* This always resolves from the site root, regardless of CSS file location */
    .hero {
        background-image: url('/images/background.jpg');
    }

    Cómo depurar imágenes de fondo CSS:

    1. Abre las Herramientas de Desarrollador (F12).
    2. Selecciona el elemento con el fondo faltante.
    3. En el panel Styles, pasa el cursor sobre la URL de background-image: el navegador mostrará si el recurso fue encontrado o devolvió un error.

    10. Contenido mixto (imágenes HTTP en sitios HTTPS)

    Si tu sitio web se sirve a través de HTTPS pero alguna de tus imágenes se referencia usando URLs http://, los navegadores modernos bloquearán esas imágenes como “contenido mixto”, una medida de seguridad para prevenir ataques de intermediario.

    Cómo se ve en la consola:

    Mixed Content: The page at 'https://yoursite.com' was loaded over HTTPS,
    but requested an insecure image 'http://yoursite.com/images/photo.jpg'.
    This content should also be served over HTTPS.

    Cómo solucionarlo:

    1. Actualiza todas las URLs de imágenes para usar https:// en lugar de http://.
    2. Para sitios WordPress, usa el plugin Better Search Replace para encontrar y reemplazar todas las instancias de http://yourdomain.com con https://yourdomain.com en la base de datos.
    3. Añade lo siguiente a tu sección <head> como red de seguridad (esto actualiza automáticamente todas las solicitudes HTTP a HTTPS):
       <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
    1. Asegúrate de tener un certificado SSL válido instalado. Si aún no lo tienes, los Certificados SSL son esenciales para cualquier sitio web moderno y protegen tanto a tus usuarios como a tus posiciones SEO.

    11. Problemas de configuración del CDN

    Si estás usando una Red de Distribución de Contenido para servir imágenes, una configuración incorrecta o una interrupción del CDN puede hacer que las imágenes fallen globalmente incluso cuando tu servidor de origen está perfectamente sano.

    Cómo diagnosticar problemas del CDN:

    • Omite temporalmente el CDN accediendo a tu sitio a través de su dirección IP directa o desactivando el CDN en tu configuración DNS.
    • Si las imágenes se cargan correctamente cuando se omite el CDN, el problema es específico del CDN.
    • Revisa la página de estado de tu proveedor de CDN para ver incidentes reportados.

    Cómo solucionarlo:

    • Purga la caché del CDN: las versiones en caché obsoletas de imágenes eliminadas o movidas pueden persistir en los nodos perimetrales del CDN.
    • Verifica la configuración de origen del CDN: asegúrate de que el CDN apunte al servidor de origen y puerto correctos.
    • Revisa las reglas de reescritura de URL del CDN: algunas configuraciones de CDN reescriben las URLs de las imágenes de maneras que rompen las rutas.
    • Si el problema persiste, considera desactivar temporalmente el CDN y servir las imágenes directamente desde tu servidor de origen mientras investigas.

    Flujo de trabajo de solución de problemas paso a paso

    Cuando encuentres imágenes rotas, sigue este proceso de diagnóstico sistemático:

    Paso 1: Abre las Herramientas de Desarrollador del navegador

    Presiona F12 (o haz clic derecho → Inspeccionar) y navega a la pestaña Network. Filtra por Img. Recarga la página y busca imágenes que devuelvan códigos de estado 404, 403 o 5xx.

    Paso 2: Prueba la URL de la imagen directamente

    Copia la URL de la imagen del atributo src y pégala directamente en la barra de direcciones de tu navegador. Esto te indica inmediatamente si el archivo es accesible en esa ruta.

    Paso 3: Verifica el archivo en el lado del servidor

    Conéctate a tu servidor mediante SSH y verifica que el archivo existe, tiene los permisos correctos y está en la ubicación esperada:

    ls -la /var/www/html/images/
    stat /var/www/html/images/photo.jpg

    Paso 4: Verifica el protocolo

    Asegúrate de que la URL de la imagen use https:// y no http:// si tu sitio tiene SSL habilitado.

    Paso 5: Prueba en múltiples navegadores

    Carga la página en Chrome, Firefox, Safari y Edge. Si la imagen se carga en algunos navegadores pero no en otros, el problema probablemente sea compatibilidad de formato o un problema de caché específico del navegador.

    Paso 6: Verifica conflictos de CMS o plugins

    Si estás usando WordPress u otro CMS, desactiva los plugins uno por uno para identificar alguno que pueda estar interfiriendo con la entrega de imágenes. Cambiar a un tema predeterminado (p. ej., Twenty Twenty-Four) también puede ayudar a aislar problemas específicos del tema.

    Paso 7: Revisa los registros de errores del servidor

    Revisa el registro de errores de tu servidor web para entradas relevantes:

    # Nginx
    tail -n 100 /var/log/nginx/error.log | grep -i "image|photo|jpg|png"
    
    # Apache
    tail -n 100 /var/log/apache2/error.log | grep -i "image|photo|jpg|png"

    Mejores prácticas preventivas para evitar futuros problemas de imágenes

    Solucionar imágenes rotas de forma reactiva es frustrante. Aquí te mostramos cómo construir un flujo de trabajo que evite que estos problemas surjan en primer lugar:

    Mejor prácticaPor qué es importante
    Usa una convención de nomenclatura consistente en minúsculasElimina errores de distinción entre mayúsculas y minúsculas en servidores Linux
    Siempre aloja tus imágenes en tu propio servidorElimina la protección contra hotlinking y los problemas de dependencia de terceros
    Comprime las imágenes antes de subirlasReduce los tiempos de carga y el consumo de recursos del servidor
    Usa rutas relativas a la raíz en HTML y CSSPreviene errores de resolución de rutas cuando los archivos se mueven
    Aplica HTTPS en todo el sitioElimina los problemas de contenido mixto
    Implementa copias de seguridad automatizadasPermite la recuperación ante eliminaciones accidentales
    Usa <picture> con respaldos de formatoGarantiza la compatibilidad en todos los navegadores
    Audita regularmente con un verificador de enlaces rotosDetecta problemas antes que los usuarios
    Añade atributos alt descriptivos a todas las imágenesMejora el SEO y la accesibilidad

    Elegir el alojamiento adecuado para una entrega de imágenes fiable

    La calidad de tu infraestructura de alojamiento juega un papel importante en el rendimiento y la fiabilidad de la entrega de imágenes. Factores clave a considerar:

    • Tipo de almacenamiento: Los SSD NVMe ofrecen velocidades de lectura dramáticamente más rápidas que los HDD tradicionales o los SSD SATA, lo que impacta directamente en la rapidez con que se sirven los archivos de imagen.
    • Recursos del servidor: CPU y RAM adecuados garantizan que tu servidor pueda manejar solicitudes de imágenes concurrentes sin limitaciones.
    • Garantías de tiempo de actividad: Un host fiable con un tiempo de actividad del 99,9% o más significa que tus imágenes siempre son accesibles.
    • Acceso root: El acceso root completo en un VPS te permite configurar los ajustes del servidor web, los permisos de archivos y las cabeceras de caché exactamente según sea necesario.

    Para sitios web en crecimiento con bibliotecas de imágenes significativas, el VPS Hosting ofrece el equilibrio ideal entre rendimiento, control y rentabilidad. Para sitios de alto tráfico o aplicaciones con muchas imágenes, como portfolios de fotografía o grandes plataformas de comercio electrónico, los Servidores Dedicados proporcionan recursos no compartidos y el máximo rendimiento.

    Si administras múltiples sitios web o prefieres una interfaz fácil de usar para la gestión de archivos, el Alojamiento Web Compartido con cPanel te ofrece un administrador de archivos intuitivo, subidas de imágenes con un clic y controles de permisos sencillos, un excelente punto de partida para sitios más pequeños.

    Conclusión

    Las imágenes rotas son uno de los problemas más visibles y perjudiciales que puede experimentar un sitio web, pero también se encuentran entre los más solucionables. Las causas raíz (rutas incorrectas, errores de permisos, discrepancias de distinción entre mayúsculas y minúsculas, contenido mixto, incompatibilidades de formato y configuraciones incorrectas del CDN) tienen todas soluciones claras y bien establecidas.

    La clave es un enfoque sistemático: usa las Herramientas de Desarrollador de tu navegador para identificar el error, rastréalo hasta su causa raíz usando los pasos de diagnóstico descritos anteriormente, aplica la solución adecuada y luego implementa prácticas preventivas para evitar que vuelva a ocurrir.

    Con un entorno de alojamiento bien configurado, una organización adecuada de archivos, convenciones de nomenclatura consistentes y un certificado SSL válido, tus imágenes se cargarán de forma fiable, rápida y correcta, para cada usuario, en cada dispositivo, en todo momento.

    15%

    Ahorra 15%<\/span> en todos los servicios de hosting

    Pon a prueba tus habilidades y obtén Descuento<\/span> en cualquier plan de hosting

    Usa el código:

    Skills
    Comenzar