https://pintureria-paleta.pages.dev · revisado el 2026-10-30 · 1 página(s): inicio
94.9de 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í
8medios: calidad
7archivos 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.2
3 punto(s) para mirar · pesa 15% de la nota
Funcionalidad96.5
1 punto(s) para mirar · pesa 20% de la nota
Diseño y consistencia97.6
1 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
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.
Letra demasiado chicaSubir el tamaño base a 18-20 px y usar rem para que respete el zoom.
Hay identificadores repetidosCambiar el id repetido por uno distinto.
Falta el candado permanente (HSTS)Agregar Strict-Transport-Security: max-age=31536000; includeSubDomains.
Falta la lista de permitidos (CSP)Empezar con default-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'.
La página se puede meter dentro de otraAgregar X-Frame-Options: SAMEORIGIN o frame-ancestors 'self' en la CSP.
Todos los puntos, uno por uno
Cada ficha dice qué se midió, cómo se arregla y cómo comprobar que quedó bien.
Medio (8)
MedioACC-06en inicio
Letra demasiado chica
Lo que se midióLetra de 15 px en .mini (y 9 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.
MedioFUN-06en inicio
Hay identificadores repetidos
Lo que se midióSe repiten: muestras
Cómo se arreglaCambiar el id repetido por uno distinto.
Cómo comprobás que quedóBuscar el id en el código: tiene que aparecer una sola vez.
Por qué importaHTML: el id es único; si se repite, el navegador toma el primero y rompe las anclas y el JavaScript.
MedioSEG-02en 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'.
MedioSEG-03en 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.
MedioSEG-06en 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'.
MedioSEO-05en 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.
MedioSEO-09en 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.
MedioSEO-13en 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 (5)
BajoACC-09en 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.
BajoACC-14en 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.
BajoCONV-07en 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.
BajoSEO-12en 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.
BajoUX-02en inicio
Demasiados colores sueltos
Lo que se midió48 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.
Mejora (7)
MejoraCONV-06en 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.
MejoraCONV-08en 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.
MejoraRES-08en 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.
MejoraSEG-07en 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.
MejoraSEG-14en inicio
Correo a la vista (imán de spam)
Lo que se midióAparece hola@paleta.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.
MejoraSEO-11en 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.
MejoraSEO-16en 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-paleta.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 .mini (y 9 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 identificadores repetidos
Qué pasa: Se repiten: muestras
Qué hacer: Cambiar el id repetido por uno distinto.
Cómo se comprueba: Buscar el id en el código: tiene que aparecer una sola vez.
3. [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.
4. [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.
5. [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.
6. [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.
7. [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.
8. [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.
9. [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.
10. [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.
11. [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.
12. [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.
13. [Bajo] Demasiados colores sueltos
Qué pasa: 48 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.
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@paleta.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.