msos/tools
popovskik 3fed4db226 Blog: post 6 "Accommodation" now trilingual (MK/SI AI-drafted)
Add Macedonian and Slovenian versions of the accommodation post (AI-drafted,
flagged for native review), rebuild EN with a proper Student Welcome Guide link
and a real Sources section, and add MK/SI blog index cards. Converter now treats
a secondary "# Sources" heading as a section.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-05 17:26:32 +02:00
..
README.md Add technical SEO foundation, MK/SI about-us + timeline, content fixes 2026-08-02 11:43:10 +02:00
build_blog.py Blog: post 6 "Accommodation" now trilingual (MK/SI AI-drafted) 2026-08-05 17:26:32 +02:00
build_botlinks.py changes.txt #2: AI/crawler discovery files (llms.txt + links-for-bots) 2026-08-05 16:10:38 +02:00
build_listings.py changes.txt #6: sync homepage "Latest news" from the News hub 2026-08-05 16:20:55 +02:00
build_search_index.py feat(assistant): v2 — query-language detection, analytics, chips, auto-index 2026-08-04 01:48:39 +02:00
seo_inject.py Blog: publish trilingual posts 2-4 in EN/MK/SI from source content 2026-08-05 17:16:17 +02:00

README.md

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.