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

+14 -9
View File
@@ -16,15 +16,20 @@
<meta property="og:title" content="Become a member - MSOS">
<meta property="og:description" content="Join MSOS and find your people in Slovenia. Meet students, attend events, get support and help create projects across the Macedonian student community.">
<meta property="og:url" content="https://msosorg.com/en/become-a-member/">
<meta property="og:image" content="https://msosorg.com/images/1-logo.png">
<meta property="og:image" content="https://msosorg.com/images/og-default.jpg">
<meta property="og:locale" content="en_GB">
<meta property="og:locale:alternate" content="mk_MK">
<meta property="og:locale:alternate" content="sl_SI">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Become a member - MSOS">
<meta name="twitter:description" content="Join MSOS and find your people in Slovenia. Meet students, attend events, get support and help create projects across the Macedonian student community.">
<meta name="twitter:image" content="https://msosorg.com/images/1-logo.png">
<meta name="twitter:image" content="https://msosorg.com/images/og-default.jpg">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"Macedonian Student Organisation in Slovenia","alternateName":"MSOS","url":"https://msosorg.com/en/","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>
<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">
@@ -176,7 +181,7 @@
<a class="btn btn-secondary" href="#showcase">See what we do</a>
</div>
</div>
<div class="mm-hero-collage"><div class="mm-hero-photo mm-hero-photo--1"><img src="../../images/event4-img-1.webp" alt="Meet Student Slovenia 2024" loading="eager"></div><div class="mm-hero-photo mm-hero-photo--2"><img src="../../images/msnl-1.webp" alt="Macedonian Student Night in Ljubljana" loading="eager"></div><div class="mm-hero-photo mm-hero-photo--3"><img src="../../images/handball-2025-1.png" alt="Cheering for Macedonia, Watching Handball Together in Slovenia" loading="eager"></div></div>
<div class="mm-hero-collage"><div class="mm-hero-photo mm-hero-photo--1"><img src="../../images/event4-img-1.webp" alt="Meet Student Slovenia 2024" loading="eager"></div><div class="mm-hero-photo mm-hero-photo--2"><img src="../../images/msnl-1.webp" alt="Macedonian Student Night in Ljubljana" loading="eager"></div><div class="mm-hero-photo mm-hero-photo--3"><img src="../../images/handball-2025-1.webp" alt="Cheering for Macedonia, Watching Handball Together in Slovenia" loading="eager"></div></div>
</section>
<section class="mm-section">
@@ -275,11 +280,11 @@
<div class="mm-real-body"><h3>Enjoy a student night</h3><p>Music, friends and a night that feels like home.</p><span class="mm-real-link">Read the story <i class="fas fa-arrow-right" aria-hidden="true"></i></span></div>
</a>
<a class="mm-real" href="../projects/humanitarian-tournament-in-maribor/">
<div class="mm-real-media"><img src="../../images/maribor-tournament-1.png" alt="Give back together" loading="lazy"></div>
<div class="mm-real-media"><img src="../../images/maribor-tournament-1.webp" alt="Give back together" loading="lazy"></div>
<div class="mm-real-body"><h3>Give back together</h3><p>Take part in humanitarian activities that help others.</p><span class="mm-real-link">Read the story <i class="fas fa-arrow-right" aria-hidden="true"></i></span></div>
</a>
<a class="mm-real" href="../projects/watching-handball-together-in-slovenia/">
<div class="mm-real-media"><img src="../../images/handball-2025-1.png" alt="Cheer side by side" loading="lazy"></div>
<div class="mm-real-media"><img src="../../images/handball-2025-1.webp" alt="Cheer side by side" loading="lazy"></div>
<div class="mm-real-body"><h3>Cheer side by side</h3><p>Sports, energy and belonging, wherever you study.</p><span class="mm-real-link">Read the story <i class="fas fa-arrow-right" aria-hidden="true"></i></span></div>
</a>
</div>
@@ -315,11 +320,11 @@
<h3>Macedonian Student Night in Ljubljana</h3>
</a>
<a class="mm-show" href="../projects/humanitarian-tournament-in-maribor/">
<div class="mm-show-media"><img src="../../images/maribor-tournament-1.png" alt="Humanitarian Sports Tournament: Playing with Heart, Together for Kočani" loading="lazy"></div>
<div class="mm-show-media"><img src="../../images/maribor-tournament-1.webp" alt="Humanitarian Sports Tournament: Playing with Heart, Together for Kočani" loading="lazy"></div>
<h3>Humanitarian Sports Tournament: Playing with Heart, Together for Kočani</h3>
</a>
<a class="mm-show" href="../projects/paint-and-wine-at-sunset/">
<div class="mm-show-media"><img src="../../images/paint-wine-1.jpg" alt="Paint &amp; Wine at Sunset, Celebrating Women’s Day with Art &amp; Music" loading="lazy"></div>
<div class="mm-show-media"><img src="../../images/paint-wine-1.webp" alt="Paint &amp; Wine at Sunset, Celebrating Women’s Day with Art &amp; Music" loading="lazy"></div>
<h3>Paint &amp; Wine at Sunset, Celebrating Women’s Day with Art &amp; Music</h3>
</a>
<a class="mm-show" href="../projects/morning-coffee-in-front-of-ctk/">
@@ -327,7 +332,7 @@
<h3>Morning Coffee in front of CTK, 2024: Coffee, burek, and lots of smiles</h3>
</a>
<a class="mm-show" href="../projects/watching-handball-together-in-slovenia/">
<div class="mm-show-media"><img src="../../images/handball-2025-1.png" alt="Cheering for Macedonia, Watching Handball Together in Slovenia" loading="lazy"></div>
<div class="mm-show-media"><img src="../../images/handball-2025-1.webp" alt="Cheering for Macedonia, Watching Handball Together in Slovenia" loading="lazy"></div>
<h3>Cheering for Macedonia, Watching Handball Together in Slovenia</h3>
</a>
</div>
@@ -522,7 +527,7 @@
<div class="footer-main">
<div class="footer-info">
<div class="footer-logo">
<img src="../../images/13-whitelogo.png" alt="Macedonian Student Organisation in Slovenia Logo">
<img loading="lazy" decoding="async" src="../../images/13-whitelogo.png" alt="Macedonian Student Organisation in Slovenia Logo">
</div>
<p class="footer-legal-name">Društvo Makedonska Študentska Organizacija v Sloveniji za študentsko podporo in kulturno sodelovanje</p>
<p>