BookinglyTech News
Software

El verificador SEO de rankcli daba cinco falsos críticos y uno casi desindexa el sitio

El equipo de la herramienta de auditoría SEO rankcli revisó una por una las comprobaciones que aplica a su propio sitio. Cinco eran falsos positivos y su corrección automática habría desindexado todas las rutas.

3 min de lecturaDev.to0 vistas

El equipo de rankcli publica cada semana la nota que su propio auditor SEO le da a su web. Esta vez hicieron algo distinto: en lugar de mirar el número, revisaron una por una todas las comprobaciones para ver si eran ciertas. Cinco no lo eran. Y una de las correcciones automáticas que la herramienta proponía habría dejado el sitio entero fuera de Google.

Falsos críticos

El más llamativo es el de la página de login. En la misma ejecución, la auditoría detectaba correctamente la etiqueta noindex y a la vez lanzaba un error crítico avisando de que el contenido era invisible para Google por renderizarse en cliente. Cualquier SaaS tiene /login, /signup y /account con noindex y montadas en cliente, así que todos sus usuarios acumulaban un crítico que nadie debía atender. Han añadido un flag indexable_only a las comprobaciones de framework: 19 de ellas, repartidas en 9 frameworks. Las que miden scripts que bloquean el render o fallos de hidratación siguen disparándose en páginas con noindex, porque allí siguen siendo ciertas.

El comprobador de contraste leía solo el estilo en línea del elemento y, si no encontraba fondo, asumía blanco. Un texto #a1a1aa sobre #0a0a0a da una ratio de 9:1, por encima de WCAG AA; la herramienta reportaba 2,56:1 y lo marcaba como crítico. Ahora busca el ancestro más cercano que pinte un fondo y, cuando no hay ninguno, marca el elemento como indeterminado en vez de medir contra una suposición. Resolver la cascada CSS real sin navegador es otro trabajo, y hacerlo a medias reintroduciría justo la adivinación confiada que estaban quitando.

La puntuación de preparación para IA daba 1% a todo el mundo. También a stripe.com (13), vercel.com (7), cloudflare.com (0) y docs.astro.build (0), un sitio de documentación que debería ser el objetivo ideal para que un modelo lo cite. La métrica estaba saturada: un multiplicador de categoría copiado de categorías con una décima parte de las comprobaciones hacía que cualquier página pasara de 100 puntos de penalización antes de llegar a las comprobaciones interesantes. Ahora las mismas cinco páginas se reparten entre 52 y 71.

Cuando el error rompe el build

rankcli se ejecuta con --fail-on error, así que un error no es una línea en un informe: es el build de alguien roto. DOM_SIZE_EXCESSIVE contaba todos los nodos que devuelve el parser mientras usaba los umbrales de Lighthouse (1.500 y 3.000), que cuenta elementos. En tailwindcss.com salieron 3.231 nodos frente a 2.230 elementos reales: 796 nodos de espacios en blanco y 205 comentarios de diferencia. Reindentar una plantilla podía tumbar el build. Y IMAGES_MISSING_DIMENSIONS se marcaba como error a partir de tres imágenes, lo que suspendía a svelte.dev, tailwindcss.com, rust-lang.org, laravel.com y fastapi.tiangolo.com.

El susto llegó al revisar una pull request de corrección automática antes de fusionarla. El generador añadía un canonical a la raíz en el index.html de Vite, la plantilla compartida por todas las rutas, tres líneas por debajo de un comentario que explicaba precisamente por qué eso no se puede hacer. Fusionada, cada página del sitio se habría declarado duplicado de la portada. La misma pull request metía datos estructurados de organización con un teléfono +1-800-555-0199, la dirección 123 Main Street, Anytown, CA 90210 y un canal de YouTube de relleno, además de enlaces a dos rutas que devuelven 404. La cerraron y añadieron filtros que rechazan contenido de plantilla y canónicas en shells de SPA.

El resumen del equipo es razonable: un falso crítico hace más daño que una comprobación ausente, porque enseña a tratar el rojo como ruido. Hoy el sitio saca 75 sobre 100. Las cifras son suyas, y lo interesante de la pieza no es la nota, sino lo que cuenta de cómo fallan las auditorías automáticas cuando nadie lee los hallazgos uno a uno.