Diagrama de flujo mostrando un archivo de imagen genérico siendo normalizado a un nombre descriptivo antes de subirse al CMSGuía detallada

Guía de Nombrado de Archivos de Imagen: Convenciones, Automatización y Migración Masiva

Ver contenido

Guía de Nombrado de Archivos de Imagen: Convenciones, Automatización y Migración Masiva

Introducción

Esta guía cubre convenciones prácticas de nombrado de archivos de imagen, cómo automatizar el renombrado en pipelines de subida (CMS, buckets de almacenamiento) y cómo migrar una biblioteca de imágenes existente sin romper URLs indexadas. El UXR SEO Analyzer detecta patrones de nombre genérico en todo el sitio, no solo en imágenes individuales.

Si necesitas el contexto conceptual primero, revisa Nombres de Archivo de Imagen Explicados.

Convención de Nombrado Recomendada

[tema-principal]-[detalle-especifico]-[variante-opcional].[extension]

Ejemplos:
zapatillas-running-gris-suela-naranja.jpg
equipo-marketing-reunion-oficina-santiago.jpg
grafico-crecimiento-usuarios-q3-2026.png

Reglas Técnicas

  • Minúsculas siempre—los sistemas de archivos Unix son sensibles a mayúsculas y las búsquedas de usuarios son casi siempre en minúscula.
  • Guiones (-) para separar palabras, nunca guiones bajos (_) en archivos nuevos: los guiones se interpretan como espacios por los motores de búsqueda.
  • Caracteres ASCII estándar únicamente: sin acentos, ñ, espacios ni símbolos especiales.
  • Máximo 4-5 palabras descriptivas; evita nombres de más de 60-70 caracteres.
  • Usa el nombre de tipo de archivo formal al documentar (por ejemplo, "un archivo PNG") en vez de referirte genéricamente a la extensión.

Automatización en el Pipeline de Subida

Script de Normalización (Node.js)

function slugifyFilename(originalName, description) {
  const ext = originalName.split('.').pop().toLowerCase();
  const base = description
    .toLowerCase()
    .normalize('NFD').replace(/[̀-ͯ]/g, '') // quita acentos
    .replace(/[^a-z0-9s-]/g, '')
    .trim()
    .replace(/s+/g, '-')
    .slice(0, 60);
  return `${base}.${ext}`;
}

// slugifyFilename('IMG_4382.JPG', 'Zapatillas running gris suela naranja')
// -> 'zapatillas-running-gris-suela-naranja.jpg'

Integración con CMS Headless

La mayoría de los CMS headless (Contentful, Sanity, Strapi) permiten un hook de pre-upload o asset transform donde puedes aplicar esta normalización antes de persistir el archivo, obligando a los editores a describir la imagen en el momento de subirla.

Migración de una Biblioteca Existente

  1. Auditar: exporta un listado de todos los nombres de archivo actuales y clasifica cuáles son genéricos (IMG_, DSC, screenshot, UUIDs).
  2. Priorizar: enfócate primero en imágenes con tráfico de Google Images o backlinks de imagen, ya que renombrarlas requiere redirecciones.
  3. Redirigir: cada nombre de archivo renombrado necesita una redirección 301 desde la URL antigua a la nueva para no perder el valor de indexación acumulado.
  4. Actualizar referencias internas: busca y reemplaza todas las referencias al nombre de archivo antiguo en HTML, CSS y sitemaps de imagen.
  5. Volver a enviar el sitemap de imágenes a Search Console después de la migración.

Riesgos de No Redirigir

Si renombras un archivo indexado sin una redirección 301, Google devolverá un error 404 para la URL antigua y deberá re-descubrir y re-indexar la imagen en la nueva URL desde cero, perdiendo cualquier posición ya ganada en Google Images.

Checklist de Migración

PasoHerramienta sugerida
Listar archivos actualesScript de crawling (Screaming Frog, script custom)
Detectar nombres genéricosRegex sobre patrones tipo IMG_\d+, DSC\d+, UUIDs
Generar redireccionesMapeo CSV → reglas 301 en el servidor/CDN
Verificar post-migraciónSearch Console → Cobertura de imágenes

Convención por Tipo de Contenido

No todas las imágenes del sitio son iguales, y la convención de nombrado puede variar levemente según el tipo de contenido, siempre manteniendo minúsculas, guiones y ASCII estándar como reglas comunes:

Tipo de contenidoPatrón sugeridoEjemplo
Producto de e-commerce[marca]-[producto]-[variante-color].[ext]nike-zapatillas-running-gris.jpg
Imagen destacada de blog[tema]-[palabra-clave-principal].[ext]seo-imagenes-optimizacion-cdn.jpg
Icono o asset de UIicon-[nombre-funcion].[ext]icon-carrito-compras.svg
Fotografía de equipo/marca[nombre]-[cargo]-[año].[ext]maria-gonzalez-directora-2026.jpg

Validación Automática en CI/CD

Para evitar que nombres genéricos vuelvan a colarse en el repositorio de assets, agrega una validación en el pipeline de integración continua que rechace archivos que no cumplan el patrón esperado:

const GENERIC_PATTERN = /^(img_|dsc_|screenshot|image\d*|photo\d*|untitled)/i;
const VALID_PATTERN = /^[a-z0-9]+(-[a-z0-9]+)*\.(jpg|jpeg|png|webp|avif|svg)$/;

function validateFilename(filename) {
  if (GENERIC_PATTERN.test(filename)) {
    throw new Error(`Nombre de archivo genérico rechazado: ${filename}`);
  }
  if (!VALID_PATTERN.test(filename)) {
    throw new Error(`Nombre de archivo no sigue la convención: ${filename}`);
  }
  return true;
}

Integra esta validación como un paso de pre-commit hook o como parte del job de CI que procesa nuevos assets subidos al repositorio, para detectar el problema antes de que la imagen llegue a producción.

Consideraciones Multilingües

Para sitios bilingües o multilingües, es tentador nombrar el archivo en el idioma del contenido donde se usa por primera vez, pero esto genera inconsistencia cuando la misma imagen se reutiliza en otro idioma. La práctica recomendada es nombrar el archivo físico en inglés o en un idioma neutral común al equipo (por ejemplo, running-shoes-gray.jpg), y reservar la localización para el atributo alt, que sí debe traducirse por idioma.

Auditoría Masiva con un Script de Crawling

Para sitios con miles de imágenes ya publicadas, una auditoría manual archivo por archivo no es práctica. El siguiente enfoque combina un crawler con reglas de clasificación para generar un reporte priorizado:

const results = { generic: [], underscored: [], keywordStuffed: [], ok: [] };

for (const imageUrl of allImageUrls) {
  const filename = imageUrl.split('/').pop().split('?')[0];
  if (/^(img_|dsc_|screenshot|untitled)/i.test(filename)) {
    results.generic.push(imageUrl);
  } else if (/_/.test(filename)) {
    results.underscored.push(imageUrl);
  } else if ((filename.match(/-/g) || []).length > 6) {
    results.keywordStuffed.push(imageUrl);
  } else {
    results.ok.push(imageUrl);
  }
}

console.table({
  generic: results.generic.length,
  underscored: results.underscored.length,
  keywordStuffed: results.keywordStuffed.length,
  ok: results.ok.length,
});

Prioriza corregir primero las imágenes en results.generic, ya que son las que no aportan ninguna señal semántica, seguidas de results.underscored en archivos nuevos o de bajo tráfico donde renombrar no requiere una redirección compleja.

Coordinación con el Equipo Editorial

La automatización técnica solo resuelve la mitad del problema: si los editores de contenido siguen subiendo archivos con nombres de cámara sin describir la imagen, el problema regresa constantemente. Documenta la convención de nombrado en la guía de estilo del equipo, y si tu CMS lo permite, agrega un campo obligatorio de "descripción de archivo" en el formulario de subida que se use para generar automáticamente el nombre final mediante el script de normalización.

Nombrado de Archivos y Contenido Duplicado entre Dominios

Si la misma imagen se sirve desde múltiples nombres de host o subdominios que posees—por ejemplo, un espejo de CDN y el origen original—los motores de búsqueda pueden elegir una copia como versión canónica, que puede no ser la que pretendías posicionar. Mantener un nombre de archivo único y consistente en todas las copias (en lugar de dejar que cada entorno genere el suyo) facilita declarar después una imagen canónica mediante un sitemap de imágenes o enlaces consistentes, y evita el rastreo e indexación más lentos que pueden causar los nombres de host duplicados.

Artículos Relacionados


Referencias

  1. Google Developers - Filenames and file types
  2. Google Search Central - 1000 Words About Images
  3. Google Search Central - SES Chicago - Using Images

Artículos relacionados

Versión relacionada

Introducción

Nombres de Archivo de Imagen: Por Qué "IMG_4382.jpg" Perjudica tu SEO

El nombre de archivo de una imagen es una señal textual que Google usa para indexarla; nombres genéricos o con guiones bajos pierden esa oportunidad de SEO.

Hub de categoría

Hub

Images Seo Hub

Las imágenes son críticas para el engagement del usuario, pero también pueden ser el mayor cuello de botella de rendimiento de tu sitio web

En la misma categoría

Guía detallada

Alt Text Implementation Guide

Esta guía completa cubre la implementación técnica de texto alternativo para todos los tipos de imágenes y contextos

Guía detallada

Url Structure Optimization Guide

Optimizar tu estructura de URL es fundamental tanto para el SEO tecnico como para la expansion internacional

Guía detallada

Keyword Placement Optimization Guide

La colocación estratégica de palabras clave ayuda a motores de búsqueda y usuarios a entender el enfoque de tu contenido

Otros temas

Hub

Basic Seo Fundamentals Hub

Todo sitio web exitoso se construye sobre una base sólida de fundamentos SEO