Revisión automática del sitio

Aprobado con observaciones

https://modelo-home-center.pages.dev · revisado el 2026-10-30 · 1 página(s): inicio

90.9de 100

Aprobado con observaciones

Sin críticos: quedan detalles medios para pulir.

0críticos: frenan la entrega
0altos: se arreglan sí o sí
13medios: calidad
22archivos y enlaces probados

Cómo está repartido

Cada área se mide de 0 a 100 y pesa distinto en la nota final. Abajo de 85 hay algo para arreglar; arriba de 90 está bien.

SEO técnico82.8
8 punto(s) para mirar · pesa 10% de la nota
Funcionalidad83.6
4 punto(s) para mirar · pesa 20% de la nota
Accesibilidad87.7
3 punto(s) para mirar · pesa 15% de la nota
Seguridad89.1
4 punto(s) para mirar · pesa 10% de la nota
Velocidad y peso96.1
2 punto(s) para mirar · pesa 12% de la nota
Diseño y consistencia96.4
2 punto(s) para mirar · pesa 15% de la nota
Conversión y confianza98.8
3 punto(s) para mirar · pesa 8% de la nota
Celular y tablet99.6
1 punto(s) para mirar · pesa 10% de la nota

Qué arreglar primero

Estos son los puntos que más cambian el resultado. En orden: el primero es el que más conviene tocar hoy.

  1. Letra demasiado chicaSubir el tamaño base a 18-20 px y usar rem para que respete el zoom.
  2. Hay más de un título principalDejar uno solo; los demás pasan a <h2>.
  3. Botones que no hacen nadaPoner la dirección real (WhatsApp, mail, sección) o convertirlo en texto si no es un enlace.
  4. Enlaces a secciones que no existenCrear la sección con ese id o corregir el enlace.
  5. Formulario sin destinoPoner el servicio que recibe el formulario (Formspree, una función de Cloudflare, WhatsApp) o dejarlo claro.

Todos los puntos, uno por uno

Cada ficha dice qué se midió, cómo se arregla y cómo comprobar que quedó bien.

Medio (13)

Medio ACC-06 en inicio

Letra demasiado chica

Lo que se midióLetra de 15 px en .topbar .tag (y 5 caso(s) más)

Cómo se arreglaSubir el tamaño base a 18-20 px y usar rem para que respete el zoom.

Cómo comprobás que quedóMirar la página en el celular a un brazo de distancia: se lee sin esfuerzo.

Por qué importaWCAG 1.4.4: el texto tiene que poder leerse; en la práctica 16 px es el piso y 20 px lo cómodo.

Medio ACC-08 en inicio

Hay más de un título principal

Lo que se midió3 etiquetas <h1>

Cómo se arreglaDejar uno solo; los demás pasan a <h2>.

Cómo comprobás que quedóContar los h1 del código: uno.

Por qué importaVarios h1 confunden la estructura y el posicionamiento.

Medio FUN-05 en inicio

Botones que no hacen nada

Lo que se midió17 enlace(s) apuntan a '#', vacío o 'javascript:void(0)'

Cómo se arreglaPoner la dirección real (WhatsApp, mail, sección) o convertirlo en texto si no es un enlace.

Cómo comprobás que quedóTocar cada botón y ver que pasa algo: abre WhatsApp, baja a una sección, envía.

Por qué importaUn botón que no hace nada es la queja número uno de usuario y de auditoría.

Medio FUN-07 en inicio

Enlaces a secciones que no existen

Lo que se midióApuntan a: #cuotas, #cuotas, #cuotas

Cómo se arreglaCrear la sección con ese id o corregir el enlace.

Cómo comprobás que quedóTocar el enlace del menú: la página tiene que bajar a esa sección.

Por qué importaEl menú promete una sección y el navegador no la encuentra: no pasa nada al tocar.

Medio FUN-08 en inicio

Formulario sin destino

Lo que se midióEl formulario no declara a dónde manda los datos (sin action)

Cómo se arreglaPoner el servicio que recibe el formulario (Formspree, una función de Cloudflare, WhatsApp) o dejarlo claro.

Cómo comprobás que quedóLlenar el formulario de prueba y confirmar que llega el mensaje.

Por qué importaWCAG 3.3.2 y buenas prácticas de formularios: el usuario tiene que saber qué pasa al enviar.

Medio REN-02 en inicio

La página pesa bastante

Lo que se midió1.5 MB en 22 archivos

Cómo se arreglaBajar las fotos grandes a WebP de 1600 px de ancho.

Cómo comprobás que quedóVolver a medir el total.

Por qué importaEl peso se nota sobre todo con datos móviles.

Medio SEG-02 en inicio

Falta el candado permanente (HSTS)

Lo que se midióNo hay cabecera Strict-Transport-Security

Cómo se arreglaAgregar Strict-Transport-Security: max-age=31536000; includeSubDomains.

Cómo comprobás que quedócurl -I y buscar strict-transport-security.

Por qué importaHSTS le dice al navegador 'a este sitio entrá siempre por https'.

Medio SEG-03 en inicio

Falta la lista de permitidos (CSP)

Lo que se midióNo hay cabecera Content-Security-Policy

Cómo se arreglaEmpezar con default-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'.

Cómo comprobás que quedócurl -I y buscar content-security-policy.

Por qué importaCSP evita que un código ajeno inyectado robe datos del formulario.

Medio SEG-06 en inicio

La página se puede meter dentro de otra

Lo que se midióSin X-Frame-Options ni frame-ancestors

Cómo se arreglaAgregar X-Frame-Options: SAMEORIGIN o frame-ancestors 'self' en la CSP.

Cómo comprobás que quedócurl -I y buscar la cabecera.

Por qué importaAbrir el sitio dentro de una página ajena habilita el engaño de 'clickjacking'.

Medio SEO-02 en inicio

El título se corta en Google

Lo que se midió74 caracteres: Casa Firme · Home Center — Materiales, baño, cocina, herramientas y ja…

Cómo se arreglaDejar el título en 50-60 caracteres con lo importante adelante.

Cómo comprobás que quedóContar los caracteres del title.

Por qué importaGoogle muestra unos 60 caracteres; lo que sobra se pierde.

Medio SEO-05 en inicio

Falta la dirección oficial de la página

Lo que se midióNo hay <link rel="canonical">

Cómo se arreglaAgregar <link rel="canonical" href="https://tudominio.com/">.

Cómo comprobás que quedóVer el código: una sola dirección canónica, la definitiva.

Por qué importaSin canonical, Google puede indexar la misma página con dos direcciones y dividir la fuerza.

Medio SEO-09 en inicio

Falta la vista previa al compartir

Lo que se midióFaltan og:title, og:description, og:image

Cómo se arreglaAgregar og:title, og:description y og:image (1200x630) en el head.

Cómo comprobás que quedóPegar el link en un chat de WhatsApp: tiene que salir foto y título.

Por qué importaSin Open Graph, el link se ve pelado en WhatsApp y en Facebook: menos clics.

Medio SEO-13 en inicio

Falta la ficha del negocio para Google

Lo que se midióNo hay datos estructurados JSON-LD

Cómo se arreglaAgregar un JSON-LD de tipo LocalBusiness con nombre, dirección, teléfono y horario.

Cómo comprobás que quedóPegar la URL en el validador de resultados enriquecidos de Google.

Por qué importaLos datos estructurados dicen 'esto es una ferretería, acá, con este teléfono': habilitan resultados enriquecidos.

Bajo (6)

Bajo ACC-09 en inicio

Los títulos saltan de nivel

Lo que se midióEjemplo: de h3 a h5 sin pasar por el del medio

Cómo se arreglaUsar la escalera: h1, h2, h3, sin saltar.

Cómo comprobás que quedóRecorrer los títulos de arriba a abajo: tienen que bajar de a uno.

Por qué importaWCAG 1.3.1: los encabezados forman un índice; saltear rompe el orden.

Bajo FUN-12 en inicio

Falta la zona principal de la página

Lo que se midióNo hay etiqueta <main>

Cómo se arreglaEnvolver la parte central con <main> ... </main>.

Cómo comprobás que quedóCon el lector de pantalla, el atajo de 'región principal' tiene que existir.

Por qué importaWCAG 1.3.1 y los lectores de pantalla usan <main> para saltar directo al contenido.

Bajo SEO-04 en inicio

Descripción fuera de medida

Lo que se midió181 caracteres

Cómo se arreglaAjustar el texto a esa medida.

Cómo comprobás que quedóContar los caracteres.

Por qué importaEntre 140 y 160 caracteres es lo que Google muestra sin cortar.

Bajo SEO-12 en inicio

Sin ícono en la pestaña

Lo que se midióNo hay <link rel="icon">

Cómo se arreglaAgregar favicon.ico o un SVG de 32x32.

Cómo comprobás que quedóMirar la pestaña: tiene que verse el logo.

Por qué importaSin favicon, la pestaña muestra un cuadrado gris y se pierde marca.

Bajo UX-03 en inicio

Escala de tamaños sin sistema

Lo que se midió20 tamaños de letra distintos

Cómo se arreglaDefinir la escala en variables y reemplazar los valores sueltos.

Cómo comprobás que quedóMirar los títulos de la página: tienen que ir creciendo de a saltos parejos.

Por qué importaUna escala de 5-6 saltos (14, 16, 20, 26, 34, 46) hace la lectura predecible.

Bajo UX-05 en inicio

Texto que puede cortarse sin aviso

Lo que se midióHay white-space:nowrap sin text-overflow

Cómo se arreglaAgregar overflow:hidden; text-overflow:ellipsis o permitir que baje de línea.

Cómo comprobás que quedóMirar la página en 360 px: ningún texto se tiene que salir del cuadro.

Por qué importaEn pantallas chicas el texto se sale del cuadro y queda cortado a la mitad.

Mejora (8)

Mejora CONV-06 en inicio

Sin prueba de que otros ya compraron

Lo que se midióNo hay testimonios, reseñas ni cantidad de clientes

Cómo se arreglaPoner 2 o 3 frases de clientes con nombre y localidad, o la calificación de Google.

Cómo comprobás que quedóMirar la página: tiene que haber caras o nombres reales.

Por qué importaLa prueba social es lo que más destraba la primera compra.

Mejora CONV-08 en inicio

Precios sin aclarar qué incluyen

Lo que se midióHay precios y no se aclara IVA, unidad ni forma de pago

Cómo se arreglaAclarar junto al precio: 'por bolsa', 'IVA incluido', 'hasta agotar stock'.

Cómo comprobás que quedóLeer los precios: cada uno tiene que decir por qué unidad es.

Por qué importaUn precio sin contexto genera preguntas y frena la compra.

Mejora CONV-09 en inicio

Sin color de marca en el celular

Lo que se midióNo hay meta theme-color

Cómo se arreglaAgregar <meta name="theme-color" content="#(color de marca)">.

Cómo comprobás que quedóAbrir en el celular: la barra tiene que estar del color del negocio.

Por qué importaEn Android la barra del navegador toma el color del sitio: se ve más terminado.

Mejora REN-14 en inicio

La fuente del título no va primero

Lo que se midióNo hay <link rel="preload"> de la fuente principal

Cómo se arreglaAgregar <link rel="preload" as="font" type="font/woff2" href="/fuentes/x.woff2" crossorigin>.

Cómo comprobás que quedóMirar la pestaña Red: la fuente tiene que salir entre los primeros pedidos.

Por qué importaPrecargar la fuente del título ahorra el salto de letra en la primera pantalla.

Mejora RES-08 en inicio

La misma foto para celular y compu

Lo que se midióNo hay srcset ni <picture>

Cómo se arreglaGenerar dos tamaños (800 y 1600 px) y usar srcset.

Cómo comprobás que quedóCon la red del celular, comparar el peso de la imagen antes y después.

Por qué importaEl celular baja una foto de escritorio: gasta datos y tarda el doble.

Mejora SEG-07 en inicio

Sin límites de cámara, micrófono y ubicación

Lo que se midióNo hay Permissions-Policy

Cómo se arreglaAgregar Permissions-Policy: geolocation=(), camera=(), microphone=().

Cómo comprobás que quedócurl -I y buscar permissions-policy.

Por qué importaEs apagar las funciones que la página no usa.

Mejora SEO-11 en inicio

Sin tarjeta para Twitter/X

Lo que se midióNo hay twitter:card

Cómo se arreglaAgregar <meta name="twitter:card" content="summary_large_image">.

Cómo comprobás que quedóCompartir el link en X: tiene que salir grande la foto.

Por qué importaEs la misma vista previa que Open Graph, para la otra red.

Mejora SEO-16 en inicio

Pocos enlaces internos

Lo que se midió0 enlaces internos

Cómo se arreglaAgregar enlaces a secciones y a otras páginas del sitio.

Cómo comprobás que quedóContar los enlaces internos del código.

Por qué importaLos enlaces internos reparten la fuerza y ayudan a descubrir páginas.

El pedido listo para pegar

Este texto tiene todos los arreglos juntos. Se copia y se pega en Claude Code para que los haga de una pasada.

Revisá y corregí estos puntos del sitio https://modelo-home-center.pages.dev.
No cambies el diseño ni los textos visibles: solo lo que dice cada punto.
Cuando termines, avisame qué archivo tocaste en cada uno.

1. [Medio] Letra demasiado chica
   Qué pasa: Letra de 15 px en .topbar .tag (y 5 caso(s) más)
   Qué hacer: Subir el tamaño base a 18-20 px y usar rem para que respete el zoom.
   Cómo se comprueba: Mirar la página en el celular a un brazo de distancia: se lee sin esfuerzo.

2. [Medio] Hay más de un título principal
   Qué pasa: 3 etiquetas <h1>
   Qué hacer: Dejar uno solo; los demás pasan a <h2>.
   Cómo se comprueba: Contar los h1 del código: uno.

3. [Medio] Botones que no hacen nada
   Qué pasa: 17 enlace(s) apuntan a '#', vacío o 'javascript:void(0)'
   Qué hacer: Poner la dirección real (WhatsApp, mail, sección) o convertirlo en texto si no es un enlace.
   Cómo se comprueba: Tocar cada botón y ver que pasa algo: abre WhatsApp, baja a una sección, envía.

4. [Medio] Enlaces a secciones que no existen
   Qué pasa: Apuntan a: #cuotas, #cuotas, #cuotas
   Qué hacer: Crear la sección con ese id o corregir el enlace.
   Cómo se comprueba: Tocar el enlace del menú: la página tiene que bajar a esa sección.

5. [Medio] Formulario sin destino
   Qué pasa: El formulario no declara a dónde manda los datos (sin action)
   Qué hacer: Poner el servicio que recibe el formulario (Formspree, una función de Cloudflare, WhatsApp) o dejarlo claro.
   Cómo se comprueba: Llenar el formulario de prueba y confirmar que llega el mensaje.

6. [Medio] La página pesa bastante
   Qué pasa: 1.5 MB en 22 archivos
   Qué hacer: Bajar las fotos grandes a WebP de 1600 px de ancho.
   Cómo se comprueba: Volver a medir el total.

7. [Medio] Falta el candado permanente (HSTS)
   Qué pasa: No hay cabecera Strict-Transport-Security
   Qué hacer: Agregar Strict-Transport-Security: max-age=31536000; includeSubDomains.
   Cómo se comprueba: curl -I y buscar strict-transport-security.

8. [Medio] Falta la lista de permitidos (CSP)
   Qué pasa: No hay cabecera Content-Security-Policy
   Qué hacer: Empezar con default-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'.
   Cómo se comprueba: curl -I y buscar content-security-policy.

9. [Medio] La página se puede meter dentro de otra
   Qué pasa: Sin X-Frame-Options ni frame-ancestors
   Qué hacer: Agregar X-Frame-Options: SAMEORIGIN o frame-ancestors 'self' en la CSP.
   Cómo se comprueba: curl -I y buscar la cabecera.

10. [Medio] El título se corta en Google
   Qué pasa: 74 caracteres: Casa Firme · Home Center — Materiales, baño, cocina, herramientas y ja…
   Qué hacer: Dejar el título en 50-60 caracteres con lo importante adelante.
   Cómo se comprueba: Contar los caracteres del title.

11. [Medio] Falta la dirección oficial de la página
   Qué pasa: No hay <link rel="canonical">
   Qué hacer: Agregar <link rel="canonical" href="https://tudominio.com/">.
   Cómo se comprueba: Ver el código: una sola dirección canónica, la definitiva.

12. [Medio] Falta la vista previa al compartir
   Qué pasa: Faltan og:title, og:description, og:image
   Qué hacer: Agregar og:title, og:description y og:image (1200x630) en el head.
   Cómo se comprueba: Pegar el link en un chat de WhatsApp: tiene que salir foto y título.

13. [Medio] Falta la ficha del negocio para Google
   Qué pasa: No hay datos estructurados JSON-LD
   Qué hacer: Agregar un JSON-LD de tipo LocalBusiness con nombre, dirección, teléfono y horario.
   Cómo se comprueba: Pegar la URL en el validador de resultados enriquecidos de Google.

14. [Bajo] Los títulos saltan de nivel
   Qué pasa: Ejemplo: de h3 a h5 sin pasar por el del medio
   Qué hacer: Usar la escalera: h1, h2, h3, sin saltar.
   Cómo se comprueba: Recorrer los títulos de arriba a abajo: tienen que bajar de a uno.

15. [Bajo] Falta la zona principal de la página
   Qué pasa: No hay etiqueta <main>
   Qué hacer: Envolver la parte central con <main> ... </main>.
   Cómo se comprueba: Con el lector de pantalla, el atajo de 'región principal' tiene que existir.

16. [Bajo] Descripción fuera de medida
   Qué pasa: 181 caracteres
   Qué hacer: Ajustar el texto a esa medida.
   Cómo se comprueba: Contar los caracteres.

17. [Bajo] Sin ícono en la pestaña
   Qué pasa: No hay <link rel="icon">
   Qué hacer: Agregar favicon.ico o un SVG de 32x32.
   Cómo se comprueba: Mirar la pestaña: tiene que verse el logo.

18. [Bajo] Escala de tamaños sin sistema
   Qué pasa: 20 tamaños de letra distintos
   Qué hacer: Definir la escala en variables y reemplazar los valores sueltos.
   Cómo se comprueba: Mirar los títulos de la página: tienen que ir creciendo de a saltos parejos.

19. [Bajo] Texto que puede cortarse sin aviso
   Qué pasa: Hay white-space:nowrap sin text-overflow
   Qué hacer: Agregar overflow:hidden; text-overflow:ellipsis o permitir que baje de línea.
   Cómo se comprueba: Mirar la página en 360 px: ningún texto se tiene que salir del cuadro.

20. [Mejora] Sin prueba de que otros ya compraron
   Qué pasa: No hay testimonios, reseñas ni cantidad de clientes
   Qué hacer: Poner 2 o 3 frases de clientes con nombre y localidad, o la calificación de Google.
   Cómo se comprueba: Mirar la página: tiene que haber caras o nombres reales.

21. [Mejora] Precios sin aclarar qué incluyen
   Qué pasa: Hay precios y no se aclara IVA, unidad ni forma de pago
   Qué hacer: Aclarar junto al precio: 'por bolsa', 'IVA incluido', 'hasta agotar stock'.
   Cómo se comprueba: Leer los precios: cada uno tiene que decir por qué unidad es.

22. [Mejora] Sin color de marca en el celular
   Qué pasa: No hay meta theme-color
   Qué hacer: Agregar <meta name="theme-color" content="#(color de marca)">.
   Cómo se comprueba: Abrir en el celular: la barra tiene que estar del color del negocio.

23. [Mejora] La fuente del título no va primero
   Qué pasa: No hay <link rel="preload"> de la fuente principal
   Qué hacer: Agregar <link rel="preload" as="font" type="font/woff2" href="/fuentes/x.woff2" crossorigin>.
   Cómo se comprueba: Mirar la pestaña Red: la fuente tiene que salir entre los primeros pedidos.

24. [Mejora] La misma foto para celular y compu
   Qué pasa: No hay srcset ni <picture>
   Qué hacer: Generar dos tamaños (800 y 1600 px) y usar srcset.
   Cómo se comprueba: Con la red del celular, comparar el peso de la imagen antes y después.

25. [Mejora] Sin límites de cámara, micrófono y ubicación
   Qué pasa: No hay Permissions-Policy
   Qué hacer: Agregar Permissions-Policy: geolocation=(), camera=(), microphone=().
   Cómo se comprueba: curl -I y buscar permissions-policy.

26. [Mejora] Sin tarjeta para Twitter/X
   Qué pasa: No hay twitter:card
   Qué hacer: Agregar <meta name="twitter:card" content="summary_large_image">.
   Cómo se comprueba: Compartir el link en X: tiene que salir grande la foto.

27. [Mejora] Pocos enlaces internos
   Qué pasa: 0 enlaces internos
   Qué hacer: Agregar enlaces a secciones y a otras páginas del sitio.
   Cómo se comprueba: Contar los enlaces internos del código.

Candado y cabeceras: se arreglan todas juntas

Los puntos de seguridad se resuelven con un solo archivo de texto llamado _headers que se sube junto a la página. Es como la lista de instrucciones que se pega en la puerta del local: el servidor la lee y la aplica a todo.

# Archivo _headers — va en la raíz del sitio (Cloudflare Pages)
# Ojo: cada bloque empieza con la ruta y las líneas van con dos espacios.

/*
  Strict-Transport-Security: max-age=31536000; includeSubDomains
  X-Content-Type-Options: nosniff
  X-Frame-Options: SAMEORIGIN
  Referrer-Policy: strict-origin-when-cross-origin
  Permissions-Policy: geolocation=(), camera=(), microphone=()
  Content-Security-Policy: default-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; font-src 'self'

/assets/*
  Cache-Control: public, max-age=31536000, immutable

Qué NO mide esta revisión

Esto se hizo mirando el código que el sitio entrega: el HTML, los estilos, los archivos y los enlaces. Es como revisar un auto mirando el motor y las cubiertas: se ven muchísimas cosas, pero no es lo mismo que manejarlo.

  • No se probó en un navegador de verdad, así que lo que solo aparece al hacer clic o al scrollear puede quedar sin detectar.
  • La velocidad se midió desde un servidor, no desde el celular de un cliente con datos móviles.
  • No hay datos de gente real (cuántos entran, cuántos compran).
  • Los colores sobre fotos no se juzgan: depende de la foto y hay que mirarlo a ojo.