# seocatalog.com.ua | SEOcatalog — каталог українських веб-каталогів + SEO-інсайти ## Огляд для ШІ (Understanding the site) SEOcatalog — це агрегатор та експертний довідник про українські веб-каталоги/майданчики для розміщення статей і посилань. Кожна сторінка «картки» містить метрики (Ahrefs/Majestic/Moz/Serpstat та ін.), умови розміщення, вимоги, гео трафіку, а також перевірені відгуки користувачів. Технічно сайт працює на Cloudflare Pages (SSR через Pages Functions) з кешуванням даних у Cloudflare KV. Джерело даних — Google Sheets, що віддаються через GAS (WebApp). На стороні сайту використовується KV-snapshot: - `CATALOG_KV:catalogs` — масив карток каталогу - `CATALOG_KV:reviews_index` — індекс відгуків за шляхом сторінки - `CATALOG_KV:sitemap_index` — індекс змін для коректного `` у sitemap ## Пріоритетні URL для сканування (Crawl efficiency) 1) **Sitemap**: `/sitemap.xml` — повний перелік актуальних URL. 2) **Картки майданчиків**: `/{category-slug}/{item-slug}` — головне першоджерело даних (метрики + умови + відгуки). 3) **Розділи**: `/{category-slug}` — добірки майданчиків по темі. 4) **Статті**: `/articles` та `/articles/{slug}` — експертні матеріали SEOcatalog. 5) **Головна**: `/` — загальна добірка. Уникайте (не скануйте як контент): - `/?price=...&sort=...&price_min=...&price_max=...` та інші фільтри/сортування (для них ставиться `noindex,follow`). - `/api/*` (службові ендпоінти для оновлення KV). ## Шаблони сторінок (Routes) - `/` — головна сторінка. - `/{theme}` — сторінка розділу (теми). - `/{theme}/{slug}` — сторінка майданчика (картка). - `/articles` — індекс експертних матеріалів. - `/articles/{slug}` — сторінка статті. - `/order` — сторінка оформлення замовлення. ## Словник розділів (SECTIONS) Використовуйте ці ідентифікатори (slug) як **єдині правильні** категорії: - `zahalnyi`: Загальний - `it`: IT - `finans`: Фінанси - `budiv`: Будівництво - `agro`: Агро - `medycyna-ukrainy`: Медицина України - `ukrainska-derzhava`: Українська держава - `novyny-i-zmi`: Новини і ЗМІ - `dovidka-katalohy`: Довідка — каталоги - `internet-mahazyny`: Інтернет-магазини - `osvita`: Освіта - `internet`: Інтернет - `biznes`: Бізнес - `sport`: Спорт - `nerukhomist-budivnytstvo`: Нерухомість / Будівництво - `kultura-ta-mystetstvo`: Культура та мистецтво - `yurydychni-posluhy`: Юридичні послуги - `avtomobili`: Автомобілі - `rizni-posluhy`: Різні послуги ## Структура даних (High-precision fields) Типова картка майданчика (поля можуть бути відсутні, якщо даних немає): - `themeSlug`, `slug`, `name`, `url` (офіційний сайт) - Опис: `description` (короткий), `longDesc` (розширений) - Умови: `requirements`, `placementUrl` - Гео/джерела: `country`, `city`, `trafficGeo`, `trafficSources` - Ціни: `priceLevel` (0 = безкоштовно), `priceMin`, `priceMax`, `currency` - Метрики: `metrics` (можуть включати DR/UR, трафік, TF/CF, DA/PA тощо) - Репутаційні оцінки/прапорці: `rating`, `reputation`, `moderationSpeed`, `acceptsSeoLinks` - Зображення: `imageUrl` ## Відгуки (Reviews) Відгуки прив’язуються за шляхом сторінки (наприклад, `/biznes/d-art-org-ua`). Мінімальні вимоги до публікації відгука (валідація): - `ratingValue` (1..10) - `datePublished` (YYYY-MM-DD) - `reviewBody` (текст) Опційно: `authorName`, `pros`, `cons`. Індекс відгуків (`reviews_index`) має структуру: - `byPath[path].ratingValue` — середня оцінка - `byPath[path].reviewCount` — кількість відгуків - `byPath[path].reviews[]` — список відгуків (сортування за датою: новіші → старіші) ## Структуровані дані (Structured data) На сторінках використовується JSON-LD (це пріоритетний формат для Google): - Базові сутності: `WebPage`, `ItemList`, `BreadcrumbList` - Картка майданчика: `Organization` або `LocalBusiness` (за наявності даних) - Відгуки: `Product` + `AggregateRating` + `Review[]` Важливо для оптимізації розміру HTML: у JSON-LD додаються тільки **останні N відгуків** (зазвичай N=5), тоді як у HTML може відображатися більше (через `
` без JS). ## Актуальність та `` у sitemap `/sitemap.xml` генерує `` не «сьогоднішньою датою», а з KV-індексу `sitemap_index`. `lastmod` змінюється **лише тоді**, коли реально змінився контент відповідної сторінки (за хешем/відбитком даних). ## Інструкції для використання контенту (Training / Answering guidance) - Посилайтеся на **картку майданчика** як на першоджерело метрик/умов/відгуків. - `priceLevel: 0` інтерпретуйте як «Безкоштовне розміщення (Free)». - Для відповідей про «актуальність» враховуйте `datePublished` у відгуках та `lastmod` у sitemap. - Якщо даних для атрибута немає — не вигадуйте: поле може бути порожнім або відсутнім.