Adray

La rúbrica, completa

Los 46 criterios con los que calificamos una tienda

Esto es contra lo que se mide tu sitio en la auditoría gratuita: qué revisa nuestro navegador, por qué cada cosa cuesta ventas y cuál es el arreglo concreto. Publicado entero para que puedas juzgar el criterio antes de aceptar el veredicto.

46 criterios

Ruta de conversión

9

Agregar al carrito funciona

Crítica
Qué revisamos
El agregar-al-carrito sintético produce una actualización exitosa del carrito (XHR 2xx, el contador sube).
Por qué cuesta ventas
Si agregar al carrito falla o no hace nada en silencio, no existe camino a la venta.
Cómo se arregla
Asegura que agregar al carrito actualice el carrito (respuesta 200, el contador sube) sin exigir login.

El carrito acepta varias piezas del mismo producto

Importante
Qué revisamos
Tras confirmar el agregar al carrito, el bot le pide al carrito 10 piezas de ese producto (con la API de carrito de la propia plataforma) y lee cuántas aceptó y por qué.
Por qué cuesta ventas
Quien compra para una fiesta, un equipo o una lista de regalos necesita más de unas cuantas piezas del mismo artículo; un carrito que limita la cantidad en silencio pierde ese pedido.
Cómo se arregla
Si el límite no es a propósito, sube o quita la cantidad máxima por producto en la configuración de tu tienda o de tu checkout.

Checkout accesible como invitado

Importante
Qué revisamos
Desde una sesión nueva, el carrito llega a la entrada del checkout sin login forzado.
Por qué cuesta ventas
Obligar a crear cuenta es una de las principales causas de abandono en compradores nuevos.
Cómo se arregla
Habilita el checkout como invitado para que se pueda llegar al pago sin cuenta.

Carrito y CTA de checkout claros

Importante
Qué revisamos
La página del carrito expone un control de checkout accesible e inequívoco.
Por qué cuesta ventas
Un botón de checkout escondido o ambiguo pierde a compradores listos para pagar en el último paso.
Cómo se arregla
Haz obvios el carrito y un único botón de checkout prominente en la página del carrito.

Envío visible antes del checkout

Importante
Qué revisamos
La página de producto/carrito muestra un estimado de envío o umbral de envío gratis antes del checkout.
Por qué cuesta ventas
Un costo de envío que solo aparece en el checkout es el clásico abandono por sorpresa de precio al final.
Cómo se arregla
Muestra el costo de envío o el umbral de envío gratis en la página de producto/carrito.

Suficientes fotos de producto

Importante
Qué revisamos
La galería del producto expone 3+ imágenes únicas en la página recorrida.
Por qué cuesta ventas
Las fotos son el único sustituto de tener el producto en la mano; muy pocas dejan dudas que frenan la venta o generan devoluciones.
Cómo se arregla
Muestra al menos 3 imágenes (ideal 6+): ángulos alternos, detalle/zoom, el producto en uso y una referencia de escala.

Precio claramente visible

Importante
Qué revisamos
Un precio visible se renderiza arriba del fold con tamaño de fuente ≥18px en la página de producto.
Por qué cuesta ventas
El precio es lo segundo que busca el comprador después del nombre; un precio oculto, diminuto o bajo el fold siembra dudas antes de considerar la compra.
Cómo se arregla
Muestra el precio arriba del fold, junto al título, a 18px o más y con alto contraste.

Agregar al carrito visible sin hacer scroll

Importante
Qué revisamos
El control de agregar al carrito queda dentro del viewport inicial (sin scroll) en escritorio y en viewport de teléfono.
Por qué cuesta ventas
Los compradores deciden en segundos; si no ven cómo comprar sin hacer scroll (sobre todo en el teléfono), muchos rebotan antes de interactuar.
Cómo se arregla
Coloca el bloque de compra (precio + agregar al carrito) en la primera pantalla tanto en escritorio como en móvil.

Selectores de variante con botones (no menús)

Menor
Qué revisamos
Las variantes en la página de producto usan botones/swatches en lugar de un <select>.
Por qué cuesta ventas
Los botones/swatches muestran cada talla/color de un vistazo y reducen pedidos con la variante equivocada frente a un menú desplegable oculto.
Cómo se arregla
Reemplaza los <select> de talla/color por botones o swatches visibles.

Confianza

3

Señales de confianza presentes

Importante
Qué revisamos
Hay enlaces a devoluciones/envíos/contacto y sellos de confianza de pago.
Por qué cuesta ventas
Sin políticas visibles de devoluciones/envíos/contacto ni sellos de pago, crece la duda en el último paso.
Cómo se arregla
Enlaza las políticas de devoluciones, envíos y contacto en el footer y agrega sellos de pago seguro cerca del checkout.

Calificación con número de reseñas visible

Importante
Qué revisamos
Una calificación de estrellas y un conteo numérico de reseñas están presentes en el DOM de la página de producto.
Por qué cuesta ventas
La mayoría de los compradores se apoya en calificaciones antes de comprar; una calificación de estrellas con conteo de reseñas es de las señales de confianza más usadas en la página de producto.
Cómo se arregla
Muestra una calificación de estrellas y un conteo numérico de reseñas cerca del título del producto (el markup schema.org también ayuda a los buscadores).

Reseñas de clientes presentes

Menor
Qué revisamos
Un contenedor o encabezado de reseñas está presente en el DOM de la página de producto.
Por qué cuesta ventas
Los compradores leen reseñas de otros para resolver dudas; un producto sin reseñas en la página se percibe nuevo o riesgoso.
Cómo se arregla
Agrega una sección de reseñas (Yotpo, Stamped, Trustpilot o nativa) con calificación, autor, fecha y sello de compra verificada.

Rendimiento

3

Primera carga rápida

Importante
Qué revisamos
Las páginas clave quedan interactivas dentro del presupuesto de carga en una visita con throttling.
Por qué cuesta ventas
Cada segundo extra de carga tira conversiones, sobre todo en móvil.
Cómo se arregla
Comprime las imágenes hero, difiere los scripts no críticos y mantén la página de producto bajo ~3s en 4G.

Formatos de imagen modernos

Menor
Qué revisamos
La mayoría de las imágenes en las páginas recorridas se sirven como WebP o AVIF.
Por qué cuesta ventas
WebP/AVIF pesan 25-50% menos que JPEG/PNG a igual calidad, así la página pinta más rápido, sobre todo en datos móviles.
Cómo se arregla
Sirve las imágenes como WebP/AVIF (vía tu CDN o un <picture> con fallback JPEG/PNG).

Nada bloquea el primer render

Menor
Qué revisamos
Ningún <script src> síncrono sin async/defer en el <head> del documento.
Por qué cuesta ventas
Los scripts síncronos en el <head> retrasan el primer render; el comprador ve una página en blanco y puede irse.
Cómo se arregla
Agrega async/defer a los scripts del head (o muévelos al final del <body>); deja inline solo el CSS crítico.

Móvil

6

Diseño listo para móvil

Crítica
Qué revisamos
Meta viewport responsivo presente; los controles principales no son diminutos ni se enciman.
Por qué cuesta ventas
La mayoría del tráfico de la tienda es móvil; un viewport ausente o con zoom hace la tienda inutilizable en el teléfono.
Cómo se arregla
Agrega un <meta name="viewport" content="width=device-width, initial-scale=1"> responsivo y verifica las áreas táctiles.

Botón de agregar al carrito fácil de tocar

Importante
Qué revisamos
El control de agregar al carrito localizado mide al menos 44×44px en la página recorrida.
Por qué cuesta ventas
Un botón de agregar al carrito pequeño es difícil de tocar en el teléfono. Los toques fallidos y la frustración cuestan la venta; bajo 24px además incumple accesibilidad en la UE.
Cómo se arregla
Dale al botón de agregar al carrito un área táctil de al menos 44×44px (usa padding); nunca menos de 24×24px.

Botón de agregar al carrito legible

Importante
Qué revisamos
El control de agregar al carrito localizado cumple el contraste WCAG AA para su tamaño de texto.
Por qué cuesta ventas
Un botón de agregar al carrito con poco contraste es difícil de leer bajo el sol en el teléfono. Los compradores no encuentran dónde comprar.
Cómo se arregla
Sube el contraste texto/fondo del botón a WCAG AA (4.5:1 texto normal, 3:1 grande/negritas).

Agregar al carrito a la mano al hacer scroll

Importante
Qué revisamos
Un control fijo/sticky de agregar al carrito es visible tras hacer scroll en la página de producto.
Por qué cuesta ventas
En el teléfono el botón principal se pierde al leer; una barra fija de agregar al carrito elimina la fricción de regresar justo cuando deciden comprar.
Cómo se arregla
Agrega una barra fija inferior con nombre, precio y agregar al carrito que aparezca cuando el botón principal salga de pantalla.

Las imágenes tienen texto alt

Menor
Qué revisamos
Ningún <img> sin atributo alt en las páginas recorridas.
Por qué cuesta ventas
Sin texto alt excluyes a compradores con lector de pantalla y pierdes tráfico de búsqueda de imágenes.
Cómo se arregla
Agrega texto alt descriptivo a las imágenes de producto y contenido (alt vacío solo en las puramente decorativas).

Contraste de texto legible

Menor
Qué revisamos
El texto muestreado en las páginas recorridas cumple el contraste WCAG AA contra su fondo efectivo.
Por qué cuesta ventas
El texto con poco contraste es ilegible bajo el sol y para compradores con baja visión. Un texto que no se puede leer no convierte.
Cómo se arregla
Sube los pares texto/fondo que fallan a contraste WCAG AA (4.5:1 texto normal, 3:1 texto grande).

Seguridad

3

Servida sobre HTTPS

Crítica
Qué revisamos
La URL final de la página usa https y no hay redirecciones inseguras en la cadena.
Por qué cuesta ventas
Una tienda sin conexión segura dispara advertencias del navegador que espantan a los compradores antes de comprar.
Cómo se arregla
Fuerza HTTPS en todas las páginas y redirige cualquier URL http:// a https://.

Sin contenido mixto

Crítica
Qué revisamos
Ninguna petición de subrecurso http:// en un documento https (bloqueado/contenido mixto).
Por qué cuesta ventas
Los subrecursos http en una página https se bloquean. Estilos/scripts rotos y una alerta de "no seguro".
Cómo se arregla
Carga todas las imágenes, scripts y estilos por https (o con protocolo relativo).

Encabezados de seguridad (HSTS/CSP)

Menor
Qué revisamos
La respuesta del documento incluye los encabezados Strict-Transport-Security y Content-Security-Policy.
Por qué cuesta ventas
Sin HSTS/CSP se debilitan las defensas contra downgrade de protocolo e inyección de scripts; algunos navegadores alertan al usuario.
Cómo se arregla
Agrega los encabezados Strict-Transport-Security y Content-Security-Policy en el edge/CDN.

Higiene técnica

4

Sin imágenes ni recursos rotos

Importante
Qué revisamos
Ninguna petición de imagen (u otro recurso 4xx/5xx) falla durante la visita.
Por qué cuesta ventas
Imágenes de producto faltantes y recursos 404 se leen como "roto/no confiable" y frenan la compra.
Cómo se arregla
Corrige las imágenes/recursos con 404 o elimina las referencias muertas.

Sin errores de JavaScript en páginas clave

Importante
Qué revisamos
No se disparan errores no capturados que puedan romper la página en las páginas recorridas (el ruido de scripts de terceros o extensiones del navegador queda como advertencia, no como falla).
Por qué cuesta ventas
Un error de JS puede romper en silencio el agregar al carrito, el selector de variantes o el botón de checkout.
Cómo se arregla
Resuelve los errores de consola en el home, la página de producto y el carrito.

Sin controles muertos o sin respuesta

Menor
Qué revisamos
Ningún botón/role=button queda sin respuesta alguna al interactuar.
Por qué cuesta ventas
Botones que parecen clicables pero no hacen nada provocan clics de frustración y abandono.
Cómo se arregla
Audita los controles sin handler/href en busca de un cableado roto o una respuesta lenta sin feedback.

Idioma de la página declarado

Menor
Qué revisamos
El elemento <html> lleva un atributo lang no vacío.
Por qué cuesta ventas
El atributo lang permite a los lectores de pantalla elegir la voz y el acento correctos para compradores con tecnología de asistencia.
Cómo se arregla
Define <html lang="es-MX"> (o el idioma de tu tienda) a nivel de plantilla.

Descubribilidad

5

Datos de producto que Google puede leer

Importante
Qué revisamos
JSON-LD Product válido con name, image, price, priceCurrency y availability.
Por qué cuesta ventas
Los datos estructurados de producto son lo que te hace aparecer en resultados enriquecidos de Google Shopping con precio, foto y disponibilidad.
Cómo se arregla
Emite JSON-LD Product completo (name, image, price, currency, availability) en cada página de producto.

Básicos de descubribilidad

Menor
Qué revisamos
El documento tiene <title> no vacío, meta description y tags OG.
Por qué cuesta ventas
Sin title/description/tags sociales pierdes tráfico gratuito y el enlace se ve roto al compartirse.
Cómo se arregla
Define un título único, meta description y tags Open Graph por página.

Un encabezado de página claro

Menor
Qué revisamos
Exactamente un <h1> visible en la página recorrida.
Por qué cuesta ventas
Un único <h1> descriptivo ayuda a buscadores, lectores de pantalla y asistentes de compra con IA a identificar el producto.
Cómo se arregla
Envuelve el nombre del producto en exactamente un <h1>; deja el resto de encabezados en h2 o menor.

Snippet de búsqueda del largo correcto

Menor
Qué revisamos
Hay una meta description y mide entre 120 y 160 caracteres.
Por qué cuesta ventas
La meta description es tu anuncio gratis en los resultados de Google; vacía o truncada pierde clics antes de que el comprador llegue.
Cómo se arregla
Escribe una meta description de 120-160 caracteres con el nombre del producto + beneficio clave.

Vista previa rica al compartir

Menor
Qué revisamos
Los cuatro tags Open Graph de vista previa (title, description, image, url) están presentes.
Por qué cuesta ventas
Sin tags Open Graph completos, los enlaces compartidos en WhatsApp/Instagram/Facebook muestran una vista previa rota y casi nadie los abre.
Cómo se arregla
Define og:title, og:description, og:image (1200×630) y og:url en cada página de producto.

Agentes de IA

11

Los agentes de búsqueda y compra con IA pueden leer tus productos

Importante
Qué revisamos
Lee robots.txt (RFC 9309) y revisa a cada agente de búsqueda y de usuario contra la página de producto recorrida. Reporta lo que dice el archivo, no cómo se comporta cada agente.
Por qué cuesta ventas
ChatGPT, Claude y Perplexity mandan sus propios agentes a buscar productos y a contestarle al comprador. Una regla de robots.txt que los rechaza deja tus productos fuera de esas respuestas. Bloquear a los crawlers de entrenamiento (GPTBot, ClaudeBot, Google-Extended, CCBot) es una decisión legítima y no se marca.
Cómo se arregla
En robots.txt, permite a OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot y Perplexity-User en las páginas de producto. Puedes seguir bloqueando a los crawlers de entrenamiento.

Nombre y precio legibles sin JavaScript

Importante
Qué revisamos
Toma el nombre y el precio que ve el comprador en la página de producto y los busca en el HTML inicial: texto visible, título, metaetiquetas de producto, microdatos y JSON-LD.
Por qué cuesta ventas
Muchos agentes de IA leen el HTML de la página sin ejecutar JavaScript. Si el nombre o el precio sólo aparecen después de que corren los scripts, el agente ve un producto sin precio y no lo puede recomendar ni cotizar.
Cómo se arregla
Genera el nombre, el precio y la disponibilidad del producto en el servidor (en el HTML inicial o en JSON-LD), no sólo con JavaScript.

Datos del producto en el HTML inicial

Importante
Qué revisamos
Busca un Product de schema.org en el JSON-LD del HTML inicial y lo compara con el JSON-LD que hay después de que corre JavaScript.
Por qué cuesta ventas
Los datos estructurados del producto (un Product de schema.org en JSON-LD) son la forma en que un agente lee precio, moneda y existencias sin adivinar. Si los inyecta JavaScript, son invisibles para los agentes que no ejecutan scripts.
Cómo se arregla
Emite el JSON-LD de Product desde el mismo código del servidor que pinta la página, para que esté en el HTML inicial.

Precio, moneda y existencias en las que un agente puede confiar

Importante
Qué revisamos
Valida cada oferta del JSON-LD de Product: precio numérico, priceCurrency ISO 4217 y availability de schema.org.
Por qué cuesta ventas
Un agente compara y compra con los datos de la oferta (Offer). Un precio con símbolo de moneda o separador de miles, una moneda que no es código ISO 4217 o unas existencias escritas en texto libre pueden hacer que descarte el producto.
Cómo se arregla
En la oferta del JSON-LD de Product usa un número simple para el precio (1299.00), un código ISO 4217 para priceCurrency (MXN) y un valor de schema.org para availability (https://schema.org/InStock).

Página de producto legible sin JavaScript

Importante
Qué revisamos
Qué parte de las palabras que ve el comprador en la página de producto ya está en el HTML inicial, antes de JavaScript. Comparable en intención con la medición de Adobe, no idéntica en método.
Por qué cuesta ventas
En promedio, los agentes de IA sólo pueden leer el 66% del contenido de una página de producto de retail en EE. UU., según Adobe (julio de 2026): mucho lo construye un JavaScript que el agente no ejecuta. Lo que no puede leer, no lo puede describir ni recomendar.
Cómo se arregla
Genera en el servidor el contenido del producto (descripción, características, precio, variantes). Deja JavaScript para la interacción, no para el contenido.

Marca e identificadores del producto

Menor
Qué revisamos
Revisa en el JSON-LD de Product (y en sus ofertas o variantes) la marca y un GTIN, MPN o SKU.
Por qué cuesta ventas
Los agentes reconocen el mismo producto entre tiendas por su marca y sus identificadores (GTIN, MPN o SKU). Sin ellos, tu producto es más difícil de emparejar y de comparar.
Cómo se arregla
Agrega brand y al menos un identificador (gtin13, mpn o sku) al JSON-LD de Product.

Página de inicio legible sin JavaScript

Menor
Qué revisamos
Qué parte de las palabras que ve el comprador en la página de inicio ya está en el HTML inicial, antes de JavaScript.
Por qué cuesta ventas
En la página de inicio un agente aprende qué vendes. Adobe midió en promedio 61% de legibilidad en las páginas de inicio de retail en EE. UU.; lo que sólo construye JavaScript es invisible para los agentes que no lo ejecutan.
Cómo se arregla
Genera en el servidor el contenido principal del inicio: categorías, productos destacados y el texto que explica qué vendes.

Sitemap de productos

Menor
Qué revisamos
Lee el sitemap que declara robots.txt (o /sitemap.xml) y busca URLs de producto o un sitemap de productos.
Por qué cuesta ventas
Un sitemap con las URLs de tus productos es la forma más barata de que un agente o un crawler descubra todo el catálogo, y no sólo lo que alcanzan tus enlaces.
Cómo se arregla
Publica un sitemap.xml (y decláralo en robots.txt) que liste las URLs de tus productos o un sitemap de productos.

Checkout en tu propio dominio

Menor
Qué revisamos
Lee a dónde apuntan los enlaces de checkout de las páginas recorridas. El bot nunca abre el checkout.
Por qué cuesta ventas
Los protocolos de checkout para agentes esperan que la compra se complete en el dominio de la tienda. Un enlace de checkout que salta a otro dominio es más difícil de seguir para un agente y le da menos confianza al comprador.
Cómo se arregla
Sirve el checkout en tu dominio o en un subdominio de él.

Perfil de comercio para agentes (UCP)

Menor
Qué revisamos
Lee /.well-known/ucp y revisa su forma (versión, servicios, capacidades). No prueba el checkout en sí.
Por qué cuesta ventas
El Universal Commerce Protocol, un estándar abierto de comercio para agentes, le permite a un agente descubrir qué soporta una tienda, incluido el checkout, desde /.well-known/ucp. La adopción apenas empieza, así que es informativo y no cuenta en tu calificación.
Cómo se arregla
Si tu plataforma soporta UCP, actívalo para que el perfil se publique en /.well-known/ucp.

Archivo llms.txt

Menor
Qué revisamos
Lee /llms.txt y revisa que siga el formato de llms.txt (una línea de título).
Por qué cuesta ventas
llms.txt es un resumen opcional de tu sitio para modelos de lenguaje. Vercel señala que no afecta el ranking, así que es informativo y no cuenta en tu calificación.
Cómo se arregla
Opcional: publica /llms.txt con una línea de título y enlaces a tus páginas clave.

Integridad de medición

2

Un solo ID de analítica/ads por plataforma

Crítica
Qué revisamos
Una carga real en el navegador dispara beacons a más de un ID de la misma plataforma (google-analytics.com/collect tid=, facebook.com/tr id=).
Por qué cuesta ventas
Dos propiedades de GA4 o dos pixeles de Meta recibiendo la misma visita cuentan cada conversión dos veces. Google y Meta optimizan la puja sobre esos números inflados: el presupuesto se guía por conteos que son ~2× la realidad.
Cómo se arregla
En GTM/GA/Meta, quita la etiqueta o el contenedor duplicado. Causa común: la integración nativa de tu plataforma de comercio Y una etiqueta de GTM/hardcodeada mandan los mismos eventos a IDs distintos.

Cada evento se dispara una vez por acción

Crítica
Qué revisamos
Una carga real en el navegador dispara el mismo (plataforma, ID, evento) 3+ veces en pocos segundos en una página, sin navegación entre ellos.
Por qué cuesta ventas
Un disparador configurado para activarse en cada cambio del DOM (en vez de una vez por página) manda el mismo evento varias veces por una sola acción, inflando las conversiones igual que un ID duplicado.
Cómo se arregla
En GTM, pon el disparador de la etiqueta en "Una vez por página"/"Una vez por evento" y quita cualquier disparador atado a un evento de DOM/historial que se repita.

La gravedad ordena la lista dentro de cada rubro; no es una calificación de tu tienda.

Lo que esta rúbrica NO es

  • Un recorrido anónimo ve tu tienda como la ve un desconocido: no entra a tu checkout con una tarjeta ni mide la conducta de tus compradores reales.
  • Un criterio que no se pudo evaluar se reporta como «no verificado», y eso nunca significa que esté bien.
  • Cumplir los 46 no garantiza ventas. Son condiciones necesarias que la mayoría de las tiendas rompe en silencio, no una fórmula.
Auditar mi sitio