Saltar al contenido
crawlforgeEnglish
Producto6 de agosto de 20269 min de lecturaRead in English

Cuando una regla no aparece, no significa que no falle

El panel de cartera dice en cuántos sitios salta cada regla. Para que ese número no mienta hay que separar tres estados y no dos: dispara, no dispara, y no se pudo evaluar.

crawlforge portfolio recibe una carpeta con ficheros de rastreo y hace dos preguntas. La primera es la que esperas: qué ha cambiado desde la vez anterior en cada sitio, ordenado por impacto y con los hallazgos críticos y altos nuevos arriba del todo.

La segunda es la que justifica el comando: en cuántos sitios dispara cada regla.

── Qué falla en toda la cartera ─────────────
  Una regla que salta en la mayoría de los sitios rara vez es contenido: suele ser una
  plantilla o un plugin compartido — un arreglo que sirve para todos.

  medio     CANON-CROSS-DOMAIN             3 de 5 sitios
  crítico   HTTP-NO-HTTPS                  2 de 5 sitios
  medio     INDEX-DEEP-PAGE                1 de 5 sitios (2 no concluyentes)

Esa columna cambia el trabajo de sitio. Una regla que salta en 9 de 12 sitios casi nunca es contenido: es una plantilla, un plugin o una decisión de despliegue que comparten todos, y el arreglo que la cierra sirve para nueve clientes a la vez. Sin el agregado, esa regla aparece como una línea más en doce informes distintos, cada uno leído en una semana diferente, y nadie llega a juntarlas.

Dónde estaba la trampa

Ese número tiene un modo de mentir que no se ve.

Hay reglas cuya conclusión depende de tener el grafo de enlaces completo. INDEX-ORPHAN-PAGE —páginas que existen y a las que nadie enlaza— es el ejemplo claro: no se puede afirmar que una página está huérfana sin haber visto todas las demás páginas que podrían enlazarla. Lo mismo vale para las páginas demasiado profundas o para las secciones desconectadas del resto del sitio.

Cuando un rastreo queda truncado, esas reglas no se evalúan. El motor las apaga a propósito, porque un grafo con agujeros las hace disparar sobre sus propios agujeros: en un sitio nos avisó de 39 páginas profundas de 40, y las 39 eran el tope de URLs, no el sitio. Y truncarse es fácil: alcanzar el máximo de URLs, agotar el tiempo, un Ctrl-C a media tarde. Un rastreo de modo lista tampoco tiene el grafo, por definición: solo ha visto las URLs que le diste.

Así que en un fichero cualquiera de tu carpeta, esas reglas pueden no haber corrido nunca.

Contarlas entonces como «aquí no falla» es mentir con aritmética. El dato que falta se convierte en un cero, el cero entra en un recuento, y el recuento sale impreso con el mismo aspecto de dato medido que los demás. En un informe suelto ese error afecta a un sitio. En un agregado se multiplica por el número de ficheros de la carpeta, y encima en la dirección tranquilizadora: la regla parece menos extendida de lo que está.

Por eso el panel separa tres estados por regla y sitio, y no dos. Dispara, no dispara, y no se pudo evaluar:

  medio     INDEX-DEEP-PAGE                1 de 5 sitios (2 no concluyentes)

Uno confirmado, dos que no se sabe. La línea es más fea y es la única que se puede leer sin equivocarse. Un «1 de 5» a secas invita a cerrar la pestaña; un «1 de 5, y en dos no lo sé» te manda a repetir esos dos rastreos, que es exactamente la acción correcta.

Los otros dos avisos van arriba

Hay dos maneras más de sacar un agregado falso de ficheros que individualmente son buenos, y las dos salen en cabecera del panel, no en una nota al pie que nadie lee.

Catálogos de reglas distintos. Si un sitio se rastreó en abril y otro la semana pasada, es probable que el catálogo haya crecido entre medias. Una regla puede «faltar» en el sitio antiguo porque todavía no existía cuando se rastreó, y comparados regla a regla esos dos ficheros dicen algo que no es cierto. El panel avisa nombrando las versiones que ha encontrado.

Rastreos separados en el tiempo. Una cartera cuyos ficheros abarcan tres semanas no es una foto de nada. La sección «qué cambió» estaría cubriendo un periodo distinto en cada sitio, y el lector saca conclusiones de tendencia sobre una mezcla. El panel dice siempre el rango de fechas, y cuando el más viejo y el más nuevo están a más de una semana, lo dice con todas las letras.

Hay una tercera decisión de la misma familia: un fichero que no se puede abrir —no es un rastreo, es la base de datos de otro programa, tiene un esquema más nuevo que el binario— se aparta en una sección propia con su motivo, y el panel se produce igualmente. Un fichero malo no te puede costar los otros once, pero tampoco puede desaparecer en silencio del recuento.

De dónde viene esta manía

No es cautela teórica. El 1 de agosto, rastreando un sitio real de un cliente con la línea de comandos ya terminada, la regla de páginas huérfanas dio 1.912 hallazgos, de los que 1.867 eran imágenes.

WordPress publica un sitemap de imágenes. Sus ficheros son internos, están declarados en un sitemap y ninguna página los enlaza con un ancla, porque una imagen se usa con <img src>. Las tres condiciones que pedía la regla se cumplían; la que da nombre a la regla, ser una página, no se pedía. Salieron todas en severidad alta, en el CMS que más usamos y en una de las reglas que más diferencia al producto.

Lo que dejó esa semana no fue el arreglo, fue el susto. Un número con pinta de dato puede estar construido sobre una pregunta mal hecha, y el informe lo imprime igual de recto. Multiplica eso por cien sitios en una sola pantalla y ya no es un falso positivo: es un panel en el que dejas de creer del todo, que es la única manera de que esta herramienta no sirva para nada.

Lo que te puedes llevar

Si mantienes cualquier cosa que agregue resultados de varias fuentes —paneles de monitorización, informes de calidad de código, cuadros de mando de clientes—, la pregunta que hay que hacerle es esta: qué pinta tiene aquí un dato que falta.

Si la respuesta es «un cero», el panel está mintiendo en algún sitio y no sabes en cuál. Un cero y un hueco se leen igual en una tabla y significan cosas opuestas, y en un agregado el silencio miente mucho más que en un informe suelto, porque nadie va a ir fichero por fichero a comprobarlo.

La prueba es rápida: mete a mano una fuente rota en tu agregado —un rastreo cortado, una máquina sin datos, un repositorio al que le falla el análisis— y mira qué imprime. Si el total no se ha movido y en ningún sitio pone que falta algo, ya tienes el fallo localizado.

Se construye en público

Cada dos semanas: mediciones, fallos y ejemplos de uso. Nada más.

← Volver a la bitácora