feat: счётчики с consent, политика, фиксы дизайна

Дизайн-фиксы:
- Перенесены картинки из старого WP в public/wp-content/uploads/
  (header_bg.gif + 3 размера NY-baner.png 2014/12). migrate-wp.mjs
  обновлён: корректно обрабатывает <a><img></a>, переписывает абсолютные
  URL anotherreflections.ru/wp-content/... в относительные
- Description в frontmatter теперь чистый plain text — без markdown-разметки
- Слаги 11/95/152 → kto-my, s-23-fevralya-2011, s-nastupayushhim-novym-2012-godom
- Hero-метрика: «N лет онлайн» → «с 2006 года» (последний пост 2015,
  активной жизни «20 лет» нет)
- Drop cap (буквица) — только для постов длиннее 240 символов
  (короткие посты раньше выглядели обрезанными)

Аналитика и конфиденциальность:
- Яндекс.Метрика (counter 13938862, webvisor) и Google gtag (GT-PH39R3X)
  перенесены со старого WP
- Cookie consent banner — самописный, без зависимостей: счётчики грузятся
  только после явного «Принять». Выбор хранится в localStorage + cookie
  ar-consent на 12 месяцев. Уведомление в духе 152-ФЗ
- /privacy/ — полная политика конфиденциальности: что собираем (через
  Метрику и GA), для чего, как cookies устроены, права пользователя,
  контакт для запросов на удаление
- В футере добавлены ссылки «Политика конфиденциальности» и «Контакты»
- sitemap.txt + llms.txt включают /privacy/
This commit is contained in:
2026-05-21 02:07:08 +03:00
parent 864819a67c
commit 6f2cfdd63d
19 changed files with 310 additions and 13 deletions

View File

@@ -3,6 +3,8 @@ import '../styles/global.css';
import { SITE_TITLE, SITE_DESCRIPTION, SITE_URL, SITE_LANG, MAIN_NAV } from '../consts';
import BrandMark from '../components/BrandMark.astro';
import SocialLinks from '../components/SocialLinks.astro';
import Analytics from '../components/Analytics.astro';
import CookieConsent from '../components/CookieConsent.astro';
interface Props {
title?: string;
@@ -39,6 +41,8 @@ const year = new Date().getFullYear();
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Cormorant+Garamond:wght@500;600;700&display=swap" rel="stylesheet" />
<Analytics />
</head>
<body>
<header class="site-header">
@@ -67,7 +71,14 @@ const year = new Date().getFullYear();
<footer class="site-footer">
<span class="footer-ornament"></span>
<p>© 2006{year} · {SITE_TITLE}</p>
<p><a href="/feed.xml">RSS</a> · <a href="/sitemap-index.xml">Sitemap</a></p>
<p>
<a href="/feed.xml">RSS</a> ·
<a href="/sitemap-index.xml">Sitemap</a> ·
<a href="/privacy/">Политика конфиденциальности</a> ·
<a href="/kontakty/">Контакты</a>
</p>
</footer>
<CookieConsent />
</body>
</html>