GEO: FAQPage/NGO/Event schema + autonomous generation for new projects

Generative Engine Optimization pass so AI answer engines (ChatGPT, Gemini,
Perplexity, AI Overviews) can confidently identify and cite MSOS.

Schema (tools/seo_inject.py, propagated to all 231 pages):
- FAQPage JSON-LD parsed from the /faq/ Q&A blocks (33 Q&A x EN/MK/SI)
- Organization upgraded to NGO with entity-disambiguation fields:
  alternateName (all spellings), description, areaServed Slovenia,
  knowsLanguage, and foundingDate 2023-03-05
- Event JSON-LD on all 9 /projects/ recap pages (date + real location)

Autonomous for future content (no code edits to add a project):
- Event/Article dates auto-read from the English page's publish date;
  event city auto-detected from the body (Slovenian-city whitelist).
  ARTICLE_DATES/PROJECT_LOCATIONS are now optional overrides only.
  (Auto-detect corrected Paint & Wine to Nova Gorica.)
- build_listings.py: auto-date fallback so undated new content still lists
- pre-commit hook now runs seo_inject.py --all --sitemap first, then
  listings/botlinks, and re-stages changed pages (idempotent)

Docs: docs/geo-offsite-worklist.md - copy-paste-ready off-site plan
(Wikidata, Wikipedia fixes, directories, Google Business, AI-visibility tests).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
popovskikandClaude Opus 4.8 committed 2026-08-07 22:17:03 +02:00
1 parent 43847ba935
commit 0d49293693
239 files changed
+825 -319

No files matched your search

+194
View File
@@ -0,0 +1,194 @@
# MSOS — GEO Off-Site Work List (copy-paste ready)
**Goal:** make AI tools (ChatGPT, Gemini, Perplexity, Google AI Overviews) find and
recommend MSOS first for "Macedonian students / community in Slovenia" queries.
On-site schema (FAQPage, NGO, foundingDate, entity fields) is **done** in the repo.
This file is everything **off-site** — pre-written so you just copy, paste, and submit.
> Everywhere you enter MSOS, use the **exact same** name, description, and URL below.
> Consistency across sources is itself a ranking signal for AI. Don't paraphrase.
---
## 0. Canonical facts — use these verbatim everywhere
| Field | Value |
|---|---|
| Full name (EN) | Macedonian Student Organisation in Slovenia |
| Full name (MK) | Македонска студентска организација во Словенија |
| Full name (SL) | Makedonska študentska organizacija v Sloveniji |
| Short name / acronym | MSOS |
| Founded | **5 March 2023** (as a student initiative) |
| Officially registered | 9 September 2024 |
| Type | Non-profit / voluntary association (društvo) |
| City / country | Ljubljana, Slovenia |
| Address | Masarykova cesta 24, 1000 Ljubljana |
| Website | https://msosorg.com |
| Email | info@msosorg.com |
| Facebook | https://www.facebook.com/msos.org |
| Instagram | https://www.instagram.com/msosorg_com |
| LinkedIn | https://www.linkedin.com/company/msos-org |
| YouTube | https://www.youtube.com/@msosorg |
**One-line description (use as the standard "bio" everywhere):**
- **EN:** The first official Macedonian student organisation in Slovenia — support, events, community and a voice for Macedonian students from application to graduation.
- **MK:** Првата официјална македонска студентска организација во Словенија — поддршка, настани, заедница и глас за македонските студенти од пријава до дипломирање.
- **SL:** Prva uradna makedonska študentska organizacija v Sloveniji — podpora, dogodki, skupnost in glas makedonskih študentov od prijave do diplome.
---
## 1. Wikidata — enrich Q135855515 ⏱️ 10 min, highest impact
Item: https://www.wikidata.org/wiki/Q135855515
It currently only has "instance of: voluntary association" + "country: Slovenia".
Log in → **add statements** → paste these values.
**Descriptions** (edit the label/description box at the top):
- English description: `Macedonian students' organisation in Slovenia`
- Macedonian (mk) description: `македонска студентска организација во Словенија`
- Slovenian (sl) description: `makedonska študentska organizacija v Sloveniji`
**Also-known-as / aliases** (add all): `MSOS`, `Macedonian Students Organization Slovenia`
**Statements to add** (property → value):
| Property | Value to enter |
|---|---|
| inception (P571) | `5 March 2023` |
| headquarters location (P159) | `Ljubljana` (Q437) |
| location (P276) *(optional)* | `Ljubljana` (Q437) |
| official website (P856) | `https://msosorg.com/` |
| email address (P968) | `info@msosorg.com` |
| short name (P1813) | `MSOS` |
| Facebook username (P2013) | `msos.org` |
| Instagram username (P2003) | `msosorg_com` |
| LinkedIn organization ID (P4264) | `msos-org` |
| YouTube handle (P11245) | `@msosorg` |
**Optional but nice** (do later): upload the MSOS logo to Wikimedia Commons, then add
`logo image (P154)`. Add `described at URL (P973)` → your Slovenian Wikipedia article.
> Tip: after adding `official website`, add a **reference** on that statement →
> "reference URL" = https://msosorg.com/ . References make statements "trusted".
---
## 2. Fix the Slovenian Wikipedia article ⏱️ 5 min
Article: https://sl.wikipedia.org/wiki/Makedonska_%C5%A1tudentska_organizacija_v_Sloveniji
- [ ] The **official-website citation is flagged as a dead link** — fix it. Edit the
reference so the URL is exactly `https://msosorg.com/` (with the trailing slash, https).
- [ ] Make the infobox "founded" consistent with everywhere else. Recommended wording:
**"Founded: 5 March 2023 · Registered: 9 September 2024."** (Right now it only shows 2024,
which disagrees with the website + Wikidata.)
- [ ] Add `{{Authority control}}` at the bottom if not present — it links the article to
your Wikidata item (strong entity signal).
---
## 3. Directory & registry listings ⏱️ ongoing
For each: submit **name + one-line description + website** from section 0. Tick when live.
**High authority (do first):**
- [ ] **AJPES / Register društev** — verify your official public entry (from the 2024
registration) shows the correct name + website. Start at https://www.gov.si/en/topics/non-governmental-organisations/
- [ ] **University of Ljubljana – Student associations** — email the international office
to be added: https://www.uni-lj.si/en/study/international-students/student-associations
- [ ] **ŠOU Ljubljana International Office** — request listing/partnership: https://sou-lj.si/international/
**NGO networks:**
- [ ] **CNVOS** (national NGO umbrella): https://cnvos.si/
- [ ] **Regional NGO directory (nevladnik.info)**: https://www.nevladnik.info/si/nevladne-organizacije/
- [ ] **Stičišče Središče**: https://sticisce-sredisce.si/sredisce-modrosti/nevladna-organizacija/
**Community & student portals:**
- [ ] **Zveza makedonskih kulturnih društev v RS** (Macedonian diaspora umbrella) — listing + reciprocal link
- [ ] **Study in Slovenia** (official portal): https://studyinslovenia.si/ — ask to be mentioned in student life / organisations
- [ ] **Digi Path student-orgs list**: https://digipath4eu.org/student-organizations-associations-in-slovenia/
- [ ] **OpenStreetMap** — add MSOS as an office node at Masarykova cesta 24 (free; feeds maps + AI local tools)
---
## 4. Google Business Profile ⏱️ done? verify fields
You already created it. Confirm every field matches section 0 and paste this description:
> Macedonian Student Organisation in Slovenia (MSOS) is the first official Macedonian
> student organisation in Slovenia. Based in Ljubljana, we support Macedonian students
> from university application through graduation — with events, community, practical
> guidance (enrolment, residence permit, housing, scholarships) and a shared voice.
> Founded in 2023, officially registered in 2024. Learn more at msosorg.com.
- [ ] Category: **Non-profit organization** (add secondary: "Student organization" / "Association")
- [ ] Website: https://msosorg.com · Address: Masarykova cesta 24, 1000 Ljubljana
- [ ] Add logo + photos · keep the name identical to section 0.
---
## 5. Press / Media hub ⏱️ send me the links
**Why:** a single page on your own site that lists + links every article about MSOS gives
AI crawlers one authoritative hub tying all coverage to your entity — and becomes a
"described at URL" reference for Wikidata.
**Action for you:** paste each media mention below (I'll build the actual `/press/` page in
the repo, EN/MK/SL, with schema). For each: outlet name, article title, URL, date.
```
1. Outlet: ______ Title: ______ URL: ______ Date: ______
2. Outlet: ______ Title: ______ URL: ______ Date: ______
3. ...
```
**Also for each article:** check it's discoverable —
- [ ] Search the exact headline in quotes on Google. If it's **not** indexed, retrieval-based
AI (Perplexity, ChatGPT search) can't find it — flag those to me.
- [ ] Confirm the article names MSOS consistently and ideally links to msosorg.com.
---
## 6. Verify AI actually knows you ⏱️ 10 min, repeat monthly
Run these prompts in **ChatGPT (search on), Gemini, and Perplexity**, in EN + MK + SL.
Tools that show sources (Perplexity, Google AI Overviews) reveal *which* pages they used.
```
What is MSOS?
What is the Macedonian Student Organisation in Slovenia?
Which organisations support Macedonian students in Slovenia?
Is there a Macedonian community organisation in Ljubljana?
How can a Macedonian student in Slovenia get help with enrolment and residence?
```
MK: `Што е МСОС? Каква поддршка има за македонските студенти во Словенија?`
SL: `Kaj je MSOS? Katere organizacije podpirajo makedonske študente v Sloveniji?`
- [ ] Note whether it names MSOS and **what sources it cites**.
- [ ] Log results in a table below and re-test monthly to track progress.
| Date | Tool | Lang | Named MSOS? | Sources cited |
|------|------|------|-------------|---------------|
| | | | | |
---
## Master checklist
- [ ] 1. Wikidata Q135855515 enriched (descriptions + all statements)
- [ ] 2. Wikipedia dead link fixed + founded date aligned + authority control
- [ ] 3. Listed in high-authority directories (AJPES, Uni LJ, ŠOU)
- [ ] 3. Listed in NGO networks (CNVOS, nevladnik.info, Stičišče)
- [ ] 3. Listed in community/student portals + OpenStreetMap
- [ ] 4. Google Business Profile fields verified + description pasted
- [ ] 5. Media links sent → /press/ page built
- [ ] 6. First AI-visibility test run logged
---
### Still on my side (in the repo)
- [ ] Commit today's schema work (FAQPage + NGO + foundingDate) and open PR to `develop`
- [ ] Build the `/press/` page once you send the media links
- [x] Event schema on all 9 `/projects/` items (EN/MK/SL) — done