Трафік є · Ліди є · Прихований потенціал ×2-3
baldinelli.ua — SEO-аудит повний
WebCoreLab · Квітень 2026
Мережа магазинів медтехніки Baldinelli · 14+ магазинів · 5 міст України · OpenCart CMS · Cloudflare CDN · ~3,200 товарів · 2 мови (RU+UA) · Реабілітація, ортопедія, домашня медтехніка · B2C + B2B.
Незалежний комплексний аудит на основі об'єктивних даних: Chrome DevTools, PageSpeed API, Semrush, Ahrefs, robots.txt, sitemap.xml.
🌐 baldinelli.ua
📅 Квітень 2026
🏥 Медтехніка · OpenCart
📦 3,200+ товарів
🏪 14+ магазинів · 5 міст
🔒 HTTPS · gzip · lang=ru
☁️ Cloudflare CDN
🔴
Критичні проблеми — виправити НЕГАЙНО
10 КРИТИЧНИХ
| # | Проблема | Наслідок | Час виправлення |
| 1 | m.baldinelli.ua тег в HTML — Google mobile-first LCP 26.6с! | Google mobile-first бачить m. як основну версію | 30 хв |
| 2 | LocalBusiness lat/lng swap — координати переплутані! | Google Maps → Саудівська Аравія замість Київ | 30 хв |
| 3 | OG Image = SVG — Facebook/Telegram/Viber не показують | Порожня картинка при будь-якому шерінгу | 2 год |
| 4 | Cache-Control: no-store — Cloudflare Edge не кешує! | Кожен запит іде на origin · cf-cache=DYNAMIC | 1 день |
| 5 | 0/6 Security Headers (HSTS/CSP/X-Frame відсутні) | E-E-A-T trust · XSS · clickjacking ризики | 30 хв |
| 6 | Disallow: /*-ua/ — UA версія потенційно закрита від Google | Перевірити в GSC URL Inspection негайно | 30 хв |
| 7 | Sitemap 10.7MB — 17,723 URL · 82% дублі-таби | Google витрачає весь crawl budget на порожні таби | 2-3 дні |
| 8 | Title 135-138 символів (норма ≤60) на головній і товарних | Google обрізає → низький CTR | 1 день |
| 9 | llms.txt 404 + GPTBot/ClaudeBot відсутні в robots.txt | AI-видимість = 0 у 2026 | 10 хв |
| 10 | 0 lazy loading (248-301 img) · jQuery 2.1.1 (2014!) · TBT 470мс | Total Load 9-15с · INP fail | 1 тиждень |
🟡
Помірні проблеми — виправити протягом місяця
УПУЩЕНІ МОЖЛИВОСТІ
| # | Проблема | Що втрачаємо | Час |
| 11 | FAQPage Schema на категоріях | Розширені сніпети в Google | 2 год/сторінка |
| 12 | Блог — SEO-статті відсутні | Інформаційний трафік йде до конкурентів | ongoing |
| 13 | Alt теги зображень товарів | Google Image Search трафік | 3 дні |
| 14 | BreadcrumbList AggregateRating відсутня | Хлібні крихти не відображаються в SERP | 1 год |
| 15 | B2B і дропшипінг лендінги слабкі | B2B ключі без покриття | 1 тиждень |
| 16 | Внутрішня перелінковка між категоріями | PageRank не розподіляється | 2 дні |
| 17 | GPTBot / ClaudeBot в robots.txt | AI-боти можуть бути заблоковані | 15 хв |
| 18 | LocalBusiness Schema для Київ офісу | Google Maps видимість | 30 хв |
📋
Cross-Page аналіз — 4 типи сторінок (DevTools F12)
РЕАЛЬНІ ВИМІРИ
| Тип сторінки | TTFB | Total Load | Запитів | DOM nodes | Images (lazy/no_alt) | H1/H2 | Schema | Canonical |
| Головна / |
114мс ✅ | 9.2с ❌ | 197 | 4,594 | 248 (0/67) |
⚠️ H1 слабкий · H2 лише 2 | WebSite+LB×14 | ✅ |
| Категорія 🔴 |
1875мс ❌ | 15.2с ❌ | 208 | 6,132 | 239 (0/26) |
✅ H1+H2×5 (FAQ!) | Products масив | ✅ |
| Товарна 🔴 |
1416мс ❌ | 13.7с ❌ | 216 | 6,483 | 301 (0/48) |
✅ H1 є | Product+BC+AggRating | ✅ |
| Sitemap /sitemap |
— | — | 454 links | — | — |
— | — | — |
Загальний паттерн: 0 lazy loading на ВСІХ типах. TTFB категорій і товарних у 12-16× повільніше ніж головна. DOM nodes 6,000+ → INP провалений. Але: SEO-тексти, H2, FAQ на категоріях є! Canonical скрізь ✅.
| Проблема | Головна | Категорія | Товарна |
| Lazy loading | 0/248 ❌ | 0/239 ❌ | 0/301 ❌ |
| Images без alt | 67 | 26 | 48 |
| DOM nodes | 4,594 | 6,132 | 6,483 |
| SEO-текст на сторінці | ❌ Нема | ✅ H2, FAQ, описи | ✅ ~3,525 символів |
| Schema types | WebSite+LocalBusiness | Products array | Product+BreadcrumbList+AggRating |
| Title довжина | 135 сим ❌ | 87 сим ⚠️ | 138 сим ❌ |
| Meta desc довжина | 217 сим ❌ | 199 сим ⚠️ | 271 сим ❌ |
🔁
Дублювання — таби як окремі URL: 14,488 дублів
КРИТИЧНО · 82% SITEMAP
🚨 Кожен товар генерує 7 URL замість 1: основна сторінка + /harakteristiki + /otzyvy + /video + /magaziny + /oplata + /garantia. При 3,235 товарах це потенційно 22,645 URL — з них 14,488 без унікального контенту. Google витрачає весь crawl budget на порожні таби.
Структура дублів для 1 товару (7 URL)
✅ /ctandartnaya-invalidnaya-kolyacka-osd-modern
❌ /ctandartnaya.../harakteristiki
❌ /ctandartnaya.../otzyvy
❌ /ctandartnaya.../video
❌ /ctandartnaya.../magaziny
❌ /ctandartnaya.../oplata
❌ /ctandartnaya.../garantia
Вплив на SEO
Crawl budget + авторитет
Google витрачає crawl budget на 14,488 порожніх табів. Нові товари індексуються повільно. Таби без унікального контенту розбавляють авторитет домену.
Рішення: видалити таби з sitemap.xml + canonical на основну сторінку. Sitemap: 17,723 → ~3,285 URL. Розмір: 10.7MB → ~1MB.
| Тип дубля | Кількість | % від sitemap | Унікальний контент? | Рішення |
| /harakteristiki | 2,852 | 16% | ⚠️ Технічні характеристики | Canonical → основна |
| /otzyvy | 2,852 | 16% | ⚠️ Відгуки (якщо є) | Canonical → основна |
| /magaziny | 2,852 | 16% | ❌ Однакові для всіх | Noindex + canonical |
| /oplata | 2,853 | 16% | ❌ Однакові для всіх | Noindex + canonical |
| /garantia | 2,852 | 16% | ❌ Однакові для всіх | Noindex + canonical |
| /video | 227 | 1% | ⚠️ Відео (якщо є) | Canonical → основна |
| Реальних товарів | 3,235 | 18% | ✅ | Залишити ✅ |
🔐
Безпека — HTTP Headers (реальні заголовки)
0/6 HEADERS
✅ Плюс Baldinelli vs OSD: Cloudflare приховує PHP/nginx — зловмисник не бачить стек. Немає EOL OpenCart PHP, немає m.baldinelli.ua.php. Cloudflare дає базовий WAF і DDoS захист.
| Header / Параметр | Значення (реальний HTTP fetch) | Статус | Ризик |
| Server | cloudflare | ✅ CDN активний | — |
| SSL сертифікат | Google Trust Services · до 29.06.2026 | ⚠️ <3 міс залишилось | Поставити нагадування! |
| Strict-Transport-Security | ❌ Відсутній | ❌ Нема | MITM при першому HTTP запиті |
| Content-Security-Policy | ❌ Відсутній | ❌ Нема | XSS атаки |
| X-Frame-Options | ❌ Відсутній | ❌ Нема | Clickjacking — сайт в iframe |
| X-Content-Type-Options | ❌ Відсутній | ❌ Нема | MIME sniffing |
| Referrer-Policy | ❌ Відсутній | ❌ Нема | URL витікання з кошика/акаунту |
| Permissions-Policy | ❌ Відсутній | ❌ Нема | Сторонні скрипти мають доступ до camera/mic/geo |
| Cache-Control | no-store, no-cache, must-revalidate, post-check=0, pre-check=0 | ❌ КРИТИЧНО | cf-cache-status=DYNAMIC · Cloudflare Edge не кешує нічого |
| Content-Encoding | gzip | ⚠️ gzip (не Brotli) | Brotli на 20-30% ефективніший |
| PHPSESSID в Set-Cookie | PHPSESSID=j6cprhdkt1ouvei9r4goe51fv2 | ⚠️ PHP підтверджено | Cloudflare приховує версію, але PHP видно |
| /?author=1 | HTTP 200 OK | ⚠️ Відповідає | Може розкрити адміністраторські логіни |
КРИТИЧНО — Cache-Control: no-store вбиває Cloudflare Edge Cache
cf-cache-status: DYNAMIC — кожен запит іде на origin сервер
Cloudflare коштує гроші і є на сайті — але не кешує нічого через no-store, no-cache. При TTFB категорій 1875мс — це означає що кожен відвідувач чекає цей час. З Edge Cache це могло б бути 50-100мс.
Cloudflare Page Rules / Cache Rules: для HTML сторінок → Cache Level: Standard, Edge TTL: 1 година. Для статики (CSS/JS/img) → 30 днів. Прибрати no-store для публічних сторінок.
Cloudflare Security Headers → Rules → Transform Rules → Modify Response Headers:
+ Strict-Transport-Security: max-age=31536000; includeSubDomains
+ X-Frame-Options: SAMEORIGIN
+ X-Content-Type-Options: nosniff
+ Referrer-Policy: strict-origin-when-cross-origin
Час: 30 хвилин. Без доступу до сервера.
⚡
Performance — PageSpeed Insights Lab · Lighthouse
Mobile 43 · Desktop 51
TTFB через Cloudflare: 114мс (лабораторно) — відмінно! Але реальний CrUX TTFB Mobile: 2.2с — в 19 разів гірше. Причина: рендеринг OpenCart на сервері при завантаженні категорій (1875мс) + мобільна мережа. Lab LCP m.baldinelli.ua: 26.6 секунд через окрему мобільну версію!
43
Perf Mobile (PSI)
Lighthouse lab
51
Perf Desktop (PSI)
Lighthouse lab
470мс
TBT Mobile
норма <200мс
540мс
TBT Desktop
норма <200мс
596KB
HTML Page Size
норма 250-300KB
24
JS Files
jQuery 2.1.1 (2014!)
| Метрика Lighthouse Lab | Mobile (m.baldinelli.ua) | Desktop (baldinelli.ua) | Норма |
| Performance Score | 43/100 | 51/100 | 90+ |
| First Contentful Paint | 12.2s | 0.4s | < 1.8s |
| Largest Contentful Paint | 26.6s (!) | 2.7s | < 2.5s |
| Total Blocking Time | 470ms | 540ms | < 200ms |
| Cumulative Layout Shift | 0.002 (lab) | 0.154 | < 0.1 |
| Speed Index | 13.7s | 2.4s | < 3.4s |
| Accessibility Score | 67/100 | 67/100 | 90+ |
| SEO Score | 92/100 | 92/100 | ✅ |
КРИТИЧНО — m.baldinelli.ua Lab LCP 26.6 секунд
Окрема мобільна версія = Google mobile-first катастрофа
В HTML є тег: <link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.baldinelli.ua/">. Google mobile-first indexing (з 2019) бачить m.baldinelli.ua як основну. m. робить 301 → baldinelli.ua = замкнене коло. Lighthouse тестує m. і отримує Lab LCP 26.6с.
Видалити тег з header.tpl. Зробити responsive або знести m. підомен. Це P0 — виправляється за 30 хвилин.
TBT 470-540мс — jQuery 2.1.1 · 19 третьосторонніх хостів
19 external хостів блокують main thread
Hotjar + Plerdy (2 heatmap інструменти!), Ringostat, MGID, SendPulse, Facebook Pixel, GTM, GA4 — всі синхронно. jQuery 2.1.1 (2014) з layout thrashing багами. 24 JS файли. TBT 470мс → INP провалений.
Залишити один heatmap (Hotjar OR Plerdy). MGID/SendPulse — defer. Всі через GTM з lazy load. jQuery 2.1.1 → 3.7.1.
🏷️
SEO / Meta теги — пряма перевірка F12
ЗМІШАНО: ДОБРЕ І ПОГАНЕ
✅ На відміну від osd.ua: hreflang правильний (ru-ua + uk-ua + x-default), OG теги всі три є, canonical на кожній перевіреній сторінці. SEO-тексти і FAQ на категоріях — конкурентна перевага.
| Елемент | Головна | Категорія | Товарна | Ціль |
| Title | ❌ 135 сим | ⚠️ 87 сим | ❌ 138 сим | ≤55 сим |
| Meta desc | ❌ 217 сим | ⚠️ 199 сим | ❌ 271 сим | ≤155 сим |
| H1 | ⚠️ Є (слабкий) | ✅ Є | ✅ Є | 1 з ключовим словом |
| H2 кількість | ❌ Лише 2! | ✅ 5 штук (FAQ, опис, види) | ✅ Є | 5+ з ключами |
| OG теги | ✅ Всі 3 | ✅ | ✅ | — |
| OG Image | ❌ SVG! | ❌ SVG | ❌ SVG | JPG 1200×630 |
| hreflang | ✅ ru-ua+uk-ua+x-def | ✅ | ✅ | — ✅ вже правильно |
| Canonical | ✅ | ✅ | ✅ | — ✅ |
| lang атрибут | ⚠️ lang="ru" | ⚠️ lang="ru" | ⚠️ lang="ru" | lang="uk" (2026!) |
| Semantic HTML | ❌ 0/7 тегів | ❌ 0/7 | ❌ 0/7 | header/main/nav/footer |
Title товарних: 138 символів з артикулом
Google обрізає після 60 символів і генерує свій варіант
❌ Зараз: «Стандартная инвалидная коляска Modern OSD-MOD-ST-**-BK купить в Киеве: отзывы, цены в Украине (Харьков, Одесса, Днепр, Львов) | Baldinelli» (138 сим)
✅ Має бути: «Стандартна інвалідна коляска Modern OSD — купити | Baldinelli» (59 сим)
lang="ru" у 2026 на .ua домені
Google Ukraine пріоритизує UA контент — конкурентний недолік
Основна мова сайту lang="ru". hreflang правильний — половина роботи зроблена. Поступовий перехід на Ukrainian як основну мову не вплине різко на позиції, але дасть перевагу у видачі Google UA з часом.
Починати з пріоритетних категорій (інвалідні візки, медичні ліжка). x-default вже є — це полегшує перехід.
🕷️
Краулінг — robots.txt · sitemap.xml · індексація
КРИТИЧНІ ЗНАХІДКИ
КРИТИЧНО — Disallow: /*-ua/ може закривати UA версію!
Robots.txt реальний вміст (прямий fetch 16.04.2026)
User-Agent: *
Disallow: /admin
Disallow: /search*
Disallow: /*-ua/ ← ⚠️ UA версія потенційно закрита!
Disallow: /ortopediya-ua/
Disallow: /ru/ ← (RU закрита — логічно ✅)
Disallow: /*?*
Disallow: /*&*
Allow: /catalog/view/theme/baldinelli/*
Allow: /image/
User-Agent: Googlebot
Disallow: /*-ua/ ← і для Googlebot теж!
GPTBot — ВІДСУТНІЙ ❌
Claude-Web — ВІДСУТНІЙ ❌
PerplexityBot — ВІДСУТНІЙ ❌
llms.txt — 404 ❌
P0: GSC → URL Inspection для /ua/ категорій. Якщо закриті — прибрати /*-ua/ або уточнити маску. Додати GPTBot, Claude-Web, PerplexityBot з Allow: /
Sitemap.xml — 10.7MB · 17,723 URL (Python scraper)
82% URL — дублі-таби без SEO-цінності
Загальна кількість URL: 17,723
Розмір файлу: 10,777 KB (10.7MB!)
Реальних товарів: 3,235 (18%)
/harakteristiki: 2,852 (16%) ❌
/otzyvy: 2,852 (16%) ❌
/magaziny: 2,852 (16%) ❌
/oplata: 2,853 (16%) ❌
/garantia: 2,852 (16%) ❌
/video: 227 (1%) ❌
UA версія: 0 (0%) ❌
lastmod: 2026-04-15 (всі однакові — авто)
UA = 0 URL у sitemap · hreflang є але sitemap не допомагає
hreflang вказує на /ua/ але sitemap не підтверджує
hreflang правильно вказує на uk-ua версію, але жодного /ua/ URL в sitemap.xml. Google дізнається про UA версію тільки через hreflang посилання — без sitemap підтвердження індексація повільніша і менш надійна.
Додати sitemap-ua.xml зі всіма /ua/ URL. Включити в sitemap_index.xml. Або розширити основний sitemap. Плюс прибрати Disallow: /*-ua/.
🗂️
Schema.org — перевірка прямо через F12 · JSON-LD парсинг
72/100 · СИЛЬНА ОСНОВА
✅ Сильна сторона Baldinelli (підтверджено F12): Product + BreadcrumbList (4 рівні) + AggregateRating (ratingValue:5, reviewCount:12) + 12 Review + LocalBusiness ×14 магазинів у 5 містах. На відміну від baldinelli.ua — тут Schema реально налаштована!
| Тип Schema | Статус (F12) | Де є | Деталі / Проблеми |
| Product | ✅ Повна | Товарні | name, sku (OSD-MOD-ST-**-BK), mpn, brand (OSD), price 9999 UAH, InStock, 8 images, description 3525 символів |
| AggregateRating | ✅ Є! (F12 підтверджено) | Товарні | ratingValue: 5, reviewCount: 12, bestRating: 5, worstRating: 4 → зірочки в SERP вже є! |
| Review | ✅ 12 відгуків | Товарні | Окремі Review з авторами і датами |
| BreadcrumbList | ✅ 4 рівні | Товарні | Головна → Реабілітація → Інвалідні коляски → Товар |
| LocalBusiness | ✅ ×14 магазинів | Головна | ⚠️ lat/lng переплутані! (30.42=довгота, 50.45=широта) → Google Maps Саудівська Аравія! |
| WebSite + SearchAction | ✅ | Головна | Пошук по сайту через SearchAction |
| BreadcrumbList на категоріях | ❌ Нема | — | На категоріях є тільки Products array. BreadcrumbList відсутня. |
| FAQPage | ❌ Нема | — | H2 з FAQ вже є на категоріях! Потрібна тільки JSON-LD обгортка → People Also Ask |
| Organization | ⚠️ Через LocalBusiness | Головна | Потрібна окрема Organization з contactPoint, sameAs (соцмережі) |
| MedicalDevice | ❌ Нема | — | YMYL ніша — підвищує E-E-A-T. Медичне обладнання = специфічний Schema тип |
КРИТИЧНО — LocalBusiness координати переплутані (lat/lng swap)
Всі 14 магазинів показують неправильне місце на Google Maps
❌ В Schema: "latitude": 30.423694, "longitude": 50.458699
(30.42 — це ДОВГОТА Києва, 50.45 — ШИРОТА)
✅ Має бути: "latitude": "50.458699", "longitude": "30.423694"
Час виправлення: 30 хвилин у всіх 14 блоках LocalBusiness.
FAQPage Schema — H2 FAQ є, JSON-LD відсутній
Категорія /invalidnie-kolyacki: 5 H2 з FAQ — залишилось додати Schema
На категорії вже є: «Часті питання», «Критерії вибору», «Відгуки», «Купити в Baldinelli», «Види колясок». Це ідеальна база для FAQPage Schema → People Also Ask в SERP → додаткові 2-3 рядки у видачі.
Додати JSON-LD: {"@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Яку інвалідну коляску обрати?","acceptedAnswer":{"@type":"Answer","text":"..."}}]}
🤖
AI Readiness 2026 — готовність до AI-пошуку
5/100
В 2026 15-20% пошукових запитів обробляються AI (Google AI Overviews, ChatGPT Search, Perplexity). «Де купити інвалідний візок у Харкові?» → AI рекомендує конкурента, якщо Baldinelli не підготовлений. Три рядки в robots.txt і один файл вирішують базову AI-видимість.
llms.txt — 404
AI-агенти не знають хто такий Baldinelli
# Створити: https://baldinelli.ua/llms.txt
# Baldinelli — мережа магазинів медтехніки в Україні
## Компанія
Baldinelli — мережа магазинів медичного обладнання
з 1860 року. 14+ магазинів у 5 містах України:
Київ, Харків, Дніпро, Одеса, Запоріжжя.
## Асортимент
Інвалідні візки, медичні ліжка, кисневі концентратори,
ходунки, ортопедія, реабілітаційне обладнання.
~3,200 товарів. Doставка по Україні.
## Контакт
baldinelli.ua · (044) 338-05-58
robots.txt — AI-боти відсутні · 10 хвилин виправлення
Додати 3 рядки в robots.txt
User-agent: GPTBot
Allow: /
User-agent: Claude-Web
Allow: /
User-agent: anthropic-ai
Allow: /
User-agent: PerplexityBot
Allow: /
Ефект: ChatGPT і Claude починають включати Baldinelli в рекомендації по запитах медтехніки. Безкоштовно і швидко.
E-E-A-T для YMYL — медична тематика
12 статей · нема авторів · нема медичного дисклеймера
Медтехніка = YMYL (Your Money or Your Life). Google особливо вимогливий до E-E-A-T в цій ніші. 12 статей — мало (конкурент med-magazin.ua має 200+). Нема авторів-експертів на статтях, нема медичних дисклеймерів, нема сторінки "Про нас" з досвідом компанії (162 роки!).
1) Додати автора до кожної статті (ім'я + посада + фото). 2) Медичний дисклеймер на товарних. 3) Розширити "Про нас" — 162 роки Baldinelli це потужний E-E-A-T сигнал.
♿
Доступність WCAG 2.2 — PSI Lighthouse + DevTools F12
67/100 · 15 FAILED
Baldinelli продає товари для людей з інвалідністю та хронічними захворюваннями — і сайт недоступний для цієї ж аудиторії. PSI Accessibility: 67/100 (15 failed audits в Lighthouse).
| Критерій | Результат (F12 + PSI) | Деталі |
| Images alt text | ❌ Масово відсутні | Головна: 67/248 без alt · Категорія: 26/239 · Товарна: 48/301 |
| Semantic HTML | ❌ 0/7 тегів | header=0, main=0, nav=0, footer=0, article=0, section=0 на всіх типах сторінок |
| Form labels | ❌ 6 inputs без label | 19 inputs / 13 labels — пошук, фільтри, підписка без підпису |
| lang атрибут | ⚠️ lang="ru" | Є, але основна мова для .ua сайту спірна у 2026 |
| Touch targets | ⚠️ Перевірити | Мобільний аудит — мінімум 44px |
| Color contrast | ⚠️ Перевірити | Потрібна ручна перевірка — мінімум 4.5:1 |
| CLS 0.35 (CrUX mobile) | ❌ Контент зсувається | Buttons зсуваються при завантаженні → користувачі натискають мимо |
| DOCTYPE HTML5 | ✅ | HTML5 DOCTYPE ✅ (на відміну від osd.ua де XHTML Transitional — quirks mode) |
| OG Image SVG | ❌ Screen readers | SVG без title/desc — assistive technology не розуміє |
| Keyboard navigation | ⚠️ Перевірити | Skip link відсутній, focus indicators треба перевірити |
🖥️
UX / Юзабіліті — конверсія і зручність
ПРОБІЛИ В КОНВЕРСІЇ
Головна сторінка
H2 лише 2 · H1 слабкий · нема trust-блоків
H1: «Интернет-магазин медтехники Baldinelli в Украине» — без УТП, без цифр. H2 всього 2 штуки. Немає секції «Чому Baldinelli?» з 162 роками досвіду, 14 магазинами. Немає trust-блоків (відгуки, сертифікати, лічильники).
Додати H2-секцію «Переваги Baldinelli» + лічильники. Це також допоможе E-E-A-T для YMYL ніші.
Товарна сторінка
Нема «Схожих товарів» · URL з параметром · 2 heatmap
Нема блоків «Схожі товари» і «З цим купують» — знижує середній чек. URL редіректить на ?wheelchair-width=45 — параметризований URL в аналітиці. 2 heatmap інструменти (Hotjar + Plerdy) — дублювання і зайвий JS.
Пошук по сайту
multisearch.io — зовнішній сервіс
DevTools підтвердив: plugin.multisearch.io завантажується. Пошукові запити користувачів ідуть на зовнішній сервер — privacy ризик і залежність.
CLS 0.35 · Total Load 9-15с
53% мобільних йдуть якщо сторінка >3с
CLS 0.35 — контент "стрибає" при завантаженні. На мобільних натискають мимо кнопки. Total Load 9-15с → критична втрата конверсії на мобільних.
| UX елемент | Стан | Рекомендація |
| Trust-сигнали (роки, клієнти) | ❌ Відсутні на головній | 162 роки Baldinelli + 14 магазинів + N клієнтів на головній |
| Пов'язані товари | ❌ Відсутні | «Схожі товари» і «З цим купують» → середній чек ×1.3 |
| CTA на категоріях | ⚠️ Слабкий | Sticky кнопка «Підібрати за параметрами» / «Консультація» |
| Breadcrumb навігація | ✅ Є + Schema ✅ | — |
| Пагінація SEO | ⚠️ Без rel=next/prev | Додати розмітку пагінації для категорій |
| Два heatmap інструменти | ⚠️ Hotjar + Plerdy | Залишити один — зменшить навантаження JS і TBT |
📊
Core Web Vitals — CrUX реальні дані, 28 днів
ВСІ 5 МЕТРИК MOBILE FAILED
CrUX Field Data — реальні Chrome користувачі (P75 · 28 днів · 16.04.2026)
4.6с
LCP Mobile
норма ≤2.5с ❌
229мс
INP Mobile
норма ≤200мс ❌
0.35
CLS Mobile
норма ≤0.1 ❌ (×3.5!)
3.1с
FCP Mobile
норма ≤1.8с ❌
2.2с
TTFB Mobile
lab: 114мс ❌ (реальний)
CrUX Desktop — частково краще:
2.1с
LCP Desktop
≤2.5с · ⚠️ близько
0.30
CLS Desktop
≤0.1 ❌ теж провал
| Метрика | Mobile CrUX | Desktop CrUX | Lab Mobile | Lab Desktop | Норма | Статус |
| LCP | 4.6s | 2.1s | 26.6s (m.) | 2.7s | < 2.5s | FAIL |
| INP | 229ms | 63ms | 470ms TBT | 540ms TBT | < 200ms | FAIL mob |
| CLS | 0.35 | 0.30 | 0.002 | 0.154 | < 0.1 | FAIL обидва |
| FCP | 3.1s | 1.5s | 12.2s | 0.4s | < 1.8s | FAIL mob |
| TTFB | 2.2s | 0.6s | 114мс | ~200ms | < 0.8s | FAIL mob |
⚠️ Парадокс TTFB: Lab TTFB = 114мс (Cloudflare CDN ✅) але CrUX TTFB Mobile = 2.2с. Різниця: lab тестує з дата-центру на швидкому з'єднанні, CrUX — реальні мобільні на 3G/4G де OpenCart рендерить категорії 1875мс server-side. CLS 0.35 в 3.5× перевищує ліміт — слайдери і банери без зарезервованого місця.
🔑
Семантика — кластерний аналіз ніші (з /sitemap)
12 СТАТЕЙ VS 200+ У ЛІДЕРА
19,479
Organic Traffic
Semrush /міс
4
Топ-категорії
Реаб·Медтех·Краса·Ортопедія
85
Унікальних шляхів
з /sitemap аналізу
baldinelli.ua/ (структура з /sitemap · 454 посилання)
├── reabilitaciya/ (інвалідні коляски, ліжка, ходунки, матраци, підйомники...)
├── domashnyaya-medtexnika/ (пульсоксиметри, тонометри, небулайзери...)
├── kracota-i-zdorov-e/ (масажери, ортопедичні подушки...)
├── ortopediya/ (корсети, бандажі, ортопедія)
├── articles/ ← 12 статей (МАЛО! конкурент: 200+)
├── blog → 404 ❌ (битий URL!)
├── news/ (є контент)
├── for-business/ · for-medical-institutions/ · our-partners/
├── about-us/ · reviews/ · contact/
└── shops/ (14 магазинів) ← LocalBusiness Schema вже є!
| Тип контенту | Стан Baldinelli | Конкурент med-magazin.ua | Потенціал трафіку |
| SEO-тексти на категоріях | ✅ Є (H2, FAQ, опис) | ✅ Є + більше | Вже працює! |
| Гайди "як вибрати" | ❌ Відсутні | ✅ 50+ статей | +3,000-5,000/міс |
| Порівняння товарів | ❌ Відсутні | ✅ Є | +1,000-2,000/міс |
| Геолендінги (5 міст) | ⚠️ /shops/ є але без SEO-тексту | ❌ Немає мережі | +2,000-4,000/міс (унікальна перевага!) |
| Блог / Новини | ❌ /blog 404 · 12 статей | ✅ 200+ статей | +5,000-10,000/міс |
| Відгуки клієнтів | ⚠️ /reviews є, без Schema | ✅ З AggRating | CTR +20% |
Унікальна перевага — мережа у 5 містах
Геолендінги = Baldinelli може отримати трафік який конкурент не може
Жоден конкурент не має мережі магазинів у 5 великих містах з підтвердженим LocalBusiness Schema. «Медтехніка Харків», «Медтехніка Дніпро», «Медтехніка Одеса» — низькоконкурентні запити з тисячами пошуків. LocalBusiness Schema вже є — залишилось контент на геолендінги.
📋
Сніпети в Google SERP — як виглядає зараз vs ціль
CTR МОЖНА ПОКРАЩИТИ
❌ Зараз — слабкий сніпет (головна)
135-символьний title обрізається · OG Image SVG
Baldinelli – интернет-магазин медтехники в Украине: ку...
baldinelli.ua
Сеть магазинов Baldinelli — купить медтехнику...(Google генерує сам)
❌ Title обрізається після 60 сим
❌ Description 217 сим — Google бере своє
❌ H2 на головній лише 2
✅ Як має виглядати
Чіткий title + оптимізований опис + УТП
Baldinelli — медтехніка в Україні | 14 магазинів
baldinelli.ua
3200+ товарів для реабілітації. Інвалідні візки, ліжка, ходунки. Київ, Харків, Дніпро, Одеса, Запоріжжя. З 1860 року.
✅ 47 символів — повністю відображається
✅ 152 символи desc — не обрізається
✅ 5 міст + бренд + 162 роки = УТП
Товарна — зірочки ВЖЕ є!
AggregateRating підтверджена F12 → зірочки в SERP
Стандартна інвалідна коляска Modern OSD — Baldinelli
baldinelli.ua
★★★★★ 5.0 (12 відгуків) · Ціна: 9 999 грн
✅ AggRating вже є в Schema!
⚠️ Але title 138 сим — обрізається
→ Скоротити title = більше видно
FAQ People Also Ask — H2 є, Schema відсутня
Потрібна тільки JSON-LD обгортка
Питання: «Як обрати інвалідний візок?»
baldinelli.ua › reabilitaciya › invalidnie-kolyacki
Критерії: ширина сидіння, тип коліс, вага коляски...
H2 «Критерії вибору» вже є!
→ Додати FAQPage Schema = People Also Ask
🏆
Конкуренти — Semrush Organic Traffic API · 16.04.2026
РЕАЛЬНІ ДАНІ
| Сайт | AS (Semrush) | Organic Traffic/міс | ×більше від Baldinelli | Ключова перевага |
| med-magazin.ua 🥇 | 42 | 89,175 | ×4.6 | 200+ SEO статей · гайди · AggRating · контент-хаби |
| ortop.ua 🥈 | 35 | 44,041 | ×2.3 | Порівняння · прокат · гайди по вибору |
| baldinelli.ua (ВИ) 🥉 | 33 | 19,479 | — | LocalBusiness×14 · AggRating ✅ · Cloudflare CDN · hreflang |
| osd.ua | 30 | 10,819 | ×0.56 (слабший) | Офіційний виробник OSD · B2B |
| formed.ua | ~25 | 1,237 | ×0.06 (набагато слабший) | — |
📊 Ключовий висновок: Baldinelli AS=33 vs лідер AS=42 — різниця 9 пунктів. Але трафік у 4.6× менший. Це підтверджує: проблема не в беклінках — виключно в технічних гальмах і відсутності контент-стратегії. При тому що Schema, LocalBusiness і hreflang у Baldinelli кращі ніж у osd.ua, трафік вищий в 1.8×. Технічна оптимізація + блог = реалістично 35-45K за 6 місяців.
Що робить med-magazin.ua для ×4.6 трафіку
200+ статей + гайди по вибору + порівняння = інформаційний трафік
Лідер має контент-хаби: «Як вибрати інвалідний візок», «Кращі тонометри 2026», «Протипролежневий матрац для лежачого хворого». Кожна стаття = 100-500 відвідувачів/міс. 200 статей × 200 серед = 40,000 — це і є різниця в трафіку. Baldinelli має базу (SEO-тексти на категоріях) — потрібно масштабувати на блог.
🔗
Беклінки — Semrush Backlink Analytics · 16.04.2026
AS 33 · 821 RD
33
Semrush AS
Authority Score
821
Ref. Domains
429 subnets
1.9K
Backlinks
73% dofollow
19,479
Organic Traffic
/міс · Semrush
74.6K
Monthly Visits
органіка+прямий+реф
40% донорів AS 0-10
Профіль потребує аудиту якості
AS 70+: ~5 доменів (<1%)
AS 41-70: ~100 доменів (12%)
AS 21-40: ~200 доменів (24%)
AS 11-20: ~200 доменів (24%)
AS 0-10: ~330 доменів (40%) 🔴
70% донорів = AS <20
Тільки 5 доменів з AS 70+
Нідерланди 13% — аномалія для UA бізнесу
🇺🇦 Україна: 75% · ~198 RD — норма
🇳🇱 Нідерланди: 13% · ~66 RD — підозріло!
🇩🇪 Німеччина: 5% · ~93 RD
🇷🇺 РФ: 6% · ~38 RD — перевірити
🇺🇸 США: 4% · ~30 RD
🇪🇪 Естонія: 4% · ~28 RD — перевірити
Baldinelli vs baldinelli.ua — беклінковий профіль
Більше RD але менше трафіку — підтверджує: проблема не в посиланнях
Baldinelli: 821 RD · AS=33. OSD.ua (конкурент): 639 RD · AS=30. При кращому посилальному профілі трафік лише в 1.8× більший — хоча різниця AS всього 3 пункти. Це чіткий сигнал: пляшкове горло = технічні проблеми + контент, а не беклінки.
Перед новими беклінками: 1) Semrush Backlink Audit — аудит токсичних (NL 13%, RU 6%, EE 4%). 2) Disavow через Google Search Console. 3) Нові лінки — медичні портали, реабцентри, лікарняні сайти Ukraine.
📱
Mobile — окрема мобільна версія m.baldinelli.ua
КРИТИЧНО · LAB LCP 26.6с
🚨 Сайт використовує підхід 2012-2015 рр: окремий підомен m.baldinelli.ua для мобільних. Google mobile-first indexing (з 2019) бачить m.baldinelli.ua як ОСНОВНУ версію. Lighthouse тестує саме її — Lab LCP 26.6 секунд і FCP 12.2с. Це не бюджетна проблема — це архітектурна проблема яка вирішується за 30 хвилин.
Знайдено в HTML головної (DevTools F12)
Тег який говорить Google "мобільна версія — ось тут"
<link rel="alternate"
media="only screen and (max-width: 640px)"
href="https://m.baldinelli.ua/">
При зверненні: m.baldinelli.ua → 301 redirect → baldinelli.ua
(замкнене коло для Googlebot!)
Виправлення: Видалити цей рядок з header.tpl (або де він є в шаблоні OpenCart).
Опціонально: зробити 301 redirect з m.baldinelli.ua на baldinelli.ua якщо є прямі посилання.
Час: 30 хвилин. Ефект: Google mobile-first переключиться на основний сайт з LCP 2.7с замість 26.6с.
CLS 0.35 на мобільних (CrUX реальний)
Контент зсувається при завантаженні
CLS 0.35 — в 3.5× перевищує ліміт 0.1. Слайдери і банери без зарезервованого місця. При CLS 0.35 на мобільних — клієнти натискають не на ту кнопку і йдуть.
width і height для всіх img. Резервувати місце для слайдерів. Уникати dynamic injection вище fold.
Мобільна оптимізація: що вже добре
Responsive після видалення m. тегу буде в нормі
Основний сайт baldinelli.ua adaptive (перевірено). Cloudflare CDN дає хороший TTFB навіть на мобільних (114мс lab). Після видалення тегу m. — Google mobile-first буде тестувати основний адаптивний сайт.
📝
Контент — блог, статті, SEO-тексти
12 СТАТЕЙ vs 200+ У ЛІДЕРА
12 статей на весь магазин з 3200+ товарами. Для YMYL тематики (медтехніка) Google чекає авторитетного контенту. Конкурент med-magazin.ua має 200+ статей — це і є причина їх 89K трафіку. Але Baldinelli має унікальну перевагу яку конкурент не може скопіювати: 14 магазинів у 5 містах = геолендінги!
12 статей · /blog → 404
Інформаційний трафік = 0
«Як вибрати інвалідний візок», «Кисневий концентратор для дому», «Протипролежневий матрац» — тисячі пошуків. SEO-тексти на категоріях вже є (H2, FAQ, описи) — це добра база. Але блог/статті відсутні. /blog повертає 404.
Виправити /blog → 404. Запустити блог з 10 стартових статей по пріоритетних категоріях. Кожна стаття = 100-500 відвідувачів/міс + E-E-A-T.
lang=ru · двомовність · перехід на UA
Google Ukraine пріоритизує UA контент у 2026
lang="ru" як основна мова на .ua домені — конкурентний недолік. hreflang правильний (x-default вже є) — половина роботи зроблена. Поступовий перехід на UA не вплине різко на позиції. Статті тільки UA — для RU аудиторії контенту нема.
Унікальна перевага — мережа у 5 містах
Геолендінги: «Медтехніка Харків», «Медтехніка Дніпро» тощо
LocalBusiness Schema вже є для кожного магазину. Запити «медтехніка [місто]» — тисячі пошуків/міс. Жоден конкурент не має такої мережі. Потрібно: 1 landing page на місто з адресою, годинами, фото, відгуками клієнтів саме цього магазину. Плюс Google Business Profile оптимізація × 14 магазинів.
🗺️
Roadmap — пріоритизований план · P0→P3
18 ПУНКТІВ
P0 (тиждень 1): усуваємо критичні ризики що втрачають трафік і лідів прямо зараз. P1 (тижні 2-3): технічні покращення з вимірюваним ефектом на трафік. P2 (місяць 2): контент і Schema. P3 (місяці 3+): авторитет і масштаб.
| # | Завдання | Пріор. | Вплив | Складність |
| 1 | Видалити <link media="handheld"> → m.baldinelli.ua LCP 26.6с → 4-6с · Google mobile-first покращення | P0 | Критичний | 30 хв |
| 2 | LocalBusiness lat/lng swap → виправити всі 14 магазинів Google Maps: Саудівська Аравія → Київ/Харків/Дніпро/Одеса/Запоріжжя | P0 | Критичний | 30 хв |
| 3 | OG Image: SVG → JPG 1200×630 Facebook/Telegram/Viber/LinkedIn: порожня картинка → нормальне превью | P0 | Соцмережі CTR | 2 год |
| 4 | Cache-Control: no-store → public max-age=3600 Cloudflare Edge Cache активується · TTFB категорій 1875мс → 50-100мс | P0 | Performance | 1 день |
| 5 | Security Headers через Cloudflare Rules (6 headers) HSTS + X-Frame + X-Content + CSP + Referrer + Permissions | P0 | Безпека E-E-A-T | 30 хв |
| 6 | llms.txt + GPTBot/ClaudeBot/PerplexityBot в robots.txt | P0 | AI visibility 2026 | 10 хв |
| 7 | Перевірити Disallow: /*-ua/ у GSC URL Inspection Якщо UA версія закрита → прибрати маску | P0 | UA індексація | 30 хв |
| 8 | Title: 135-138 → ≤55 символів (головна + товарні) | P1 | CTR +15-20% | 1 день |
| 9 | Sitemap: 17,723 → 3,235 (видалити 6 типів табів) Розбити на sitemap-products/categories/pages.xml | P1 | Crawl budget ×3 | Середня |
| 10 | Додати UA URLs в sitemap | P1 | UA індексація | Середня |
| 11 | lazy loading: 0/248-301 → всі img нижче fold | P1 | LCP · Total Load | 1 день |
| 12 | Alt теги: 67+26+48 зображень | P1 | SEO + A11y | 1 день |
| 13 | FAQPage Schema (H2 FAQ вже є!) Додати JSON-LD обгортку → People Also Ask в SERP | P1 | SERP розширення | Низька |
| 14 | jQuery 2.1.1 → 3.7.1 · TBT 470мс → <200мс | P1 | INP Performance | Середня |
| 15 | CLS 0.35: width/height для всіх img · резервування місця | P2 | CWV fix | Середня |
| 16 | Блог: виправити /blog 404 · 10-15 статей | P2 | Трафік ×1.5 | Середня |
| 17 | Геолендінги для 5 міст (LocalBusiness вже є!) | P2 | Local SEO ×2 | Середня |
| 18 | Disavow токсичних + лінкбілдинг медичні портали | P3 | AS зростання | Середня |
Before / After — прогноз 6 місяців
| WCS Score | 35/100 → 75+/100 |
| PageSpeed Mobile | 43 → 75+ |
| CWV Assessment | FAILED → PASSED |
| Google Maps точність | Саудівська Аравія → Правильно ✅ |
| Security Headers | 0/6 → 6/6 |
| Sitemap URLs | 17,723 → ~3,500 |
| Organic Traffic | 19,479 → 35-45K |
| AI Readiness | 5/100 → 70+/100 |
👨💻
Dev Guide — конкретні завдання для розробника
ЩО РОБИТИ · ЯК · ДЕ
🔴 P0 · День 1 — Без доступу до сервера (Cloudflare + HTML)
| Завдання | Де | Конкретна зміна |
| Видалити тег мобільної версії | header.tpl OpenCart | Знайти і видалити: <link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.baldinelli.ua/"> |
| OG Image SVG → JPG | OpenCart SEO налаштування | Замінити logo_mob_ru.svg на og-image.jpg (1200×630, до 300KB) |
| llms.txt | Корінь /llms.txt | Новий файл — шаблон в секції AI Readiness |
| robots.txt: AI-боти | /robots.txt | Додати блоки GPTBot, Claude-Web, anthropic-ai, PerplexityBot з Allow: / |
🟠 P0 · Cloudflare Dashboard (без доступу до сервера!)
| Завдання | Де в Cloudflare | Значення |
| HSTS | SSL/TLS → Edge Certificates → HSTS | Enable, max-age=31536000, includeSubDomains |
| Security Headers | Rules → Transform Rules → Modify Response Headers | Add: X-Frame-Options: SAMEORIGIN · X-Content-Type-Options: nosniff · Referrer-Policy: strict-origin-when-cross-origin |
| Cache Rules | Rules → Cache Rules | Для HTML: Cache Level Standard, Edge TTL 1h. Для CSS/JS/img: 30 днів. Видалити no-store |
| Brotli | Speed → Optimization → Brotli | Enable (зараз gzip) |
🟡 P1 · OpenCart PHP (потрібен доступ до шаблонів)
| Завдання | Вплив | Опис змін |
| LocalBusiness lat/lng swap | Google Maps! | У всіх 14 LocalBusiness JSON-LD: поміняти місцями latitude і longitude. Зараз: lat=30.42, lng=50.45 → навпаки. |
| lazy loading img | LCP · Performance | У шаблонах product.tpl і category.tpl: loading="lazy" для всіх img нижче fold. Першим 2-3: fetchpriority="high". |
| FAQPage Schema на категоріях | People Also Ask | H2 FAQ вже є! Додати JSON-LD: {"@type":"FAQPage","mainEntity":[{"@type":"Question",...}]} |
| Sitemap генератор | Crawl budget | Виключити з sitemap.xml URL типу /*/harakteristiki, /*/otzyvy, /*/video, /*/magaziny, /*/oplata, /*/garantia. |
| Alt теги | SEO + A11y | product.tpl: alt="{product_name}". Категорії: alt="{category} {brand}". |
| Semantic HTML | SEO сигнали | header.tpl → <nav>, content.tpl → <main>, footer.tpl → <footer>. Без впливу на дизайн. |
| jQuery 2.1.1 → 3.7.1 | TBT/INP | Замінити підключення. Перевірити сумісність плагінів. TBT: 470мс → <200мс. |
| Title шаблон | CTR +15% | SEO шаблон title в OpenCart: видалити артикул і список міст → [назва] — купити в Baldinelli | [категорія]. |
| width/height для img | CLS 0.35 | Всі img мають мати явні width і height атрибути → CLS 0.35 → <0.1. |
🏆
WCL 272-Framework — наш внутрішній audit-стандарт
РЕАЛЬНИЙ · ZERO EXCLUSIONS
ℹ️ Це не вигаданий чек-лист. Це наш внутрішній audit pack що крутиться на webcorelab.com: site_level.sh + smoke_all.py + page_level.py. Ми проходимо ним власний сайт щомісяця (остання зйомка 22.04.2026 · WCS 98/100). Та сама методика застосовується до сайту клієнта — з тими самими назвами чеків і тим самим форматом proofs. Нижче — РЕАЛЬНИЙ перелік з останнього прогону по webcorelab.com як зразок того, що отримаєте ви.
Структура 272-framework
3 шари перевірок
Шар 1 · Site-level infra — 50 ключових параметрів (SSL/TLS, 8 security headers, 11 sensitive files, WP hardening, robots/sitemap, TTFB×3, DNS/SPF/DMARC, well-known)
Шар 2 · Per-URL smoke — 7 перевірок × усі URL зі sitemap (на webcorelab: 253 URL × 7 = 1771 окремих probes)
Шар 3 · Deep archetype — 40 вимірів × 15 типів сторінок (600 deep probes)
Бонус · Applied fixes log (18) + Ops/Observability (8) + Zero-exclusion cleanup (4) + WCS score breakdown (6 categories)
Baseline на webcorelab.com (22.04.2026)
Що ми показуємо коли приходимо до клієнта
WCS 98/100 · A+
URLs 200 OK: 253/253
HTML pages без H1/schema/canonical: 0/0/0
TTFB avg: 138ms
Security headers: 8/8
Sensitive файлів у відкритому доступі: 0/11
DMARC: p=quarantine pct=25
CSP / HSTS / XFO / XCTO / XSS / Referrer / Permissions / X-Robots — ✓
Ми не радимо те чого у нас самих немає.
🧱
Шар 1 · Site-Level Infrastructure — 50 параметрів
site_level.sh / site_level.json
ℹ️ Реальний JSON-дамп з 22.04.2026. Кожен рядок — ключ з site_level.json з реального прогону. У sample колонка "Значення" — наше (webcorelab.com). На адаптації під ваш сайт: зберемо той самий JSON з вашого домену, покажемо рядки де є delta від benchmark.
| # | JSON-ключ | Перевірка | Значення (webcorelab.com) | Статус |
| 1 | ssl_http2 | HTTP/2 negotiation | HTTP/2 200 | PASS |
| 2 | ssl_cert_expires | SSL cert expiry | Jul 1 2026 | PASS |
| 3 | ssl_cert_issuer | SSL issuer | Google Trust Services · WE1 | PASS |
| 4 | ssl_protocol | TLS protocol negotiated | TLSv1.3 | PASS |
| 5 | ssl_cipher | Cipher suite | TLS_AES_256_GCM_SHA384 | PASS |
| 6 | hdr_strict-transport-security | HSTS | max-age=31536000; includeSubDomains | PASS |
| 7 | hdr_x-frame-options | X-Frame-Options | SAMEORIGIN | PASS |
| 8 | hdr_x-content-type-options | X-Content-Type-Options | nosniff | PASS |
| 9 | hdr_x-xss-protection | X-XSS-Protection (legacy) | 1; mode=block | PASS |
| 10 | hdr_referrer-policy | Referrer-Policy | strict-origin-when-cross-origin | PASS |
| 11 | hdr_permissions-policy | Permissions-Policy | geolocation=(), camera=(), mic=()… | PASS |
| 12 | hdr_content-security-policy | CSP | default-src 'self'; script-src 'self'… | PASS |
| 13 | hdr_x-robots-tag | X-Robots-Tag (server-level) | index, follow | PASS |
| 14 | cookie_flags | Cookie Secure/HttpOnly/SameSite | (агрегований чек по Set-Cookie) | PASS |
| 15 | file_.env | Sensitive file /.env | HTTP 403 | PASS |
| 16 | file_.git/config | Sensitive file /.git/config | HTTP 403 | PASS |
| 17 | file_wp-config.php | Sensitive /wp-config.php | HTTP 403 | PASS |
| 18 | file_wp-config.php.bak | Backup /wp-config.php.bak | HTTP 403 | PASS |
| 19 | file_phpinfo.php | /phpinfo.php | HTTP 403 | PASS |
| 20 | file_.DS_Store | macOS metadata leak | HTTP 404 | PASS |
| 21 | file_debug.log | /debug.log | HTTP 404 | PASS |
| 22 | file_xmlrpc.php | WP /xmlrpc.php | HTTP 403 | PASS |
| 23 | file_readme.html | WP /readme.html | HTTP 403 | PASS |
| 24 | file_license.txt | WP /license.txt | HTTP 403 | PASS |
| 25 | file_wp-admin/install.php | WP installer | HTTP 404 | PASS |
| 26 | wp_version_in_head | WordPress версія у <head> | (clean) | PASS |
| 27 | wp_generator | Generator meta tag | (clean) | PASS |
| 28 | wp_rest_api_exposed | /wp-json/ access | HTTP 403 | PASS |
| 29 | wp_users_enum | ?author=1 author enumeration | HTTP 403 | PASS |
| 30 | robots_size | robots.txt size (bytes) | 1203 | PASS |
| 31 | robots_has_sitemap | Sitemap: directive у robots | 1 | PASS |
| 32 | robots_ai_bots | AI-bot rules (GPTBot, Claude, …) | 6 | PASS |
| 33 | sitemap_status | sitemap_index.xml HTTP status | 200 | PASS |
| 34 | sitemap_url_count | URL count у sitemap | 253 | PASS |
| 35 | sitemap_sub_count | Sub-sitemaps у індексі | 5 | PASS |
| 36 | ttfb_try1 | TTFB try 1 (curl -w) | 134ms | PASS |
| 37 | ttfb_try2 | TTFB try 2 | 138ms | PASS |
| 38 | ttfb_try3 | TTFB try 3 | 142ms | PASS |
| 39 | proxy_cache_status | X-Proxy-Cache response | HIT | PASS |
| 40 | dns_a | A-запис | 172.67.205.26 (Cloudflare) | PASS |
| 41 | dns_aaaa | AAAA-запис IPv6 | 2606:4700:3035::ac43:cd1a | PASS |
| 42 | dns_mx | MX-запис | route3.mx.cloudflare.net | PASS |
| 43 | dns_txt_spf | SPF TXT | v=spf1 include:…google.com ~all | PASS |
| 44 | dns_dmarc | DMARC policy | p=quarantine; pct=25; rua=… | PASS |
| 45 | wellknown_llms.txt | /llms.txt (AI routing) | HTTP 200 | PASS |
| 46 | wellknown_llms-full.txt | /llms-full.txt | HTTP 404 | WARN |
| 47 | wellknown_security.txt | /security.txt | HTTP 404 | WARN |
| 48 | wellknown_.well-known/security.txt | /.well-known/security.txt | HTTP 404 | WARN |
| 49 | wellknown_humans.txt | /humans.txt | HTTP 404 | N/A |
| 50 | wellknown_ads.txt | /ads.txt | HTTP 404 | N/A |
⚠️ Типові delta на adult-e-com сайтах (наш досвід): рядки 6-13 (security headers) зазвичай 2-4 з 8 замість 8/8 · рядок 14 (cookie flags) часто HttpOnly/SameSite відсутні · рядки 15-25 (sensitive) — 2-3 файли реально відкриті (найчастіше /readme.html + /xmlrpc.php) · рядки 26-29 (WP hardening) — 3 з 4 FAIL типово · рядок 32 (AI bots) = 0 бо ще не додавали · рядки 36-39 (TTFB) — 300-800ms без cache layers · рядок 44 (DMARC) — p=none у 80% клієнтів.
🔬
Шар 2 · Per-URL Smoke — 7 перевірок × усі URL зі sitemap
smoke_all.py / smoke_FINAL_ZERO2.json
ℹ️ Кожен URL зі sitemap проходить 7 перевірок. На webcorelab.com: 253 URL × 7 = 1771 окремих probes. Non-HTML ресурси (наприклад /locations.kml) коректно класифікуються як kind=kml і для HTML-only чеків повертають N/A (це не exclusion — це коректна класифікація по Content-Type).
| # | Перевірка | Формула | Benchmark webcorelab.com | Статус |
| 1 | HTTP 200 OK | curl -o /dev/null -w '%{http_code}' | 253/253 | PASS |
| 2 | Has H1 (HTML pages only) | regex <h1[^>]*> | 252/252 | PASS |
| 3 | Has JSON-LD schema (HTML) | regex application/ld\+json | 252/252 | PASS |
| 4 | Has canonical (HTML) | regex rel="canonical" | 252/252 | PASS |
| 5 | No accidental NOINDEX | regex meta robots / X-Robots-Tag | 252/252 | PASS |
| 6 | Title ≤70ch (after entity decode) | html.unescape(title); len() | 252/252 | PASS |
| 7 | Has <title> | regex <title>(.+?)</title> | 252/252 | PASS |
🚨 Типовий adult e-com на smoke 7×N: № 2 (H1) — 20-40% сторінок без H1 (WooCommerce shortcodes) · № 3 (JSON-LD) — 30-50% без schema (category/search/cart) · № 4 (canonical) — 50-70% без canonical на filter-URLs · № 5 (NOINDEX) — leak через X-Robots-Tag (staging → prod) · № 6 (title) — 10-15% довше 70 chars. Саме ці типові «7×X failures» і розраховують drop у SERP.
📐
Шар 3 · Deep Archetype — 40 вимірів × усі унікальні типи сторінок
page_level.py / page_level_ZERO.json
ℹ️ На webcorelab.com — 15 archetypes × 40 = 600 probes. Для кожного типу сторінки (home / about / services / portfolio / case / blog-list / blog-post / ai-home / terms / sitemap / …) знімаємо 40 вимірів. Для e-commerce adult-сайту archetypes будуть: home, category, product, product-variant, blog-list, blog-post, search, filter, cart, checkout, account, 404, sitemap, utility, policy.
| # | JSON-ключ | Що міряємо | Home (webcorelab.com/) · реальне значення |
| 1 | status | HTTP status code | 200 |
| 2 | size_bytes | Payload bytes | 300,371 |
| 3 | content_type | Content-Type header | text/html; charset=UTF-8 |
| 4 | cache_control | Cache-Control | public, max-age=600, s-maxage=21600, swr=… |
| 5 | x_proxy_cache | X-Proxy-Cache | HIT |
| 6 | content_encoding | Compression | gzip |
| 7 | is_html | HTML detected | True |
| 8 | kind | Kind classifier | html |
| 9 | title | <title> value | WebCoreLab — AI-Powered Digital Agency | Toronto |
| 10 | title_length | Title length (entity-decoded) | 48 |
| 11 | meta_description | Meta description | AI-first digital agency: business automation… |
| 12 | meta_desc_length | Description length | 134 |
| 13 | h1_count | Кількість H1 | 1 |
| 14 | h1_first | Текст першого H1 | (non-empty) |
| 15 | h2_count | Кількість H2 | 16 |
| 16 | canonical | rel=canonical URL | https://webcorelab.com/ |
| 17 | canonical_self | Canonical = self | True |
| 18 | meta_robots | Meta robots value | index, follow, max-image-preview:large, … |
| 19 | has_noindex | NOINDEX detected | False |
| 20 | og_og_title | og:title | WebCoreLab — AI-Powered Digital Agency | Toronto |
| 21 | og_og_description | og:description | AI-first digital agency: business automation… |
| 22 | og_og_image | og:image URL | …/wp-content/themes/wcl-ai/img/og-banner… |
| 23 | og_og_type | og:type | website |
| 24 | og_og_url | og:url | https://webcorelab.com/ |
| 25 | og_twitter_card | twitter:card | (empty — WARN, recommend 'summary_large_image') |
| 26 | hreflang_count | Hreflang tag count | 0 (single-language site) |
| 27 | html_lang | html[lang] | en-US |
| 28 | schema_count | Schema blocks count | 3 |
| 29 | schema_types | Schema types list | Organization, WebSite, ProfessionalService |
| 30 | img_count | Total <img> | 119 |
| 31 | img_missing_alt | Images без alt | 0 |
| 32 | img_lazy | loading="lazy" | 49 |
| 33 | img_with_dimensions | w+h attributes | 15 (WARN — рекомендується 100%) |
| 34 | link_count | Total <a href> | 117 |
| 35 | external_links | External domain links | 18 |
| 36 | form_count | <form> count | 1 |
| 37 | input_count | <input> count | 9 |
| 38 | input_unlabeled | Inputs без label (a11y) | 9 (WARN — всі є hidden) |
| 39 | inline_script_count | Inline <script> | 11 |
| 40 | external_script_count + external_css_count + has_viewport + has_charset + has_favicon + preconnect_count + dns_prefetch_count | Resource-hints + meta basics (агрегат) | 5 JS · 5 CSS · viewport ✓ · charset ✓ · favicon ✓ · 3 preconnect · 4 dns-prefetch |
💡 Навіщо deep по 40 вимірах × archetype: дає можливість порівняти однакові типи сторінок між собою (усі продуктові vs усі категорії) — якщо меtrick різняться в 2-3 рази, значить є шаблонна проблема (наприклад WooCommerce product-variations рендериться без H1). Це найшвидший шлях до root-cause drop трафіку на конкретному архетипі.
🔧
Applied Fixes Log · 18 фіксів з останнього прогону
P0·P1·P2
ℹ️ Це реальний лог із 22.04.2026 на webcorelab.com — показує як виглядає cycle "знайшли → виправили → перевірили". Це те ж саме ми робимо на сайті клієнта: знаходимо → документуємо у форматі (Priority, Fix, Metric change, Artifact) → deploy → повторюємо замір.
| Pri | Fix | Metric change | Artifact / файл |
| P0 | H1 injection MU-plugin | 120 → 0 pages без H1 | wcl-h1-injector.php v2 (ob_start + template_redirect) |
| P0 | Schema enhancement | 2 → 6 types | wcl-schema-enhancer.php (ProfessionalService додано) |
| P0 | Security headers батч | 1 → 8/8 headers | snippets/wcl-security-headers.conf (nginx) |
| P0 | X-Robots-Tag leak | noindex → index,follow | proxy_hide_header у nginx (прибрали staging header leak у prod) |
| P0 | WebP pipeline | 172.7 → 22.1 MB (-87%) | nginx map + cwebp q82 -m6 batch |
| P0 | 5 cache layers | TTFB 468 → 143ms | OPcache + Redis + fastcgi + proxy_cache + CF edge |
| P1 | Redis LRU limit | noeviction → 256MB allkeys-lru | CONFIG REWRITE persisted |
| P1 | MariaDB slow log | OFF → ON (long_query_time=1s) | /etc/mysql/mariadb.conf.d/99-slow-log.cnf |
| P1 | DMARC quarantine | p=none → p=quarantine pct=25 | Cloudflare DNS API update |
| P1 | Auto-alt MU-plugin | 8 → 0 pages без alt | wcl-auto-alt.php (filename→alt) |
| P2 | /terms/ повний SEO upgrade | додали JSON-LD + canonical + OG + Twitter + favicon | /var/www/webcorelab.com/terms/index.html rewrite |
| P2 | Content-Type classifier | .kml = N/A (було false-FAIL) | smoke_all.py kind detector (html/kml/xml/other) |
| P2 | Title entity decode | 27 "long" (рахувались символи entities) → 0 real | html.unescape() перед len-check |
| P2 | Blogname shortened | "WebCoreLab — AI-Powered Digital Agency" → "WebCoreLab" | wp option update blogname |
| P2 | Yoast title templates compact | post/page/category коротші | wpseo_titles option patch |
| P2 | Per-post title rewrites | 6 critical + 14+14 suffix-strip | wp post update + update_post_meta _yoast_wpseo_title |
| P2 | Category News description | (empty) → filled | update_term_meta _yoast_wpseo_metadesc |
| P2 | Band-aid removal | wcl-title-shortener.php DELETED | root-cause fix замість 128-line ob_start truncator |
💡 Принцип "Zero band-aids": жоден з 18 фіксів — не hotfix-milyankh. Навіть wcl-title-shortener.php що працював як runtime-truncator був ВИДАЛЕНИЙ, а titles переписані в source на шаблонному рівні (Yoast templates + per-post rewrites). У вашому аудиті буде така ж дисципліна: видимі band-aids (hook на каждый запит, cron-гарячі фікси) будемо замінювати на source-level виправлення.
📡
Ops & Observability · Stack який крутиться на webcorelab.com
PROMETHEUS · LOKI · GRAFANA
ℹ️ Стек 24/7 моніторингу з реального прогону 22.04.2026. Ми пропонуємо його ж налаштувати для клієнта (опціональна фаза після аудиту) — щоб drop помічати за 15 хв а не за 2 тижні у GSC.
- ✅ Prometheus — 11/11 targets UP (node, nginx, mysql, redis, blackbox × 5 регіонів)
- ✅ Grafana — dashboard з 9 alert rules → Alertmanager → Telegram bridge
- ✅ Loki — retention 30 днів, логи всіх сервісів у /opt/nebo/*
- ✅ DB backups — daily 286 файлів · weekly 6 · total 1.9 GB · pre_task_backup.sh
- ✅ Redis — 256MB · allkeys-lru (persisted via CONFIG REWRITE)
- ✅ MariaDB slow_query_log — ON · long_query_time=1s · /var/log/mysql/slow.log
- ✅ nginx proxy_cache WCLPROXY — 500MB · 6h valid · stale-while-revalidate 86400s
- ✅ PHP 8.3 OPcache — 256MB · JIT 1255 · 128MB JIT buffer
🏆
WCS Score Breakdown · 5 категорій (реальна формула)
ВАГОВА ОЦІНКА
ℹ️ Це та сама формула що дала 98/100 на webcorelab.com. Ваги підібрані щоб відображати реальний impact на органічний трафік e-commerce-сайтів.
| Category | Weight | Score webcorelab.com | Detail |
| Infrastructure | 25 | 25/25 | HTTP/2 · 8/8 headers · 0/11 sensitive · WP-hardening 4/4 · cache HIT · TTFB 138ms · AI-bots 6+ |
| SEO — усі HTML | 25 | 25/25 | 0 no-title · 0 no-H1 · 0 no-schema · 0 no-canonical · 0 noindex leak · 0 long-title |
| Quality (Deep archetypes) | 20 | 18/20 | 14/14 viewport · 14/14 alt · schema avg 2.36 types/page · OG partial 6/14 |
| DNS & Email | 15 | 15/15 | A · AAAA · MX · SPF · DMARC quarantine pct=25 |
| Ops (backups, monitoring, caches) | 15 | 15/15 | Prometheus+Loki+Grafana · daily backups 1.9GB · 5 cache layers |
| TOTAL | 100 | 98/100 · A+ | Production-grade · 0 exclusions · 0 band-aids |
💡 Benchmark типового adult e-com до аудиту: Infrastructure 8-14/25 · SEO 10-17/25 · Quality 8-14/20 · DNS/Email 5-10/15 · Ops 3-8/15 · Total = 34-63/100 · D-/C+. Мета після 3 місяців engagement: 85+/100 (A). Досяжно, якщо клієнт готовий до контенту і ми маємо доступи.
🔞
Adult-niche overlay · 8 перевірок, яких нема у стандартному 272-framework
ПІД НІШУ
🚨 272-framework універсальний. Для adult-e-com додаємо 8-пунктовий overlay — речі, які не з'являються у звичайному Screaming Frog / Semrush звіті, але часто є реальним джерелом drop у вашій ніші.
| # | Перевірка | Метод | Чому важливо для adult | Типовий drop-тригер |
| 1 | SafeSearch behavior | search-тест з UA Googlebot і клієнтським UA, 3-5 IP (EU/US/UA), SafeSearch ON/OFF | Google може ховати сайт у SafeSearch=ON навіть якщо технічно все ок | SafeSearch=strict, Google агресивніше фільтрує у 2025-2026 |
| 2 | Age-gate vs Googlebot | curl -A "Googlebot/2.1" — чи бачить бот контент без age-gate | Якщо age-gate = JS-редирект для всіх → Googlebot бачить тільки заглушку → деіндексація каталогу | Новий age-gate без Googlebot bypass = deindex усього каталогу за 2-4 тижні |
| 3 | GSC adult category | GSC → Settings → class "Adult" | Класифікація впливає на тип показу у видачі + обмеження ads | Невірна категорія → Google вважає сайт "dual purpose" і фільтрує сильніше |
| 4 | YMYL / E-E-A-T overlay | Author / Expert review блоки · політики повернення · вікова перевірка · medical-disclosure | Adult + товари для здоров'я попадають у YMYL — E-E-A-T сигнали критичні | Helpful Content Update (HCU) збив позиції через відсутність expert-author |
| 5 | Payment processor compliance | checkout flow · PSP list (adult restrictions) · HTTPS + PCI-DSS | Обмежена кількість PSP. Якщо checkout ламається → PSP деактивований | Stripe/PayPal deactivated → checkout 500 → Google Safe Browsing signal |
| 6 | Adult backlink landscape | Ahrefs/Semrush кластеризація доменів-донорів · % adult-themed RD · toxic score | Adult donors менш охочі линкувати, критично оцінювати "gray-hat" | Раптовий приріст toxic donors → Penguin-like filter |
| 7 | Google Shopping policy | Merchant Center status · політика restrictions | Adult заборонено у Google Shopping → organic трафік ще важливіший | Merchant-акаунт suspend → product-feed freshness сигнали падають |
| 8 | Age-verification impact на crawl | log-analysis Googlebot UA · % request що зустрічають age-modal · robots.txt Googlebot allow | Age-verify через cookie може блокувати Googlebot без cookies | Age-verify cookie required → Googlebot 403 → деіндекс за 2-4 тижні |
Топ-5 реальних причин drop у adult-e-com (наш досвід)
Ранжування за частотою
1. Age-gate блокує Googlebot (п.2, 8) — №1 причина раптового drop
2. Helpful Content Update / Core Update (YMYL) — повільний drop
3. Crawl budget зжерли filter-params (дивись Шар 2 · smoke №5 NOINDEX)
4. Backlink profile — куплені gray-hat посилання з минулого, Penguin-like
5. Checkout broken через PSP → Google сигнали про якість сайту падають
Наш підхід до вашої ніші
11+ років з e-commerce · adult досвід окремо
Ми вже робили SEO у 3 adult-суміжних нішах (wellness · toys · herbal supplements). Знаємо: (1) SafeSearch тестування по 3-5 регіонах; (2) GSC coverage audit з фільтром на adult-слова; (3) age-gate "Googlebot-friendly" (пустити бота без gate, користувача — з gate); (4) PSP migration план якщо поточний відвалив.
💼
Пропозиція — план робіт WebCoreLab
4 ФАЗИ
WebCoreLab × baldinelli.ua · Квітень 2026
Від WCS 35/100 до 75+/100 за 3 місяці
Ми вже зробили повний аудит безкоштовно — і це 3 незалежних аудити з різними інструментами. Нижче — конкретний план на основі реальних DevTools вимірів. Чесно: 80% проблем вирішуються за перші 2 тижні. Решта — контент і авторитет.
Фаза 1 — Тижні 1-2: P0 критично і швидко
Зупинити втрати. Виправити те що б'є по позиціях і трафіку прямо зараз.
- Видалити
<link media="handheld" href="m.baldinelli.ua"> — Google mobile-first LCP 26.6с!
- LocalBusiness lat/lng swap — виправити координати всіх 14 магазинів (зараз Google Maps = Саудівська Аравія)
- OG Image: SVG → JPG 1200×630 (Facebook/Telegram/Viber не показують SVG)
- Cache-Control: no-store → public max-age=3600 (Cloudflare Edge Cache не працює!)
- Security Headers через Cloudflare Rules — 6 headers за 30 хвилин
- llms.txt + GPTBot/ClaudeBot/PerplexityBot в robots.txt (10 хвилин)
- Перевірити Disallow: /*-ua/ у GSC — потенційно закрита UA версія
- Title 135-138 → ≤55 символів на головній і товарних
Фаза 2 — Тижні 3-4: SEO, Sitemap, Schema
Збільшити видимість в пошуку. Очистити crawl budget.
- Sitemap: 17,723 → 3,235 URL (видалити 6 типів табів: harakteristiki/otzyvy/video/magaziny/oplata/garantia)
- Додати UA URLs в sitemap (зараз 0 з 17,723)
- lazy loading: 0 → всі img нижче fold (248/239/301 зображень без lazy)
- Alt теги: 67 (головна) + 26 (категорія) + 48 (товарна) без alt
- FAQPage Schema — H2 FAQ вже є на категоріях! Тільки JSON-LD обгортка
- BreadcrumbList Schema на категоріях (зараз тільки Products array)
- Meta desc: 199-271 → ≤155 символів
Фаза 3 — Тижні 5-8: Performance і CWV
Total Load 9-15с → 3-4с. CWV: FAILED → PASSED.
- jQuery 2.1.1 (2014!) → 3.7.1 · TBT 470мс → <200мс
- CLS 0.35: width/height для всіх img · резервувати місце для слайдерів
- HTML 596KB: defer/lazy модалок і popup'ів
- 2 heatmap (Hotjar + Plerdy) → залишити один
- MGID/SendPulse → defer або видалити
- Brotli увімкнути в Cloudflare (зараз gzip)
- CLS 0.30 Desktop — також виправити
Фаза 4 — Місяці 3-6: Контент і авторитет
Ріст трафіку 19.5K → 35-45K. Перемога над конкурентами.
- Blog: виправити /blog 404 · 10-15 статей по пріоритетних категоріях
- lang=ru → UA як основна мова (поступово, без різкого падіння)
- Геолендінги для 5 міст (LocalBusiness Schema вже є — потрібен контент)
- Google Business Profile оптимізація ×14 магазинів
- Пов'язані товари на товарних сторінках
- Disavow токсичних беклінків (NL 13%, RU 6%, EE 4%)
- Якісний лінкбілдинг: медичні портали, реабцентри, лікарні України
- E-E-A-T: автори на статтях, медичний дисклеймер на YMYL сторінках
- Щомісячний моніторинг CWV і позицій
Before / After — прогноз на 6 місяців
| Метрика | Зараз | Через 6 міс. |
| WCS Score | 35/100 | 75+/100 |
| PageSpeed Mobile | 43/100 | 75+/100 |
| CWV Assessment | FAILED (всі 5 mobile) | PASSED |
| Security Headers | 0/6 | 6/6 |
| Sitemap URLs | 17,723 | ~3,500 |
| Organic Traffic | 19,479/міс | 35-45K/міс |
| Total Load (гол.) | 9.2с | 2-3с |
| Google Maps точність | Саудівська Аравія ❌ | Всі 14 міст ✅ |
| AI Readiness | 5/100 | 70+/100 |
| Alt text coverage | ~70% | 95%+ |
Портфоліо WebCoreLab — релевантний досвід
| Проєкт | Ніша | Що зробили | Результат |
| osd.ua | Медтехніка | Повний SEO аудит, технічна оптимізація | 22 критичні проблеми, WCS аудит (для порівняння в цьому звіті) |
| BPI Group | Будівництво | Рестайл 51 сторінки, SEO-архітектура | Повна оптимізація структури і контенту |
| cle.in.ua | Освіта | SEO чек: robots, JSON-LD, Schema suite | Технічна SEO-інфраструктура з нуля |
| webcorelab.com | Агентство | AI-сторінки, proxy архітектура, SEO | PageSpeed 95+, Schema Suite |
| E-commerce шини | Авто | 1,500+ SKU, PageSpeed оптимізація | TTFB 1.2с → 0.3с, PageSpeed 92+ |
«Вперше бачу спеціаліста, який реально розуміє не тільки SEO але і як це пов'язано з бізнес-результатами. Після аудиту команда нарешті зрозуміла що конкретно потрібно змінювати.» — клієнт, e-commerce медтехніки
📋
Бриф — що нам потрібно від вас
5 ХВИЛИН · ТОЧНА ОЦІНКА
Ми вже знаємо технічний стан сайту. Тепер потрібно зрозуміти вашу бізнес-ситуацію і отримати доступи для повноцінної роботи. Заповнення займе 5-7 хвилин.
🔑 Блок 1 — Технічні доступи (для старту роботи)
Без цих доступів ми можемо тільки аналізувати. З доступами — реально виправляти проблеми.
💼 Блок 2 — Бізнес-модель і канали продажів
Щоб правильно розставити пріоритети — нам важливо розуміти звідки зараз приходять клієнти і гроші.
2.1 Основні канали продажів зараз (орієнтовно в % від виручки)
2.3 Що зараз дає найбільше продажів? (яка категорія товарів)
2.4 Сезонність — є піки продажів?
🔍 Блок 3 — Поточний стан SEO і підрядники
3.2 Чи відстежуєте позиції в Google? За якими запитами хочете бути в ТОП?
3.3 Є конкуренти яких ви хочете обігнати?
⚙️ Блок 4 — Технічні рішення і обмеження
🎯 Блок 5 — Пріоритети і очікування
5.5 Є щось що ми пропустили? Що турбує найбільше?
Наступний крок — розмова 15-30 хвилин
Ми вже зробили три незалежні аудити — безкоштовно, до будь-яких домовленостей. Заповніть бриф і ми підготуємо точну оцінку робіт з термінами і вартістю.
📧 webcorelab.com ·
🌐 Toronto, Canada · Українське підрозділення ·
💬 Telegram: @webcorelab