Revisión automática del sitio

Aprobado — nivel profesional

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

95.5de 100

Aprobado — nivel profesional

Sin críticos, sin altos y todas las áreas arriba de 85.

0críticos: frenan la entrega
0altos: se arreglan sí o sí
7medios: calidad
4archivos 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écnico87.5
6 punto(s) para mirar · pesa 10% de la nota
Seguridad88.7
5 punto(s) para mirar · pesa 10% de la nota
Accesibilidad90.6
3 punto(s) para mirar · pesa 15% de la nota
Diseño y consistencia96.4
2 punto(s) para mirar · pesa 15% de la nota
Conversión y confianza98.0
3 punto(s) para mirar · pesa 8% de la nota
Celular y tablet99.6
1 punto(s) para mirar · pesa 10% de la nota
Funcionalidad100.0
0 punto(s) para mirar · pesa 20% de la nota
Velocidad y peso100.0
0 punto(s) para mirar · pesa 12% 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. Falta el candado permanente (HSTS)Agregar Strict-Transport-Security: max-age=31536000; includeSubDomains.
  3. Falta la lista de permitidos (CSP)Empezar con default-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'.
  4. La página se puede meter dentro de otraAgregar X-Frame-Options: SAMEORIGIN o frame-ancestors 'self' en la CSP.
  5. Falta la dirección oficial de la páginaAgregar <link rel="canonical" href="https://tudominio.com/">.

Todos los puntos, uno por uno

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

Medio (7)

Medio ACC-06 en inicio

Letra demasiado chica

Lo que se midióLetra de 15 px en .eti (y 13 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 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-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 h2 a h4 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 ACC-14 en inicio

Renglones demasiado apretados

Lo que se midióHay line-height menor a 1,2

Cómo se arreglaSubir el interlineado del texto corrido a 1,5-1,6.

Cómo comprobás que quedóLeer un párrafo largo en el celular: las líneas no se tienen que pegar.

Por qué importaWCAG 1.4.12: el interlineado mínimo cómodo es 1,5 para párrafos.

Bajo CONV-07 en inicio

Sin política de privacidad

Lo que se midióNo hay enlace a privacidad

Cómo se arreglaAgregar una página corta de privacidad y linkearla en el pie.

Cómo comprobás que quedóBuscar 'privacidad' en el pie de página: tiene que estar.

Por qué importaSi el sitio toma datos (formulario, WhatsApp), la ley 25.326 pide informar qué se hace con ellos.

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-02 en inicio

Demasiados colores sueltos

Lo que se midió55 colores distintos escritos a mano

Cómo se arreglaMover los colores a variables (--tinta, --acento) y usar solo esas.

Cómo comprobás que quedóContar los colores del CSS: la mayoría tienen que venir de variables.

Por qué importaUn sistema de diseño usa variables: 8-12 colores alcanzan para todo.

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 (7)

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 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 SEG-14 en inicio

Correo a la vista (imán de spam)

Lo que se midióAparece hola@lienzo.com.ar

Cómo se arreglaMostrarlo como formulario o con la imagen/dirección protegida.

Cómo comprobás que quedóBuscar '@' en el texto visible.

Por qué importaLos robots que buscan correos llenan la casilla de publicidad.

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://pintureria-lienzo.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 .eti (y 13 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] 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.

3. [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.

4. [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.

5. [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.

6. [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.

7. [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.

8. [Bajo] Los títulos saltan de nivel
   Qué pasa: Ejemplo: de h2 a h4 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.

9. [Bajo] Renglones demasiado apretados
   Qué pasa: Hay line-height menor a 1,2
   Qué hacer: Subir el interlineado del texto corrido a 1,5-1,6.
   Cómo se comprueba: Leer un párrafo largo en el celular: las líneas no se tienen que pegar.

10. [Bajo] Sin política de privacidad
   Qué pasa: No hay enlace a privacidad
   Qué hacer: Agregar una página corta de privacidad y linkearla en el pie.
   Cómo se comprueba: Buscar 'privacidad' en el pie de página: tiene que estar.

11. [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.

12. [Bajo] Demasiados colores sueltos
   Qué pasa: 55 colores distintos escritos a mano
   Qué hacer: Mover los colores a variables (--tinta, --acento) y usar solo esas.
   Cómo se comprueba: Contar los colores del CSS: la mayoría tienen que venir de variables.

13. [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.

14. [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.

15. [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.

16. [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.

17. [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.

18. [Mejora] Correo a la vista (imán de spam)
   Qué pasa: Aparece hola@lienzo.com.ar
   Qué hacer: Mostrarlo como formulario o con la imagen/dirección protegida.
   Cómo se comprueba: Buscar '@' en el texto visible.

19. [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.

20. [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.