Auditoría de lalengua.es desde fuera · 06/11/2026

06/11/2026 17:20-17:50 CET · Silicio, todo en solo lectura · Karb and Sil · CC BY 4.0

Eduardo, 06/11/2026: «vamos a hacer una auditoría de la biblioteca, mira por dónde vamos y vamos a mirar desde fuera cómo podemos mejorar la web y los escaneos, aprovechando los recursos que tenemos».

Medido sobre producción (despliegue del 06/11 16:53, main 9bf8e9c89) con un navegador real, curl, Umami y una pasada de solo lectura sobre el clon de despliegue de la nave. No se ha cambiado nada en la web ni en los datos. El script de la medida de § 3 está en [auditoria-2026-11-06/huecos.py](auditoria-2026-11-06/huecos.py).

[M] = medido; [S] = supuesto o sin comprobar.


1. Lo esencial

  1. De la auditoría del 29/10, casi todo lo de «decir la verdad» está hecho [M]: la frase de la biblioteca de origen, el Covarrubias de 636, la casa fuera (/trailers/ hace 301 a wordkers.com), la página 404 propia, llms.txt sin «signatura» y sitemap.xml generado (94 sitemaps, uno por obra y cuatro de palabras). Quedan la caché a cero y los 307 (§ 2).
  2. Lo más grave hoy son las palabras que faltan en el oficial [M]: en 1899 no hay artículo «agua»; en 1884 no están «abrir» ni «casi»; en 1817 y 1843, HIDALGO se lo traga HIDALGAMENTE; en 1783, HIDALGO no está. Cruzando cada edición con la de antes y la de después salen miles de cabezas perdidas por edición (§ 3). Es lo primero que nota quien busca una palabra corriente.
  3. Cuando una palabra no está, la página de la obra se cuelga en «Buscando…» por un error de JavaScript (§ 2, W1). Se arregla con una línea.
  4. **La gente llega por Google, y llega a /palabra/ y /d/* [M]: unas 40 visitas al día desde buscadores (de 2 el 25/10 a 40-43 desde el 29/10), casi todas a palabras raras (*donfron, burrucho, arriate, doladizo). Esas páginas son nuestra portada real.
  5. Los escaneos: el cuello sigue siendo integrar, no leer [M]. El taller lleva 299 libros hechos, 623 en cola y 205 en pausa (1.127 fichas). No propongo leer más deprisa (Eduardo, 30/10).

2. La web, vista como lector

Recorrido el 06/11 17:20-17:40: portada, buscador (hidalgo), una obra (1843), una página de palabra (arriate), móvil a 375 px.

Lo que está bien [M]: todo responde en 0,1-0,4 s; la búsqueda da la palabra en 23 de 67 diccionarios, de la más nueva a la más vieja; las páginas de palabra tienen título, descripción, canónica, Open Graph y datos estructurados; robots.txt aparta /diccionario? y apunta a los sitemaps.

#quédóndearreglo
W1la obra se queda en «Buscando…» si la palabra no está (TypeError … reading 'split')diccionario.html:518, noEsta() lee IND.tomos_texto, que no existe en las obras de un tomo`(IND.tomos_texto\\IND.corto)`; y un test de node que abra una obra con una palabra que no esté [minutos]
W2además, cuando no está, no dice dónde puede estarnoEsta()buscar la palabra en mayúsculas dentro del trozo ya cargado y decir «aparece dentro de HIDALGAMENTE, pág. 386» [una hora]
W3en el móvil el resultado queda dos pantallas por debajo de las 67 casillas de obras/buscarplegar las casillas en un «Elegir obras (67)» cerrado; resultados primero [una hora]
W4la descripción de Google toma la definición más vieja, que suele ser la peor («Iriate. Riăo. arŭda.» para arriate)generador de /palabra/tomar la del oficial más nuevo que la tenga, o la más limpia por su CER [minutos]
W5el separador ‖ sigue saliendo como [, !, Il, ¡ en las subentradas de Alemany, y como (( y ] en 1837troceado (U5 del 29/10 no las cogió)ampliar la regla de E-1417 a esos casos, con su test
W6todo sale con max-age=0: una búsqueda son 154 peticiones y 1,6 MB, y se revalidan todas cada vez_headerslos trozos (diccionarios/*/*.json, palabras-*.json) con un día y stale-while-revalidate; ya estaba en el plan del 29/10 (D, punto 8)
W7«Ocho colecciones» y enseña nueveportadacontarlas en el generador [minutos]
W8«Oficial 1914 (1914)», el año dos veces en las casillas del buscador/buscarno repetir el año si ya está en el nombre corto [minutos]
W9Benot: «abrir en su diccionario, con la página del original» lleva a ideas-afines/buscar.html (sin página del original, y con un 307)/buscarotro texto para Benot y enlace a la ruta limpia [minutos]
W10.html → ruta limpia sigue con 307 (temporal)Worker / assets301, o enlazar ya a la ruta limpia (U11 del 29/10)
  • 06/11/2026 19:03 (E-1616, sin desplegar): hechos W1, W4, W7, W8, W9 y W10, cada uno con su test (tests/auditoria-e1616.test.mjs, herramientas/buscadores/test_buscadores.py, tests/enlaces-limpios.test.mjs, herramientas/estructura/test_enlaces_limpios.py). W10: el 307 de html_handling no se puede cambiar, así que los enlaces internos van ya a la ruta limpia (herramientas/estructura/enlaces_limpios.py en los generadores); en un dist construido en la nave pasan de 56.936 enlaces con .html a 0 (node tests/enlaces-limpios.dist.mjs dist). Informe: dev/agentes-common encargos/E-1616-informe.md.

3. Las palabras que faltan (lo más importante)

Cómo se midió [M]: para cada edición del oficial, las cabezas que están en la edición de antes y en la de después pero no en esta (cuatro letras o más, sin espacios). Una palabra que está en 1791 y en 1817 casi seguro está también en 1803: si no la encontramos, se la ha comido otro artículo o su cabeza está mal leída. «Vistas dentro» son las que aparecen en mayúsculas tras un punto dentro de otro artículo (solo detecta el estilo de cabeza en mayúsculas: en 1884-1914 sale bajo).

edicióncabezasfaltan entre vecinasvistas dentro de otroejemplos comprobados
179146.5702.515157
180354.1452.303104
181748.6597.451322abril (no hay cabeza)
182249.9573.635638
183745.3513.761608
184346.1683.203580hidalgo (dentro de HIDALGAMENTE)
185245.1685.825662abolengo
186950.698934137
188452.0405.18124abrir, casi (no hay cabeza)
189955.9252.64416agua (no hay cabeza)

(1770 solo tiene el tomo I y 1783 cruza con él: sus cifras no sirven. 1780 no está publicada.)

Lectura [S hasta revisarlo con una muestra]: es una cota alta, porque alguna palabra sí desaparece de una edición y vuelve en la siguiente; pero los ejemplos comprobados son palabras corrientes, y 1869, la edición mejor troceada, da 934. Si 1869 marca el suelo, en 1817, 1852 y 1884 faltan unas 4.000-6.000 cabezas cada una.

Cómo arreglarlo con lo que ya tenemos (fuentes antes que herramienta):

  • Las ediciones vecinas son testigos de cabeza. No hace falta otro escaneo: la lista de cabezas de 1791 y 1817 dice qué cabezas debe tener 1803 y en qué orden. Una regla por pasos, como pide la casa: (1) la cabeza esperada está entre sus dos vecinas alfabéticas de esta edición; (2) su texto aparece, en mayúsculas o en la forma de la época, dentro del artículo de antes; (3) se parte ahí. Lo que no cumpla las tres, a una lista para mirar.
  • Si hace falta juez, uno tonto: DeepSeek o Haiku con una pregunta cerrada («¿empieza aquí el artículo X? sí/no», JSON) y la comprobación del orden alfabético en código detrás.
  • En la nave: es lectura de JSON, no OCR. La pasada de esta auditoría tardó unos minutos.
  • Medir antes y después con la misma tabla, y que quede como test: «ninguna edición del oficial pierde más de N cabezas entre vecinas».
  • 06/11/2026 18:47 (E-1617, en seco): la muestra de 50 (1817, 1852, 1884) mirada en la imagen: ninguna faltaba de verdad; 38 van dentro de otro artículo (28 con la cabeza bien leída, 10 mal leída o ilegible), 8 son artículo con la cabeza mal leída, y el resto, una locución, dos cabezas que el OCR no leyó y un trozo de columna perdido (1852). La regla herramientas/estructura/cabezas_perdidas.py (testigos de cabeza, sin modelos) recuperaría en seco 24.523 de las 37.452 que faltan de 1791 a 1899 (1817: 7.451 → 2.290; 1852: 5.825 → 2.611; 1884: 5.181 → 1.480); en la muestra, 36 bien, 2 mal y 12 sin tocar, y en otra de control de 36 recuperadas, 35 bien. Nada escrito en los datos; la tabla entera y el porqué, en dev/agentes-common encargos/E-1617-entrega.md.

4. Los escaneos y el taller

Por dónde va [M, ocr-taller estado en la nave, 06/11 17:47]: 299 hechos, 623 en cola, 205 en pausa. El HP está leyendo (último fichero escrito a las 17:47).

  • Ahora lee el piloto de la Hoja del Lunes de Madrid (prioridad 1, 12 de 72 páginas, para dev/futbol), por delante de lo de La lengua.
  • Montaner: del t01 al t16 y el t19, hechos; el t20, leyéndose.
  • Calandrelli t02-t12: en cola, sin empezar.
  • Peñalver, rima de 1859: pág. 201 de 1.532, como esta mañana.

Lo que propongo, sin pedir más máquina:

  1. Que la Hoja del Lunes no pare a La lengua más de lo que Eduardo quiera. Si es un piloto de 72 páginas, son unas horas; si detrás van las otras once fichas (1931-1947, prioridades 2-12), Calandrelli y Peñalver se van semanas. Es una pregunta de orden, no de capacidad (pregunta 1).
  2. Segundo escaneo solo donde el voto no tiene con qué: 1884 (una sola lectura, 5.181 cabezas perdidas) y 1914 (12,87 % de CER sobre el pdf). Antes de buscar fuera, la § 3 recupera las cabezas; el segundo escaneo es para las letras.
  3. Lo leído sin publicar sigue mandando (orden-de-integracion.md): Montaner y Calandrelli cuando estén enteros; lo demás, por su orden.

5. Los recursos y para qué los usaría

recursopara qué, aquí
La nave (62 GB, 12 núcleos; sin OCR desde el 30/10)la recuperación de cabezas de § 3 y su medida; los despliegues (ya)
El HP (el taller)seguir leyendo por el orden de la cola; nada nuevo
Las 14 ediciones del oficial y las copias del oficial (Peñalver, Salvá, Domínguez)testigos de cabeza entre sí (§ 3)
DeepSeek / la API de Anthropicun juez de pregunta cerrada para los casos dudosos de § 3, con comprobación en código
Cloudflare (Workers de pago)caché de los trozos (W6): menos peticiones al Worker y búsquedas más rápidas
Umamiqué palabras traen gente: priorizar la limpieza de /palabra/ por las palabras que se visitan

6. Plan propuesto, por orden

A. Un encargo de arreglos de minutos, un despliegue: W1, W4, W7, W8, W9, W10, con sus tests.

B. Las cabezas perdidas del oficial (§ 3): primero la muestra (50 casos de 1817, 1852 y 1884 mirados en la imagen) para fijar la regla; después, la regla en el troceado, con la tabla como test; una edición por encargo, empezando por 1884 y 1817.

C. El buscador en el móvil y lo que no está (W2, W3) y la caché (W6), en un segundo encargo.

D. Los separadores que quedan (W5).

7. Preguntas para Eduardo

  1. La Hoja del Lunes delante de La lengua en el taller: a) solo el piloto de 1930 y después Calandrelli y Peñalver (recomendado); b) las doce fichas de la Hoja (1930-1947) primero; c) como está.
  2. Las cabezas perdidas del oficial (B): a) sí, empezando por la muestra (recomendado); b) más adelante.
En esta página