Демонстрація методу — реальні перевірки, синтетичний сайт ⚠ Дані вигадані

SEO-аудит багатомовного каталогу (UA/RU/EN): що знаходимо і як це доводимо

Нижче — фрагмент технічного SEO-аудиту багатомовного інтернет-магазину/каталогу на кшталт тих, що працюють на Tilda й продають на експорт кількома мовами. Щоб нічого не світити з даних реальних клієнтів, ми зібрали невеликий синтетичний сайт-приклад із навмисно закладеними помилками — і перевірили його тими самими методами, якими перевіряємо бойові сайти: реальні HTTP-запити, реальні коди відповіді, реальний перегляд коду сторінки. Жодних вигаданих цифр — усе на цій сторінці можна перевірити самостійно за посиланнями нижче.

Синтетичні дані. «Демо-Експорт», товари, ціни й тексти на прикладних сторінках — вигадані спеціально для цієї демонстрації. Жодна реальна компанія, домен чи бренд не використані й не перевірялися для цього стенду. Джерела даних і платні інструменти, якими користуємось у роботі, тут навмисно не розкриваємо.

Як влаштована перевірка

1
Проходимо кожну адресу сайту напряму — дивимось код відповіді (200/301/302/404), а не лише те, що сторінка є у sitemap
2
Порівнюємо мовні версії між собою: title/description на дублі, hreflang — на повноту й взаємність посилань
3
Перевіряємо розмітку Schema.org, H1, canonical і вагу зображень на кожній версії окремо — шаблон буває правильний в одній мові й зламаний в іншій
4
Сортуємо знахідки за тим, що реально коштує трафіку, і показуємо «було → стало» на прикладі однієї картки товару

Синтетичний стенд для аудиту

6 сторінок, 3 мови (UA/RU/EN), навмисно закладені помилки — усе розміщено тут-таки і доступне за посиланнями: /site/ua/, /site/ru/, /site/en/, /site/ua/catalog/product-1.html, /site/ru/catalog/product-1.html.

8/8
адрес перевірено напряму — 6 сторінок 200 OK, 1 битий лінк 404, 1 редирект-ланцюжок з 2 переходів
2
мовні версії з byte-in-byte однаковим title і description (UA і RU)
298,6 КБ
вага банера на «до»-версії картки товару без lazy-load і без розмірів у тегу
0
canonical, hreflang і Schema.org на «до»-версії товарної сторінки — жодного з трьох

Знахідки — від критичного до косметики

ПеревіркаПріоритетЩо це коштує бізнесу
RU-версія головної помилково канонізована на UA критично <link rel="canonical"> на російській сторінці вказує на українську адресу. Це пряма команда пошуковику «не індексуй мене окремо, я дублікат тієї сторінки» — російська версія випадає з видачі повністю, і весь трафік з російськомовних запитів втрачається, а не просто програє в позиціях.
Товарна сторінка без canonical, hreflang і Schema.org одночасно критично «До»-версія картки товару (RU) не має жодного з трьох елементів. Без Schema.org картка не потрапляє в rich results і гірше читається AI-пошуком; без hreflang пошуковик сам вирішує, яку мовну версію показувати кому — і часто вирішує неправильно; без canonical сторінка вразлива до склеювання з дублями фільтрів/параметрів.
Дублі title і meta description між UA і RU головними важливо Обидві мовні версії головної сторінки віддають однаковий заголовок і опис — причому українською мовою на російській сторінці (типова помилка копіпасту при перекладі на Tilda-подібних конструкторах). Пошуковик бачить два дублікати замість двох різних сторінок під різні мовні запити.
Відсутній <h1> на RU-версії головної важливо Заголовок зроблений оформленим <div>, а не <h1>. Пошуковик і скрін-рідери втрачають головний структурний сигнал сторінки — незрозуміло, про що вона, без аналізу всього тексту.
Неповний hreflang — без x-default і без третьої мови важливо UA- і RU-сторінки посилаються одна на одну, але жодна не згадує англійську версію і жодна не має x-default. Відвідувач з непередбаченої мови/країни (і бот, що не визначився з мовою) не отримує чіткої вказівки, яку версію показати — Google сам обирає, часто не ту.
Непідписане й неоптимізоване зображення на «до»-версії важливо Банер 298,6 КБ без атрибутів width/height, без lazy-load і без alt. Це і зайва вага на мобільному трафіку, і зсув верстки під час завантаження (гірший CLS), і втрачена можливість потрапити в пошук за зображеннями через порожній alt.
Постійний переїзд сторінки йде через 2 послідовні 302 важливо Стара адреса каталогу веде через два тимчасові редиректи (302→302→200) до чинної сторінки замість одного постійного (301). Кожен зайвий хоп — це трохи втраченої ваги посилання і зайвий час завантаження; тимчасовий код замість постійного може тримати стару адресу в індексі довше, ніж потрібно.
Товарна сторінка «після» (UA) чисто Унікальні title/description, один H1, canonical на себе, повний hreflang з x-default, валідна розмітка Schema.org Product з ціною й наявністю, зображення з width/height і lazy-load.
Битий внутрішній лінк знайдено вибірковим обходом знайдено Посилання «Гарантія та сертифікати» з головної UA-сторінки веде на неіснуючу адресу (404) — типова знахідка, яку не видно в sitemap, бо сторінки там і не було, але яку бачить кожен відвідувач, що натисне на цей пункт меню.

Мультимовність окремо: UA/RU/EN і hreflang

Саме мультимовність найчастіше ламається на конструкторах на кшталт Tilda — кожна мовна версія веде своє SEO-життя, і без окремої перевірки помилки в hreflang не видно ні з sitemap, ні з вигляду сторінки в браузері.

Версіяhreflang оголошеноЧого бракуєСтатус
/site/ua/ uk-UA (на себе), ru-RU Немає en, немає x-default неповний
/site/ru/ uk-UA, ru-RU (на себе) Немає en, немає x-default; canonical помилково веде на UA неповний + помилка
/site/en/ uk-UA, ru-RU, en (на себе), x-default повний
/site/ua/catalog/product-1.html uk-UA (на себе), ru-RU, x-default повний
/site/ru/catalog/product-1.html відсутній повністю Немає жодного hreflang-тегу відсутній

Показова деталь: сторінка категорії й товарна сторінка UA зроблені правильно, а головна UA й обидві RU-сторінки — ні. Це типова картина реального аудиту: помилка не «на всьому сайті одразу», а на конкретних шаблонах чи мовних версіях, які редагували окремо. Знайти таке можна тільки прогнавши перевірку по кожній мовній версії кожного типу сторінки, а не по одній довільній сторінці «для прикладу».

Як це перевірялося насправді

Реальні запити до нашого ж синтетичного стенду — не скріншот і не переказ:

# дубль title/description UA vs RU — байт-в-байт однаковий рядок, українською на обох
$ curl -s .../site/ua/ | grep -i '<title>'
<title>Демо-каталог на експорт: лазні та вироби з дерева — Демо-Експорт</title>
$ curl -s .../site/ru/ | grep -i '<title>'
<title>Демо-каталог на експорт: лазні та вироби з дерева — Демо-Експорт</title>  ← та сама сторінка, українською, хоча версія російська

# RU-головна: canonical веде на UA, h1 відсутній
$ curl -s .../site/ru/ | grep -Ei 'canonical|<h1'
<link rel="canonical" href="https://guardlabs.online/demo/seo-audit-multilang/site/ua/">  ← неправильний домен-мова
# <h1> у виводі немає взагалі — підтверджено окремим збігом нуля рядків

# ланцюжок редиректів старої адреси каталогу — 2 хопи 302, потім 200
$ curl -sI .../site/old-catalog/ | head -2
HTTP/1.1 302 Moved Temporarily
Location: .../site/catalog-temp/
$ curl -s -L -o /dev/null -w 'final=%{http_code} redirects=%{num_redirects}\n' .../site/old-catalog/
final=200 redirects=2

# вага непідписаного банера на "до"-версії товарної картки
$ curl -sI .../site/hero-banner.svg | grep -i content-length
content-length: 298568  ← 298,6 КБ, без стиснення, без lazy-load у розмітці

Було / стало: картка товару UA vs RU

RU — «до» (як є)

Title
той самий рядок, що й на UA-товарі — не перекладено
Meta description
відсутній
Canonical
відсутній
Schema.org
відсутній
H1
«Товар» — без назви й характеристик
Зображення
298,6 КБ, без alt, без width/height
Відкрити «до» →

UA — «після» (як має бути)

Title
унікальний, з назвою товару й наміром запиту
Meta description
унікальний опис ~150 символів
Canonical
на себе
Schema.org
Product з ціною, sku, наявністю
H1
повна назва товару
Зображення
0,4 КБ, alt заповнено, width/height + lazy-load
Відкрити «після» →

На вашому сайті різниця буде не між мовами навмисно, а між шаблонами й датами публікації сторінок — старі картки товару зазвичай зроблені інакше, ніж нові. Метод порівняння той самий.

Як це виглядатиме на вашому завданні

  • Ваш сайт, не наш приклад: тут для демонстрації — синтетичний стенд, для вашого завдання перевіряється саме ваш каталог, усіма мовними версіями одразу.
  • Код відповіді кожної адреси, а не наявність sitemap: sitemap може бути зеленим, а частина адрес у ньому — вести на логін, помилку чи стару версію; перевіряємо реальний код кожної адреси.
  • Мультимовність — окремий розділ звіту: hreflang-матриця по кожній мовній версії й кожному типу сторінки, а не загальний висновок «з мовами все ок».
  • Tilda/Wix/Shopify — з урахуванням платформи: яку розмітку конструктор дає з коробки, а що потрібно докручувати кастомним кодом — показуємо чесно, без обіцянок «зробимо все за годину».
  • Пріоритети, а не простирадло знахідок: критично / важливо / бажано, з поясненням, що саме втрачається в кожному пункті.
  • Звіт, який можна віддати виконавцю: конкретні адреси й конкретні рядки розмітки для правки — без переказу теорії SEO.

Потрібен такий аудит по вашому багатомовному каталогу?

Надішліть адресу сайту й перелік мовних версій — отримаєте звіт за тією ж схемою: коди відповіді, дублі, hreflang-матриця, Schema.org і пріоритети саме по ваших сторінках.

guardlabs.online

Хочете таке саме для свого бізнесу?

Ми робимо такі демо і впроваджуємо під ваш процес — залиште заявку, відповімо швидко.

Дякуємо — заявку отримано, відповімо найближчим часом.