validador: un par consolidado no es una colisión, es su solución

topic_collision marcaba como colisión los dos artículos del acto de Grusch
del 9 de junio, cuando el de mayo lleva canonical_url apuntando al otro
desde hace semanas. Google ya sabe cuál manda y Ghost excluye al secundario
del sitemap: no hay nada que arreglar, y el propio mensaje ofrecía
«interlink deliberately» como salida, que es justo lo que había.

Un aviso que no se puede resolver nunca es peor que no avisar, porque
enseña a ignorar al validador entero — la misma razón por la que esta
mañana retiramos la comprobación de reddit-intel de backup-verify.

El par se salta cuando cualquiera de los dos declara canónico al otro. Si
el canónico apunta a un tercero, la colisión sigue avisando: comprobado con
los cuatro casos (sin canónico dispara, en las dos direcciones se calla,
canónico a un tercero dispara). fetch_corpus pide ya canonical_url, que
antes no traía.
This commit is contained in:
ChemaVX
2026-07-28 07:11:51 +00:00
parent f7be9ccb3e
commit 1febcfe03b
2 changed files with 25 additions and 1 deletions
+3 -1
View File
@@ -50,8 +50,10 @@ def fetch_corpus():
fd, path = tempfile.mkstemp(suffix=".json", prefix="seo_corpus_")
os.close(fd)
try:
# canonical_url hace falta para NO marcar como colisión un par que ya
# está consolidado a propósito (ver topic_collision en seo_rules.py).
cmd = (f"ghst-en --json post list --limit all "
f"--fields id,title,slug,status > {path}")
f"--fields id,title,slug,status,canonical_url > {path}")
r = subprocess.run(cmd, shell=True, stderr=subprocess.PIPE, text=True)
if r.returncode != 0:
print(f" [warn] corpus fetch failed — topic collision NOT checked:\n{r.stderr}",