feat(press): add link-only press kit for Meet Student Slovenia 2026
Unlisted MK press kit for media covering the 4 Sept 2026 event: fact sheet, ready-to-quote boilerplate, key messages, downloadable event photos + logos, and info@ contact. Reuses _press.css with new press-kit blocks (one-line hero title, centered CTAs, tightened fact columns, photo download grid). Keep it link-only: add an UNLISTED mechanism to tools/seo_inject.py so the page gets robots=noindex,nofollow on every run and is excluded from sitemap.xml (and not exposed in robots.txt). Without this the pre-commit SEO injector would make the page indexable and list it publicly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
af97f7144c
commit
9812835d24
3 files changed
+569
No files matched your search
@@ -29,6 +29,15 @@ LANGS = ["en", "mk", "si"]
|
||||
HREF = {"en": "en", "mk": "mk", "si": "sl"}
|
||||
OG_LOCALE = {"en": "en_GB", "mk": "mk_MK", "si": "sl_SI"}
|
||||
|
||||
# Unlisted / link-only pages, keyed by (lang, path). These get a
|
||||
# `robots: noindex, nofollow` meta on every run and are kept OUT of sitemap.xml,
|
||||
# so they are reachable only by someone who has the direct URL (e.g. a press kit
|
||||
# shared privately with journalists). They are deliberately NOT added to
|
||||
# robots.txt — a Disallow line there would publicly advertise the secret path.
|
||||
UNLISTED = {
|
||||
("mk", "press/meet-student-slovenia-2026"),
|
||||
}
|
||||
|
||||
# Section (first path segment) display names, for Article breadcrumbs.
|
||||
# Any 2-segment path "section/slug" whose section is here is treated as an article.
|
||||
SECTION_NAMES = {
|
||||
@@ -458,6 +467,8 @@ def build_block(lang, path, content):
|
||||
ogimg = extract_og_image(content)
|
||||
|
||||
lines = [START]
|
||||
if (lang, path) in UNLISTED:
|
||||
lines.append(' <meta name="robots" content="noindex, nofollow">')
|
||||
lines.extend(GA_LINES)
|
||||
if desc:
|
||||
lines.append(f' <meta name="description" content="{html.escape(desc, quote=True)}">')
|
||||
@@ -555,6 +566,8 @@ def write_sitemap():
|
||||
urls = []
|
||||
for L, fp in all_pages():
|
||||
path = page_path_of(fp, L)
|
||||
if (L, path) in UNLISTED:
|
||||
continue # link-only page: keep it out of the public sitemap
|
||||
urls.append((L, path))
|
||||
# group by path so we can emit xhtml:link alternates
|
||||
from collections import defaultdict
|
||||
|
||||
Reference in new issue
Block a user