SEO polish: OG image, favicons, 404, article schema, image optimization

- Add branded 1200x630 og-default.jpg; article pages use their hero as
  og:image, others use the default
- Wire the existing (previously unlinked) favicon set into every page
- Add branded 404.html with root-absolute paths + noindex
- Emit Article + localized BreadcrumbList JSON-LD on all article pages
- Convert 74 heavy served photos to WebP (28MB -> 8.5MB, -70%), rewrite
  references, add loading=lazy/decoding=async to below-fold images and
  fetchpriority=high to heroes (protect LCP)
- Stop tracking images/original/ (458MB of unused source masters; kept on
  disk, gitignored) and ignore .playwright-mcp/

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
popovskikandClaude Opus 4.8 committed 2026-08-02 12:15:53 +02:00
1 parent b393859467
commit 314667f692
429 files changed
+2559 -1106

No files matched your search

@@ -25,6 +25,13 @@
<meta name="twitter:description" content="Од идеја до журка со 500 студенти, вака започна нашата приказна!">
<meta name="twitter:image" content="https://msosorg.com/images/msnl-1.webp">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"Македонска студентска организација во Словенија","alternateName":"MSOS","url":"https://msosorg.com/mk/","logo":"https://msosorg.com/images/1-logo.png","email":"info@msosorg.com","address":{"@type":"PostalAddress","streetAddress":"Masarykova cesta 24","postalCode":"1000","addressLocality":"Ljubljana","addressCountry":"SI"},"sameAs":["https://www.facebook.com/msos.org","https://www.instagram.com/msosorg_com","https://www.linkedin.com/company/msos-org","https://www.youtube.com/@msosorg"]}</script>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"Македонска студентска вечер во Љубљана","description":"Од идеја до журка со 500 студенти, вака започна нашата приказна!","image":"https://msosorg.com/images/msnl-1.webp","inLanguage":"mk","author":{"@type":"Organization","name":"Македонска студентска организација во Словенија","url":"https://msosorg.com/mk/"},"publisher":{"@type":"Organization","name":"Македонска студентска организација во Словенија","logo":{"@type":"ImageObject","url":"https://msosorg.com/images/1-logo.png"}},"mainEntityOfPage":"https://msosorg.com/mk/projects/macedonian-student-night-in-ljubljana/"}</script>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Дома","item":"https://msosorg.com/mk/"},{"@type":"ListItem","position":2,"name":"Настани и проекти","item":"https://msosorg.com/mk/projects/"},{"@type":"ListItem","position":3,"name":"Македонска студентска вечер во Љубљана","item":"https://msosorg.com/mk/projects/macedonian-student-night-in-ljubljana/"}]}</script>
<link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="shortcut icon" href="/favicon.ico">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
<!-- SEO:END -->
<!-- Google Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
@@ -173,7 +180,7 @@
</header>
<figure class="article-main-image">
<img src="../../../images/msnl-1.webp" alt="Атмосфера од македонската студентска вечер во Љубљана">
<img fetchpriority="high" src="../../../images/msnl-1.webp" alt="Атмосфера од македонската студентска вечер во Љубљана">
</figure>
<div class="article-body">
@@ -183,7 +190,7 @@
<p>Сè започна со едноставна желба, да се собереме, да се запознаеме и да ја почувствуваме Македонија, иако сме далеку од неа. Кристијан Поповски, тогаш студент на Економскиот факултет во Љубљана, ја сподели својата идеја со неколку колеги, а одговорот беше неверојатен. За помалку од две недели, преку 40 студенти се пријавија во организацискиот тим. Секој понесе дел од својот ентузијазам и време, а заедничкиот дух и желбата за поврзување ја претворија оваа спонтана иницијатива во настан што долго ќе го паметиме.</p>
<figure class="article-inline-image">
<img src="../../../images/msnl-2.webp" alt="Подготовки и состаноци за македонската студентска вечер">
<img loading="lazy" decoding="async" src="../../../images/msnl-2.webp" alt="Подготовки и состаноци за македонската студентска вечер">
<figcaption>Фотографии од подготовките и состаноците за организирање на македонската студентска вечер</figcaption>
</figure>
@@ -191,7 +198,7 @@
<p>Една недела пред настанот, секој ден објавувавме интересни факти за Македонија, нејзините национални богатства, музика и култура. Полека, но сигурно, ја градевме атмосферата и ентузијазмот, не само кај македонските студенти, туку и кај многу други кои сакаа да ја почувствуваат нашата енергија.</p>
<figure class="article-inline-image">
<img src="../../../images/msnl-3.webp" alt="Хамер со испишани кирилични и латинични букви">
<img loading="lazy" decoding="async" src="../../../images/msnl-3.webp" alt="Хамер со испишани кирилични и латинични букви">
<figcaption>Хамер со испишани кирилични и латинични букви. Словенците ја учат македонската азбука, додека македонците ги подучуваат.</figcaption>
</figure>
@@ -204,14 +211,14 @@
<p>Журката започна во 20:00 часот и беше замислена во два дела. Првиот дел беше вистинско гастрономско и културно патување низ Македонија. Студентите можеа да пробаат лебчиња со ајвар и биено сирење, македонско вино, вкусни грицки и традиционални пијалоци. На масите имаше изложени и други автентични производи што сите ги потсетуваа на дома. Сите овие вкусови и мириси беа овозможени благодарение на поддршката од продавницата за македонски производи <strong>„Македонија Трејд“</strong>, кои несебично придонесоа овој дел од вечерта да биде вистинско уживање.</p>
<figure class="article-inline-image">
<img src="../../../images/msnl-4.webp" alt="Штандови со македонски обележја, традиционална храна и пијалаци">
<img loading="lazy" decoding="async" src="../../../images/msnl-4.webp" alt="Штандови со македонски обележја, традиционална храна и пијалаци">
<figcaption>Фотографии од штандовите со македонски обележја, традиционална храна и пијалаци.</figcaption>
</figure>
<p>Покрај храната, посетителите можеа да разгледаат интересни факти за државата, фотографии од познати македонски дејци и културни знаменитости, како и да видат традиционални носии и <strong>гајда</strong> одблиску. Атмосферата беше топла и полна со љубопитност, како мала изложба во рамките на една голема студентска забава.</p>
<figure class="article-inline-image">
<img src="../../../images/msnl-5.webp" alt="Мини квиз со прашања за Македонија">
<img loading="lazy" decoding="async" src="../../../images/msnl-5.webp" alt="Мини квиз со прашања за Македонија">
<figcaption>Мини квиз со прашања за Македонија, каде студентите во едниот дел од клубот се натпреваруваат</figcaption>
</figure>
@@ -219,7 +226,7 @@
<p>Вечерта беше збогатена и со присуството на важни гости од македонската заедница во Словенија. На настанот ни се придружи <strong>претседателот на Сојузот на македонските културни друштва во Словенија, г-н Благоја Настески</strong>, кој со своето присуство ја потврди важноста на ваквите иницијативи за одржување на македонскиот дух и традиција во дијаспората.</p>
<figure class="article-inline-image">
<img src="../../../images/msnl-6.webp" alt="Кристијан и Бисера заедно со амбасадорката Зеленковска и претседателот г-н Настески">
<img loading="lazy" decoding="async" src="../../../images/msnl-6.webp" alt="Кристијан и Бисера заедно со амбасадорката Зеленковска и претседателот г-н Настески">
<figcaption>Кристијан и Бисера заедно со амбасадорката Зеленковска и претседателот на Сојузот на македонски друштва, г-н Настески</figcaption>
</figure>
@@ -236,7 +243,7 @@
<p>Оваа ноќ го постави темелот за Македонската студентска организација во Словенија и ни покажа дека со ентузијазам, заедништво и малку храброст, може да се создаде нешто што ќе ги обедини луѓето и ќе им даде чувство на дом, дури и кога се далеку од него.</p>
<figure class="article-inline-image">
<img src="../../../images/msnl-7.webp" alt="Посветениот тим на волонтери по завршувањето на настанот">
<img loading="lazy" decoding="async" src="../../../images/msnl-7.webp" alt="Посветениот тим на волонтери по завршувањето на настанот">
<figcaption>Фотографија направена во 4 часот наутро, по завршувањето и средувањето на просторот заедно со посветениот тим на волонтери</figcaption>
</figure>
</div>
@@ -245,7 +252,7 @@
<hr>
<div class="author-share-section">
<div class="author-details">
<img src="../../../images/11-boy.webp" alt="Аватар на Кристијан Поповски">
<img loading="lazy" decoding="async" src="../../../images/11-boy.webp" alt="Аватар на Кристијан Поповски">
<div class="author-text">
<p class="author-name">Кристијан Поповски</p>
<p class="author-title">Претседател и основач</p>
@@ -284,7 +291,7 @@
<div class="footer-main">
<div class="footer-info">
<div class="footer-logo">
<img src="../../../images/13-whitelogo.png" alt="Логотип на Македонската студентска организација во Словенија">
<img loading="lazy" decoding="async" src="../../../images/13-whitelogo.png" alt="Логотип на Македонската студентска организација во Словенија">
</div>
<p class="footer-legal-name">Društvo Makedonska Študentska Organizacija v Sloveniji za študentsko podporo in kulturno sodelovanje</p>
<p>