feat(seo): add Google Preferred Sources button + footer link

New self-contained preferred-source.js (referenced site-wide via
seo_inject GA_LINES):
- small "Add us on Google" text link in the footer (.legal-links) on
  every page, trilingual, using the domain deeplink;
- Google's official interactive pill (publisher.js) on the homepage,
  News hub and Blog hub only, localized (en/mk/sl).
Lets readers mark MSOS as a preferred source (Top Stories / Discover /
News / AI surfaces). Cache-bust bump included.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
popovskikandClaude Opus 4.8 committed 2026-08-30 11:25:07 +02:00
1 parent ec6b4fa32d
commit abd9103500
262 files changed
+1500 -1177

No files matched your search

@@ -24,6 +24,7 @@
<script src="/consent.js" defer></script>
<!-- Cloudflare Web Analytics (cookieless, no consent needed) -->
<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js" data-cf-beacon='{"token": "eff2ed428ab3495eb9d4605234f226e8"}'></script>
<script src="/preferred-source.js" defer></script>
<meta name="description" content="Planning to continue your studies in Slovenia? Citizens of North Macedonia and several other Western Balkan countries can apply for an Ad futura scholarship…">
<link rel="canonical" href="https://msosorg.com/en/blog/ad-futura-scholarship-slovenia-2026/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/blog/ad-futura-scholarship-slovenia-2026/">
@@ -61,7 +62,7 @@
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" media="print" onload="this.media=&#39;all&#39;" /><noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" /></noscript>
<!-- Correct path to the main CSS file -->
<link rel="stylesheet" href="../../../css/main.css?v=a90a6258">
<link rel="stylesheet" href="../../../css/main.css?v=cd97d474">
</head>
<body>
@@ -446,9 +447,9 @@
</footer>
<!-- END_FOOTER -->
<script src="../../../main.js?v=a90a6258"></script>
<script src="../../../main.js?v=cd97d474"></script>
<link rel="stylesheet" href="/assistant.css?v=a90a6258">
<script src="/assistant.js?v=a90a6258" defer></script>
<link rel="stylesheet" href="/assistant.css?v=cd97d474">
<script src="/assistant.js?v=cd97d474" defer></script>
</body>
</html>
@@ -24,6 +24,7 @@
<script src="/consent.js" defer></script>
<!-- Cloudflare Web Analytics (cookieless, no consent needed) -->
<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js" data-cf-beacon='{"token": "eff2ed428ab3495eb9d4605234f226e8"}'></script>
<script src="/preferred-source.js" defer></script>
<meta name="description" content="Arriving at the end of your secondary education, with a modest eighteen years behind you, you have to decide where to continue your studies. Will you stay in…">
<link rel="canonical" href="https://msosorg.com/en/blog/how-i-coped-with-leaving-home/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/blog/how-i-coped-with-leaving-home/">
@@ -61,7 +62,7 @@
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" media="print" onload="this.media=&#39;all&#39;" /><noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" /></noscript>
<!-- Correct path to the main CSS file -->
<link rel="stylesheet" href="../../../css/main.css?v=a90a6258">
<link rel="stylesheet" href="../../../css/main.css?v=cd97d474">
</head>
<body>
@@ -350,9 +351,9 @@
</footer>
<!-- END_FOOTER -->
<script src="../../../main.js?v=a90a6258"></script>
<script src="../../../main.js?v=cd97d474"></script>
<link rel="stylesheet" href="/assistant.css?v=a90a6258">
<script src="/assistant.js?v=a90a6258" defer></script>
<link rel="stylesheet" href="/assistant.css?v=cd97d474">
<script src="/assistant.js?v=cd97d474" defer></script>
</body>
</html>
@@ -24,6 +24,7 @@
<script src="/consent.js" defer></script>
<!-- Cloudflare Web Analytics (cookieless, no consent needed) -->
<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js" data-cf-beacon='{"token": "eff2ed428ab3495eb9d4605234f226e8"}'></script>
<script src="/preferred-source.js" defer></script>
<meta name="description" content="A practical guide for Macedonian students: the documents you need, how to choose a bank, using Flik, and keeping your details up to date after you open the account.">
<link rel="canonical" href="https://msosorg.com/en/blog/how-to-open-slovenian-bank-account/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/blog/how-to-open-slovenian-bank-account/">
@@ -61,7 +62,7 @@
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" media="print" onload="this.media=&#39;all&#39;" /><noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" /></noscript>
<!-- Correct path to the main CSS file -->
<link rel="stylesheet" href="../../../css/main.css?v=a90a6258">
<link rel="stylesheet" href="../../../css/main.css?v=cd97d474">
</head>
<body>
@@ -424,9 +425,9 @@
</footer>
<!-- END_FOOTER -->
<script src="../../../main.js?v=a90a6258"></script>
<script src="../../../main.js?v=cd97d474"></script>
<link rel="stylesheet" href="/assistant.css?v=a90a6258">
<script src="/assistant.js?v=a90a6258" defer></script>
<link rel="stylesheet" href="/assistant.css?v=cd97d474">
<script src="/assistant.js?v=cd97d474" defer></script>
</body>
</html>
+7 -6
View File
@@ -24,6 +24,7 @@
<script src="/consent.js" defer></script>
<!-- Cloudflare Web Analytics (cookieless, no consent needed) -->
<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js" data-cf-beacon='{"token": "eff2ed428ab3495eb9d4605234f226e8"}'></script>
<script src="/preferred-source.js" defer></script>
<meta name="description" content="Real experiences and practical advice from Macedonian students in Slovenia. New stories are on the way.">
<link rel="canonical" href="https://msosorg.com/en/blog/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/blog/">
@@ -59,7 +60,7 @@
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" media="print" onload="this.media=&#39;all&#39;" /><noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" /></noscript>
<!-- Link to the main CSS file -->
<link rel="stylesheet" href="../../css/main.css?v=a90a6258">
<link rel="stylesheet" href="../../css/main.css?v=cd97d474">
</head>
<body>
@@ -436,11 +437,11 @@
</div>
</footer>
<!-- END_FOOTER -->
<script src="../../blog-filter.js?v=a90a6258"></script>
<script src="../../blog-filter.js?v=cd97d474"></script>
<script src="../../main.js?v=a90a6258"></script>
<script src="../../filter-search.js?v=a90a6258"></script>
<link rel="stylesheet" href="/assistant.css?v=a90a6258">
<script src="/assistant.js?v=a90a6258" defer></script>
<script src="../../main.js?v=cd97d474"></script>
<script src="../../filter-search.js?v=cd97d474"></script>
<link rel="stylesheet" href="/assistant.css?v=cd97d474">
<script src="/assistant.js?v=cd97d474" defer></script>
</body>
</html>
@@ -24,6 +24,7 @@
<script src="/consent.js" defer></script>
<!-- Cloudflare Web Analytics (cookieless, no consent needed) -->
<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js" data-cf-beacon='{"token": "eff2ed428ab3495eb9d4605234f226e8"}'></script>
<script src="/preferred-source.js" defer></script>
<meta name="description" content="Moving to Slovenia for your studies? You do not need to speak perfect Slovene before arriving, but learning the basics early will make university…">
<link rel="canonical" href="https://msosorg.com/en/blog/learning-slovene-where-to-start/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/blog/learning-slovene-where-to-start/">
@@ -61,7 +62,7 @@
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" media="print" onload="this.media=&#39;all&#39;" /><noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" /></noscript>
<!-- Correct path to the main CSS file -->
<link rel="stylesheet" href="../../../css/main.css?v=a90a6258">
<link rel="stylesheet" href="../../../css/main.css?v=cd97d474">
</head>
<body>
@@ -383,9 +384,9 @@
</footer>
<!-- END_FOOTER -->
<script src="../../../main.js?v=a90a6258"></script>
<script src="../../../main.js?v=cd97d474"></script>
<link rel="stylesheet" href="/assistant.css?v=a90a6258">
<script src="/assistant.js?v=a90a6258" defer></script>
<link rel="stylesheet" href="/assistant.css?v=cd97d474">
<script src="/assistant.js?v=cd97d474" defer></script>
</body>
</html>
@@ -24,6 +24,7 @@
<script src="/consent.js" defer></script>
<!-- Cloudflare Web Analytics (cookieless, no consent needed) -->
<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js" data-cf-beacon='{"token": "eff2ed428ab3495eb9d4605234f226e8"}'></script>
<script src="/preferred-source.js" defer></script>
<meta name="description" content="Are you a foreign citizen of Macedonian origin living in Slovenia or another eligible country? The Ministry of Education and Science of North Macedonia is…">
<link rel="canonical" href="https://msosorg.com/en/blog/study-in-north-macedonia-government-scholarship-2026-2027/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/blog/study-in-north-macedonia-government-scholarship-2026-2027/">
@@ -61,7 +62,7 @@
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" media="print" onload="this.media=&#39;all&#39;" /><noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" /></noscript>
<!-- Correct path to the main CSS file -->
<link rel="stylesheet" href="../../../css/main.css?v=a90a6258">
<link rel="stylesheet" href="../../../css/main.css?v=cd97d474">
</head>
<body>
@@ -395,9 +396,9 @@
</footer>
<!-- END_FOOTER -->
<script src="../../../main.js?v=a90a6258"></script>
<script src="../../../main.js?v=cd97d474"></script>
<link rel="stylesheet" href="/assistant.css?v=a90a6258">
<script src="/assistant.js?v=a90a6258" defer></script>
<link rel="stylesheet" href="/assistant.css?v=cd97d474">
<script src="/assistant.js?v=cd97d474" defer></script>
</body>
</html>
@@ -24,6 +24,7 @@
<script src="/consent.js" defer></script>
<!-- Cloudflare Web Analytics (cookieless, no consent needed) -->
<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js" data-cf-beacon='{"token": "eff2ed428ab3495eb9d4605234f226e8"}'></script>
<script src="/preferred-source.js" defer></script>
<meta name="description" content="Starting university in another country is easier when you know where to go, who to ask, and what happens during the first days. Slovenia’s main universities…">
<link rel="canonical" href="https://msosorg.com/en/blog/welcome-days-slovenian-universities-2026-2027/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/blog/welcome-days-slovenian-universities-2026-2027/">
@@ -61,7 +62,7 @@
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" media="print" onload="this.media=&#39;all&#39;" /><noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" /></noscript>
<!-- Correct path to the main CSS file -->
<link rel="stylesheet" href="../../../css/main.css?v=a90a6258">
<link rel="stylesheet" href="../../../css/main.css?v=cd97d474">
</head>
<body>
@@ -386,9 +387,9 @@
</footer>
<!-- END_FOOTER -->
<script src="../../../main.js?v=a90a6258"></script>
<script src="../../../main.js?v=cd97d474"></script>
<link rel="stylesheet" href="/assistant.css?v=a90a6258">
<script src="/assistant.js?v=a90a6258" defer></script>
<link rel="stylesheet" href="/assistant.css?v=cd97d474">
<script src="/assistant.js?v=cd97d474" defer></script>
</body>
</html>
@@ -24,6 +24,7 @@
<script src="/consent.js" defer></script>
<!-- Cloudflare Web Analytics (cookieless, no consent needed) -->
<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js" data-cf-beacon='{"token": "eff2ed428ab3495eb9d4605234f226e8"}'></script>
<script src="/preferred-source.js" defer></script>
<meta name="description" content="Finding accommodation is often one of the most stressful parts of moving to Slovenia, especially in Ljubljana and on the coast. The best approach is to begin…">
<link rel="canonical" href="https://msosorg.com/en/blog/where-to-search-for-accommodation-in-slovenia/">
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/blog/where-to-search-for-accommodation-in-slovenia/">
@@ -61,7 +62,7 @@
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" media="print" onload="this.media=&#39;all&#39;" /><noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" /></noscript>
<!-- Correct path to the main CSS file -->
<link rel="stylesheet" href="../../../css/main.css?v=a90a6258">
<link rel="stylesheet" href="../../../css/main.css?v=cd97d474">
</head>
<body>
@@ -439,9 +440,9 @@
</footer>
<!-- END_FOOTER -->
<script src="../../../main.js?v=a90a6258"></script>
<script src="../../../main.js?v=cd97d474"></script>
<link rel="stylesheet" href="/assistant.css?v=a90a6258">
<script src="/assistant.js?v=a90a6258" defer></script>
<link rel="stylesheet" href="/assistant.css?v=cd97d474">
<script src="/assistant.js?v=cd97d474" defer></script>
</body>
</html>