Saltar al contenido

En producción · 2026

Un gate que impide publicar una web mal hecha

Suite de Playwright que audita cada ruta de un sitio antes de desplegarlo y tumba el despliegue si algo incumple. Incluido este portfolio.

Rol
Diseño y desarrollo
Comprobaciones
134
Rutas auditadas
12
Presupuesto de JS
200 kB

El problema

Las listas de "cosas que revisar antes de publicar" no se revisan. Se leen una vez, se está de acuerdo con todas, y a la tercera prisa se publica sin mirar ninguna.

Los fallos que producen son siempre los mismos y son los que delatan una web hecha con descuido: el mismo título en todas las páginas, sin meta description, dos encabezados de nivel uno, una imagen social que devuelve 404, una página de error que responde 200 y un bundle de tres megas.

La idea

Convertir la lista en tests. No en documentación, no en un recordatorio: en comprobaciones que fallan y bloquean el despliegue.

Se ejecuta contra un build de producción y no contra el servidor de desarrollo. Es una distinción que importa: en desarrollo, Next inyecta scripts de recarga, sirve sin minificar y expone source maps. Auditar ahí daría un resultado que no se parece a lo que ve un visitante.

Qué comprueba

Por cada ruta: idioma declarado, título propio y único, meta description con longitud útil, exactamente un encabezado de nivel uno, canonical absoluta que apunte a sí misma, Open Graph completo con la imagen respondiendo 200 de verdad, ninguna imagen sin texto alternativo y cero errores de consola.

A nivel de sitio: que sitemap, robots y llms.txt existan y parseen, que el favicon no sea el de la plantilla, que la página de error devuelva un 404 real, que los datos estructurados sean válidos, que no se sirvan source maps y que la portada no supere el presupuesto de JavaScript.

Y una que vale por varias: que el texto de la página esté en el HTML servido. Un view-source vacío delata una aplicación publicada sin renderizado en servidor, y es lo primero que se nota al compartir el enlace.

Encontró un fallo el primer día

En la primera ejecución fallaron 22 comprobaciones: la imagen de Open Graph existía solo en la portada. La causa era que, al exportar la configuración de Open Graph desde una página, Next descarta la imagen que genera por convención de fichero.

Es exactamente el tipo de fallo que no se ve navegando y que sí se ve cuando alguien comparte el enlace en LinkedIn y sale una tarjeta gris. Nadie lo habría detectado revisando a mano.

Cómo se usa

Levanta el build por su cuenta, así que un solo comando basta. Apuntándolo a un dominio audita también lo ya desplegado, que es donde de verdad importa.

Vive en su propio paquete dentro del monorepo: sirve para cualquier sitio, no solo para este.