fix(seo): add endDate, performer, offers to Event structured data

Clears the 3 non-critical Events issues in Search Console
("Missing field endDate/performer/offers") across all /projects/
recap pages. These are free, single-day events, so endDate mirrors
startDate, performer is MSOS (host org), and offers is a zero-price
Offer. Generated centrally in tools/seo_inject.py and re-injected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
popovskikandClaude Opus 4.8 committed 2026-08-30 09:40:14 +02:00
1 parent 0a1971efad
commit 508cb79334
260 files changed
+311 -308

No files matched your search

@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Академската година, ECTS, оцените, пријавата на испити, референтот, учењето словенечки, туторството и вонстудиските ECTS.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/academic-life/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/academic-life/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="EMŠO, даночен број, SI-PASS, банкарска сметка и телефонски пакет ги отклучуваат речиси сите други услуги.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/administrative-basics/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/administrative-basics/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Приемот не е секогаш запишување. Прочитајте ја одлуката, завршете го запишувањето, земете потврда за запишување и проверете какви било трошоци.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/admission-and-enrolment/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/admission-and-enrolment/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Роковите 2026/2027 за додипломски и магистерски студии за македонски граѓани, по универзитети. Секогаш отворете го точниот тековен конкурс.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/application-deadlines/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/application-deadlines/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Што да направите во првите 72 часа, првата недела и првиот месец по пристигнувањето во Словенија.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/arrival-checklist/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/arrival-checklist/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Процесот преку eVŠ, пакетот документи, роковите 2026/2027 по универзитети и зошто да се пријавите рано.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/bachelor-application/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/bachelor-application/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Прво споредете ја програмата, потоа градот. Искористете ги информативните денови и рано проверете ги јазичните услови и тестовите за надареност.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/choose-a-programme/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/choose-a-programme/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Девет фази од истражување програма до првата година, со престој, здравство и сместување средени паралелно.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/complete-student-journey/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/complete-student-journey/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Една главна папка, јасни имиња на датотеки, разликата меѓу оригинал, копија, превод и легализација и основна заштита на податоци.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/document-preparation/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/document-preparation/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Подгответе се, најавете се, внесете го претходното образование, рангирајте ги програмите, прикачете и притиснете Поднеси. Нацртот не е пријава.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/evs-application-guide/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/evs-application-guide/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Броеви за итни случаи, што да носите и студентски здравствени контакти по градови.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/healthcare-in-slovenia/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/healthcare-in-slovenia/">
+1 -1
View File
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Вашиот целосен пат од македонско средно училиште или прв циклус до запишан студентски живот во Словенија.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Магистерскиот прием го водат факултетите. Проверете ја компатибилноста на полето рано и запомнете дека нема единствен национален рок.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/master-application/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/master-application/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Како да докажете доволно средства, сместување и пријавена адреса за вашата дозвола за престој.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/means-accommodation-address/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/means-accommodation-address/">
+1 -1
View File
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Вашиот личен студиски пат до Словенија — следете ги чекорите од Водичот за добредојде за македонските студенти, од избор на програма до упис и престој.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/my-route/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/my-route/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Главните официјални линкови зад овој водич, групирани по теми и како да се управуваат изворите.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/official-sources-and-checklists/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/official-sources-and-checklists/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="План по месеци, документите за рачен багаж, како да патувате и детална листа за пакување.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/prepare-to-move/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/prepare-to-move/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Признавањето одлучува дали вашето претходно образование дава пристап до словенечката програма. За кандидатите образувани во странство, тоа е дел од приемот.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/recognition-of-education/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/recognition-of-education/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Годишната обнова, правата за повторување и трансфер, губењето статус, патот по студии и напуштањето на Словенија се поврзани.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/renew-change-graduate/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/renew-change-graduate/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Како билатералниот пат RM/SI 3 ви дава пристап до здравство во Словенија и што не покрива.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/rm-si-3-health-insurance/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/rm-si-3-health-insurance/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Субвенционираните јавни домови обично не ви се достапни со привремен престој. Планирајте економско или приватно сместување и избегнувајте измами.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/student-accommodation/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/student-accommodation/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Не постои единствена национална бројка. Направете буџет по градови, планирајте многу поголем прв месец и користете студентски попусти.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/student-budget/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/student-budget/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Субвенционираната исхрана е достапна за подобните странски редовни студенти и постои низ словенечките студентски центри, не само во Љубљана.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/student-meals/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/student-meals/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Студентски организации, студентски совети, локални клубови, стручни друштва, универзитетски вонстудиски програми, ESN и заедници од дома.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/student-organisations-and-extracurriculars/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/student-organisations-and-extracurriculars/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Документите, шесте чекори, едногодишната важност и како да ја обновите дозволата за привремен престој заради студии.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/student-residence-permit/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/student-residence-permit/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Национални IJPP билети, градски превоз и изнајмување велосипеди. Подобноста не зависи од растојанието до факултетот.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/student-transport/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/student-transport/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Студентската работа е дозволена на студентската дозвола преку napotnica. Редовното вработување е друг пат што бара работна дозвола.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/student-work/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/student-work/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Љубљана не е единствената опција. Споредете го секој словенечки студентски центар и градете го животот околу вистинската локација на настава.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/study-cities/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/study-cities/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Редовните јавни студии генерално се без школарина за македонските граѓани, но тоа не е ветување дека секоја програма е бесплатна.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/tuition-and-scholarships/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/tuition-and-scholarships/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Краткиот безвизен влез, визата Д и дозволата за престој заради студии се три различни работи. Знајте која ве држи тука законски.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/visa-and-residence-explained/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/visa-and-residence-explained/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Културниот шок е нормален. Изградете поддршка на неколку места, користете универзитетско советување и знајте ги броевите за итни случаи.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/wellbeing-and-community/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/wellbeing-and-community/">
@@ -21,7 +21,7 @@
gtag('js', new Date());
gtag('config', 'G-WVYV807VSS');
</script>
<script src="/consent.js?v=f95de694" defer></script>
<script src="/consent.js" defer></script>
<meta name="description" content="Амбасадата во Скопје или словенечка управна единица: каде да поднесете и кој ризик за законски престој да управувате.">
<link rel="canonical" href="https://msosorg.com/mk/student-welcome-guide/where-to-apply-for-residence/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/student-welcome-guide/where-to-apply-for-residence/">