seo_exceptions: waivers del par Roswell ES + arregla collisions()
El par Roswell del blog ES se resolvió por la vía que propone la propia regla («retitle to a distinct angle» + «interlink deliberately»), no fusionando: el de mayo es el relato de referencia (3 clics / 152 impresiones en 3 meses) y el de julio cubre otra cosa — el vídeo de 2025 de los Archivos Nacionales, el diario de Marcel y la confesión de Haut — pero se presentaba con título de artículo general y se llevó 1 impresión en 9 días. Retitulado y enlazados en ambos sentidos; siguen compartiendo caso y año, así que topic.collision va a avisar siempre: waiver documentado. Y de paso un fallo mío de ayer: collisions() contaba una vez por FAMILIA en vez de por SITIO, así que un post con waivers en dos familias del mismo blog salía como colisión entre sitios. Este par lo destapó. Verificado en los dos sentidos: vacío ahora, y detecta el duplicado si se inyecta a mano.
This commit is contained in:
+37
-4
@@ -96,7 +96,33 @@ EXCEPTIONS = {
|
||||
# arrastra backlog: 28 posts sin alt-text, 27 con enlazado flojo. Es deuda
|
||||
# acumulada por no haberse revisado nunca, NO regresión — se irá waiveando o
|
||||
# arreglando post a post, con la misma vara de medir que el EN.
|
||||
"es": {},
|
||||
"es": {
|
||||
"internal_links": {
|
||||
"roswell-1947-preguntas-sin-respuesta-78-anos":
|
||||
"1 enlace (→ el Roswell de mayo, sobre «Ese relato ya lo cubrimos», "
|
||||
"que es exactamente lo que dice la prosa). No hay 2ª entidad honesta: "
|
||||
"el artículo solo nombra a Marcel, el Proyecto Mogul y Walter Haut, y "
|
||||
"ninguno tiene artículo propio. (Revisado 2026-07-21.)",
|
||||
},
|
||||
# Los dos Roswell del ES comparten caso y año, así que topic.collision va a
|
||||
# seguir avisando siempre. Se resolvió por la vía que propone la propia regla
|
||||
# ("retitle to a distinct angle" + "interlink deliberately"), no fusionando:
|
||||
# el de mayo es el relato de referencia (2.278 palabras, 3 clics / 152 impr.)
|
||||
# y el de julio cubre otra cosa — el vídeo de 2025 de los Archivos Nacionales,
|
||||
# el diario de Marcel y la confesión póstuma de Haut. El 2026-07-21 el de julio
|
||||
# se retituló a su ángulo real (dejó de presentarse como "Roswell 1947: El
|
||||
# Accidente OVNI...") y se enlazaron entre sí en ambos sentidos.
|
||||
"topic": {
|
||||
"roswell-1947-el-misterio-que-cambio-la-historia-de-la-ufologia":
|
||||
"Complementario, no duplicado: es el relato de referencia y enlaza al "
|
||||
"de julio como «las preguntas que 78 años no han resuelto». "
|
||||
"(Decidido 2026-07-21 con datos de Search Console.)",
|
||||
"roswell-1947-preguntas-sin-respuesta-78-anos":
|
||||
"Complementario, no duplicado: retitulado a su ángulo propio (el vídeo "
|
||||
"y el diario) y enlaza al de mayo sobre «Ese relato ya lo cubrimos». "
|
||||
"(Decidido 2026-07-21 con datos de Search Console.)",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -117,11 +143,18 @@ def accepted_reason(rule, slug, site="en"):
|
||||
|
||||
|
||||
def collisions():
|
||||
"""Slugs waiveados en más de un sitio. Debe estar SIEMPRE vacío: si algo
|
||||
aparece aquí, hay una excepción ambigua que revisar a mano."""
|
||||
"""Slugs waiveados en más de un SITIO. Debe estar SIEMPRE vacío: si algo
|
||||
aparece aquí, hay una excepción ambigua que revisar a mano.
|
||||
|
||||
Cuenta una vez por sitio, no por familia de reglas: un mismo post puede
|
||||
tener waivers en varias familias del mismo blog sin que eso sea ambiguo
|
||||
(el par Roswell del ES está waiveado en `internal_links` y en `topic`).
|
||||
"""
|
||||
from collections import Counter
|
||||
c = Counter()
|
||||
for fams in EXCEPTIONS.values():
|
||||
site_slugs = set()
|
||||
for slugs in fams.values():
|
||||
c.update(slugs.keys())
|
||||
site_slugs.update(slugs.keys())
|
||||
c.update(site_slugs)
|
||||
return sorted(s for s, n in c.items() if n > 1)
|
||||
|
||||
Reference in New Issue
Block a user