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:
1 parent
b393859467
commit
314667f692
429 files changed
+2559
-1106
No files matched your search
@@ -16,15 +16,22 @@
|
||||
<meta property="og:title" content="Ljubljana Through Our Eyes - MSOS">
|
||||
<meta property="og:description" content="Not a complete guide to the city, but a collection of places and routines through which many of us began to feel at home.">
|
||||
<meta property="og:url" content="https://msosorg.com/en/get-to-know-slovenia/ljubljana-through-our-eyes/">
|
||||
<meta property="og:image" content="https://msosorg.com/images/slovenia-ljubljana-river-life-hero.jpg">
|
||||
<meta property="og:image" content="https://msosorg.com/images/slovenia-ljubljana-river-life-hero.webp">
|
||||
<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="Ljubljana Through Our Eyes - MSOS">
|
||||
<meta name="twitter:description" content="Not a complete guide to the city, but a collection of places and routines through which many of us began to feel at home.">
|
||||
<meta name="twitter:image" content="https://msosorg.com/images/slovenia-ljubljana-river-life-hero.jpg">
|
||||
<meta name="twitter:image" content="https://msosorg.com/images/slovenia-ljubljana-river-life-hero.webp">
|
||||
<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>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"Ljubljana Through Our Eyes","description":"Not a complete guide to the city, but a collection of places and routines through which many of us began to feel at home.","image":"https://msosorg.com/images/slovenia-ljubljana-river-life-hero.webp","inLanguage":"en","author":{"@type":"Organization","name":"Macedonian Student Organisation in Slovenia","url":"https://msosorg.com/en/"},"publisher":{"@type":"Organization","name":"Macedonian Student Organisation in Slovenia","logo":{"@type":"ImageObject","url":"https://msosorg.com/images/1-logo.png"}},"mainEntityOfPage":"https://msosorg.com/en/get-to-know-slovenia/ljubljana-through-our-eyes/"}</script>
|
||||
<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://msosorg.com/en/"},{"@type":"ListItem","position":2,"name":"Get to know Slovenia","item":"https://msosorg.com/en/get-to-know-slovenia/"},{"@type":"ListItem","position":3,"name":"Ljubljana Through Our Eyes","item":"https://msosorg.com/en/get-to-know-slovenia/ljubljana-through-our-eyes/"}]}</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">
|
||||
@@ -172,7 +179,7 @@
|
||||
</header>
|
||||
|
||||
<figure class="article-main-image">
|
||||
<img src="../../../images/slovenia-ljubljana-river-life-hero.jpg" alt="A crowd gathered along the Ljubljanica during an event in central Ljubljana">
|
||||
<img fetchpriority="high" src="../../../images/slovenia-ljubljana-river-life-hero.webp" alt="A crowd gathered along the Ljubljanica during an event in central Ljubljana">
|
||||
<figcaption>Ljubljanica River, Ljubljana. Photo: CEV, <a href="https://inside.cev.eu/articles/federations/ljubljana-delivers-another-volleyball-on-water-spectacle/" target="_blank" rel="noopener">inside.cev.eu</a></figcaption>
|
||||
</figure>
|
||||
|
||||
@@ -210,7 +217,7 @@
|
||||
<p>Our recommendation is simple. Do not rush through it between two landmarks. Visit early enough to notice how people actually use it.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img src="../../../images/slovenia-ljubljana-central-market.jpg" alt="Food stalls at the Open Kitchen market in central Ljubljana">
|
||||
<img loading="lazy" decoding="async" src="../../../images/slovenia-ljubljana-central-market.jpg" alt="Food stalls at the Open Kitchen market in central Ljubljana">
|
||||
<figcaption>Open Kitchen at Ljubljana's Central Market. Photo: Odprta kuhna, <a href="https://www.visitljubljana.com/en/visitors/tours-and-trips/open-kitchen-on-a-platter-the-gourmet-ljubljana-tasting-menus" target="_blank" rel="noopener">visitljubljana.com</a></figcaption>
|
||||
</figure>
|
||||
|
||||
@@ -229,7 +236,7 @@
|
||||
<p>In summer, arrive before sunset. Sit on the steps, watch the light change on the river, and let the evening develop on its own.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img src="../../../images/slovenia-ljubljana-trnovski-pristan.jpg" alt="People beside the river at Trnovski pristan in Ljubljana">
|
||||
<img loading="lazy" decoding="async" src="../../../images/slovenia-ljubljana-trnovski-pristan.webp" alt="People beside the river at Trnovski pristan in Ljubljana">
|
||||
<figcaption>Trnovski pristan, Ljubljana. Photo: Gregor Babšek, <a href="https://www.gregorbabsek.si/Ljubljana_znamenitosti_14.html" target="_blank" rel="noopener">gregorbabsek.si</a></figcaption>
|
||||
</figure>
|
||||
|
||||
@@ -258,7 +265,7 @@
|
||||
<p>For someone who has only seen the historic centre, Metelkova can feel like a different city. That contrast is worth seeing.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img src="../../../images/slovenia-ljubljana-metelkova.jpg" alt="Murals and outdoor artworks at Metelkova in Ljubljana">
|
||||
<img loading="lazy" decoding="async" src="../../../images/slovenia-ljubljana-metelkova.webp" alt="Murals and outdoor artworks at Metelkova in Ljubljana">
|
||||
<figcaption>Metelkova, Ljubljana. Photo: <a href="https://www.tripadvisor.com/Attraction_Review-g274873-d734854-Reviews-Metelkova-Ljubljana_Upper_Carniola_Region.html" target="_blank" rel="noopener">Tripadvisor</a></figcaption>
|
||||
</figure>
|
||||
|
||||
@@ -285,7 +292,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>
|
||||
|
||||
Reference in new issue
Block a user