Files
msos/tools
popovskikandClaude Opus 4.8 e12724bbd1 Bot pages: use root-relative links so they work on any host
The generated /links-for-bots/ pages linked to absolute https://msosorg.com/...
URLs, which 404 when the site is served from another host (e.g. local dev, or
before this branch is deployed). Switch the pages' navigation links to
root-relative (/llms.txt, /en/..., /links-for-bots/...). Canonical tags stay
absolute (SEO) and llms.txt keeps absolute URLs (llmstxt.org convention).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-05 18:18:32 +02:00
..

tools/

seo_inject.py

Injects a technical-SEO block into every language page (en|mk|si/**/index.html) and regenerates sitemap.xml + robots.txt. Safe to re-run — the block lives between <!-- SEO:START --> and <!-- SEO:END --> and is replaced in place.

The block adds: meta description (auto-extracted from the page's lead/subtitle where available), canonical, hreflang alternates (en / mk / sl / x-default), Open Graph, Twitter Card, and an Organization JSON-LD.

All absolute URLs point at the final domain https://msosorg.com (not the temporary host), so nothing needs rewriting at launch. Note: the Slovene folder is /si/ but the ISO code is sl — the script maps si → sl for hreflang/locale.

Usage

python tools/seo_inject.py            # dry run: print the block for pilot pages
python tools/seo_inject.py --all      # write the block into every page
python tools/seo_inject.py --all --sitemap   # also rebuild sitemap.xml + robots.txt

Run --all --sitemap after adding, renaming, or deleting any page so canonical tags, hreflang alternates, and the sitemap stay in sync.