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

@@ -16,15 +16,22 @@
<meta property="og:title" content="Во спомен на жртвите од трагедијата во Кочани - MSOS">
<meta property="og:description" content="На 21 март 2025 година, повеќе од 600 луѓе се собраа на Конгресниот плоштад во Љубљана на мирен јавен собир за да ги почестат жртвите од трагичниот пожар во Кочани.">
<meta property="og:url" content="https://msosorg.com/mk/projects/in-memory-of-the-kochani-victims/">
<meta property="og:image" content="https://msosorg.com/images/kochani-1.png">
<meta property="og:image" content="https://msosorg.com/images/kochani-1.webp">
<meta property="og:locale" content="mk_MK">
<meta property="og:locale:alternate" content="en_GB">
<meta property="og:locale:alternate" content="sl_SI">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Во спомен на жртвите од трагедијата во Кочани - MSOS">
<meta name="twitter:description" content="На 21 март 2025 година, повеќе од 600 луѓе се собраа на Конгресниот плоштад во Љубљана на мирен јавен собир за да ги почестат жртвите од трагичниот пожар во Кочани.">
<meta name="twitter:image" content="https://msosorg.com/images/kochani-1.png">
<meta name="twitter:image" content="https://msosorg.com/images/kochani-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":"На 21 март 2025 година, повеќе од 600 луѓе се собраа на Конгресниот плоштад во Љубљана на мирен јавен собир за да ги почестат жртвите од трагичниот пожар во Кочани.","image":"https://msosorg.com/images/kochani-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/in-memory-of-the-kochani-victims/"}</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/in-memory-of-the-kochani-victims/"}]}</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/kochani-1.png" alt="Свеќи и цвеќе на Конгресниот плоштад во спомен на жртвите од трагедијата во Кочани">
<img fetchpriority="high" src="../../../images/kochani-1.webp" alt="Свеќи и цвеќе на Конгресниот плоштад во спомен на жртвите од трагедијата во Кочани">
</figure>
<div class="article-body">
@@ -182,7 +189,7 @@
<p>Заедницата на МСОС одлучи да создаде момент на солидарност во Словенија, не како чин на протест или политика, туку како начин да се изрази хуманост, тага и единство пред трагедијата.</p>
<figure class="article-inline-image">
<img src="../../../images/kochani-2.png" alt="Светлина од свеќи и цвеќе на жалниот собир во Љубљана">
<img loading="lazy" decoding="async" src="../../../images/kochani-2.webp" alt="Светлина од свеќи и цвеќе на жалниот собир во Љубљана">
</figure>
<h2>Собирот во Љубљана</h2>
@@ -192,7 +199,7 @@
<p>Студенти, семејства и членови на пошироката заедница оставаа цвеќе и палеа свеќи, создавајќи море од светлина и боја што остана недопрено со недели потоа, бидејќи никој не се осмели да го наруши меморијалот. Атмосферата беше свечена, почитувачка и длабоко емотивна.</p>
<figure class="article-inline-image">
<img src="../../../images/kochani-3.png" alt="Море од свеќи и цвеќе оставени од присутните">
<img loading="lazy" decoding="async" src="../../../images/kochani-3.webp" alt="Море од свеќи и цвеќе оставени од присутните">
</figure>
<h2>Порака преку границите</h2>
@@ -202,7 +209,7 @@
<p>Настанот доби покриеност и во Словенија, каде претседателот на МСОС даде краток интервју за РТВ Словенија, размислувајќи за важноста на единството во тешки времиња.</p>
<figure class="article-inline-image">
<img src="../../../images/kochani-4.png" alt="Присутните стојат заедно за време на минутата тишина">
<img loading="lazy" decoding="async" src="../../../images/kochani-4.webp" alt="Присутните стојат заедно за време на минутата тишина">
</figure>
<h2>Завршни зборови</h2>
@@ -235,7 +242,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>