Build & Deploy ResearchOwl / build-and-push (push) Successful in 10s
Cada enlace interno que el generador escribía en un borrador español apuntaba a www.zonadeexclusion.com y se comía un 301. El canónico de los dos blogs está INVERTIDO —EN es www, ES es el apex—, la misma inversión que provocó el 522 y de la que ya avisa el wrapper ghst-es. No es teórico: el enlace www suelto que apareció en los-villares salió de aquí. El corpus ES está limpio hoy, pero el próximo /generate con enlaces lo habría reintroducido. Nada río abajo lo paraba: seo_watch solo ve el enlace DESPUÉS de publicar, y ningún test cubría el host. Añado los dos tests que faltaban, uno por idioma, para fijar la inversión. El del ES falla contra el valor viejo con el href entero en el mensaje. Sin tocar rules.py, así que el vendor-sync sigue en verde. Queda documentado el matiz que este cambio NO arregla: rules.internal_links cuenta cero enlaces en ES bajo cualquiera de los dos hosts, porque ese módulo está clavado al host EN (se vendoriza byte a byte y la CI lo verifica). Inofensivo hoy — internal_links.too_few no bloquea en borrador. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>