ChemaVXandClaude Opus 5 91d2de7c4f hreflang: las dos parejas de los borradores de hoy, curadas a mano
Cash-Landrum pasa de NO a SI: el NO era porque el espejo ES no existía al
escanear, y se ha generado hoy. Mismo caso, mismo año, mismo nombre propio
en los dos títulos y la misma demanda federal.

Socorro 1964 entra como pareja nueva sin «sim»: no pasó por el escaneo de
vectores y da igual, es el mismo 24-abr-1964 con el mismo Lonnie Zamora. El
título del EN no lleva la firma de la casa («<Caso> <Año>: <gancho>»), que
es exactamente por lo que ningún emparejado automático lo encontraría.

Las dos están en borrador, así que hreflang-watch las salta hasta que
publiquen los dos lados — que es el comportamiento que se quiere. Anotado en
las dos que si el slug cambia al rematar hay que actualizarlo aquí.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 10:21:32 +00:00

seo-tools

SEO rule engine + tooling for the Ghost blogs (EN: theexclusionzone.com).

  • seo_rules.py — shared rule engine (pure functions, no I/O). Single source of truth for thresholds + checks. Consumed by the auditor, the validator, and (vendored) by ResearchOwl's blog pipeline.
  • seo_audit.py — Tool A: site-wide auditor (reads all published posts via ghst-en).
  • seo_validate.py — Tool C: single-post pre-publish validator (seo-check wraps this).
  • seo_exceptions.py — documented, consciously-accepted waivers (auditor reporting filter).
  • seo_mirror.py — OG/Twitter mirroring helper.
  • phase2_*.py/json — one-off batch helpers (kept for provenance).

No secrets live here. Ghost access is via the ghst-en wrapper (~/.local/bin), which fetches a staff token on demand from the pod and never writes it to disk.

S
Description
No description provided
Readme
683 KiB
Languages
Python 100%