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="Get to know Slovenia - MSOS">
<meta property="og:description" content="Slovenia may be small on the map, but there is a lot to discover between the Alps, the Adriatic coast, green rivers, old towns, and quiet places that quickly…">
<meta property="og:url" content="https://msosorg.com/en/get-to-know-slovenia/">
<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="Get to know Slovenia - MSOS">
<meta name="twitter:description" content="Slovenia may be small on the map, but there is a lot to discover between the Alps, the Adriatic coast, green rivers, old towns, and quiet places that quickly…">
<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">
@@ -196,7 +201,7 @@
<!-- Story: Welcome to Slovenia -->
<article class="post-card" data-category="identity">
<a href="welcome-to-slovenia/" class="post-link">
<img src="../../images/slovenia-welcome-hero.jpg" alt="Lake Jasna near Kranjska Gora, with mountain peaks reflected in the water" class="post-image">
<img loading="lazy" decoding="async" src="../../images/slovenia-welcome-hero.webp" alt="Lake Jasna near Kranjska Gora, with mountain peaks reflected in the water" class="post-image">
<div class="post-content">
<p class="post-meta">MSOS Team • People &amp; Identity</p>
<h3 class="post-title">Welcome to Slovenia</h3>
@@ -207,7 +212,7 @@
<!-- Story: Ljubljana Through Our Eyes -->
<article class="post-card" data-category="places">
<a href="ljubljana-through-our-eyes/" class="post-link">
<img src="../../images/slovenia-ljubljana-river-life-hero.jpg" alt="A crowd gathered along the Ljubljanica during an event in central Ljubljana" class="post-image">
<img loading="lazy" decoding="async" src="../../images/slovenia-ljubljana-river-life-hero.webp" alt="A crowd gathered along the Ljubljanica during an event in central Ljubljana" class="post-image">
<div class="post-content">
<p class="post-meta">MSOS Team • Places &amp; Nature</p>
<h3 class="post-title">Ljubljana Through Our Eyes</h3>
@@ -218,7 +223,7 @@
<!-- Story: Lake Bled Beyond the Famous View -->
<article class="post-card" data-category="places">
<a href="lake-bled-beyond-the-famous-view/" class="post-link">
<img src="../../images/slovenia-bled-lakeside-walk-hero.jpg" alt="A walking path beside Lake Bled with the island and mountains in view" class="post-image">
<img loading="lazy" decoding="async" src="../../images/slovenia-bled-lakeside-walk-hero.webp" alt="A walking path beside Lake Bled with the island and mountains in view" class="post-image">
<div class="post-content">
<p class="post-meta">MSOS Team • Places &amp; Nature</p>
<h3 class="post-title">Lake Bled Beyond the Famous View</h3>
@@ -229,7 +234,7 @@
<!-- Story: A First Taste of Slovenian Food -->
<article class="post-card" data-category="food">
<a href="a-first-taste-of-slovenian-food/" class="post-link">
<img src="../../images/slovenia-food-regional-table-hero.jpg" alt="Several regional Slovenian dishes served together on a table" class="post-image">
<img loading="lazy" decoding="async" src="../../images/slovenia-food-regional-table-hero.webp" alt="Several regional Slovenian dishes served together on a table" class="post-image">
<div class="post-content">
<p class="post-meta">MSOS Team • Food &amp; Flavours</p>
<h3 class="post-title">A First Taste of Slovenian Food</h3>
@@ -240,7 +245,7 @@
<!-- Story: Slovenian Habits That May Surprise You -->
<article class="post-card" data-category="culture">
<a href="slovenian-habits-that-may-surprise-you/" class="post-link">
<img src="../../images/slovenia-habits-guest-slippers-hero.jpg" alt="A pair of slippers by the entrance of a Slovenian home" class="post-image">
<img loading="lazy" decoding="async" src="../../images/slovenia-habits-guest-slippers-hero.webp" alt="A pair of slippers by the entrance of a Slovenian home" class="post-image">
<div class="post-content">
<p class="post-meta">MSOS Team • Culture &amp; Traditions</p>
<h3 class="post-title">Slovenian Habits That May Surprise You</h3>
@@ -251,7 +256,7 @@
<!-- Story: Slovenia's Stories in Stone and Tradition -->
<article class="post-card" data-category="heritage">
<a href="slovenias-stories-in-stone-and-tradition/" class="post-link">
<img src="../../images/slovenia-heritage-plecnik-daily-life-hero.jpg" alt="A Plečnik-designed public space beside the Ljubljanica" class="post-image">
<img loading="lazy" decoding="async" src="../../images/slovenia-heritage-plecnik-daily-life-hero.webp" alt="A Plečnik-designed public space beside the Ljubljanica" class="post-image">
<div class="post-content">
<p class="post-meta">MSOS Team • History &amp; Heritage</p>
<h3 class="post-title">Slovenia's Stories in Stone and Tradition</h3>
@@ -280,7 +285,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>