Сьомого й восьмого серпня 2026 ми зняли технічні показники живих сайтів — інтернет-магазинів і сайтів послуг у різних нішах. Сімнадцятого вересня 2026 той самий вимір повторено, і всі цифри нижче — з повторного. Без доступу до адмінки, без пароля від хостингу, без участі власників. Усе, що описано нижче, сайт віддає сам і будь-кому, хто його відкриє: коди відповіді, час до першого байта, карту сайту, canonical, структуровані дані, hreflang, сертифікат і версію PHP у заголовках.
Це не текст про поганий ринок. Це опис норми, з якою конкурує кожен новий магазин. Більшість дір нижче закривається за вечір, тому читати їх варто як перелік власних можливостей, а не чужих помилок.
Як міряли і чому ззовні
Кожен вимір — це запит до публічної адреси й розбір відповіді. Заголовки, HTML головної, robots.txt, карта сайту, товарна сторінка там, де її вдалося відкрити. Три причини робити саме так.
Так на сайт дивиться пошуковий робот. Чого не видно ззовні, того для індексації не існує, і байдуже, наскільки доглянута адмінка всередині.
Це єдиний спосіб порівняти себе з конкурентом. У чужу панель ви не зайдете ніколи, а ззовні бачите рівно те саме, що бачить Google.
Це швидко. Один сайт — кілька хвилин. Тому повний технічний зріз, куди входять версія PHP, придатність карти сайту й стан сертифіката, зведено по 35 сайтах. Розрізи по окремих нішах нижче — це самостійні вибірки по чотири-вісім сайтів, зняті тим самим набором перевірок. Це різні набори, і там, де їхні цифри розходяться, ми це прямо позначаємо.
Дві межі методу варто назвати відразу. П'ять сайтів відповіли нашому скрипту сторінкою-заглушкою антибот-захисту замість вмісту, ще один не відповів зовсім — усі шість виключено зі знаменників, тому зведення йде по 35 сайтах, а не по 41. А розмітку хлібних крихт ми шукаємо не лише на головній, а й на товарній сторінці, тому в тому пункті далі стоять дві цифри.
Чого зовнішній вимір не бачить — окремим розділом у кінці. Список довший, ніж хотілося б.
Шість дір, які повторюються
Canonical на головній немає взагалі
Знахідка, яка повторюється в кожній ніші: canonical на головній немає на 23 сайтах із 35. Canonical — рядок, яким сторінка каже пошуку «ось моя справжня адреса». Без нього кожен варіант тієї самої сторінки має право вважатися окремою: з www і без, з параметром сортування, з рекламною міткою в посиланні, з косою рискою в кінці й без неї.
Головна — найпростіша сторінка сайту й та, про яку думають першою. Якщо canonical немає там, у каталозі та фільтрах його немає тим паче, а дублі народжуються саме в каталозі. Механіку й способи перевірки ми розібрали окремо: канонікалізація і усунення дублів адрес.
Хлібні крихти є на екрані, але їх немає в коді
Ланцюжок «Головна → Категорія → Товар» намальований майже скрізь. Розмітки, яка пояснює цей ланцюжок пошуку, немає майже ніде: на головній її немає на 33 сайтах із 35, а якщо зарахувати й товарну сторінку — на 20 із 35.
Вісім ніш поспіль без жодного винятку на головній. Головна, втім, і не те місце, де крихти зазвичай доречні, тому ми окремо дивимось товарну сторінку: там розмітка трапляється частіше, і все одно на 20 сайтах із 35 її немає ніде. Такий результат зазвичай означає не недбалість, а те, що тема готових шаблонів магазину її просто не покриває, і ніхто не відкривав це питання після встановлення.
Карта сайту: відсутня, чужа або надто велика
У зведенні по 35 сайтах сім не мають придатної карти сайту, а ще на двох карта веде на сторонній домен. Тобто пошук отримує перелік адрес, які до цього сайту не належать.
Другий бік проблеми — розмір. Медіани по нішах:
Магазин на кілька тисяч товарів із картою на дев'яносто тисяч адрес не має дев'яноста тисяч сторінок. Він має ті самі товари, розкладені по фільтрах, сортуваннях і мітках. Що з цим робити — у розборі карти сайту й robots.txt, а швидко подивитись свою можна інструментом.
PHP, який більше не отримує оновлень безпеки
У зведенні по 35 сайтах таких два. У вибірці будматеріалів — чотири з шести. Ще по одному сайту знайшлося серед ювелірних із чотирьох, канцтоварів із чотирьох і будівельних компаній із восьми.
Різниця між «два з тридцяти п'яти» і «чотири з шести» — не помилка, а різні вибірки. І вона показова сама по собі: середнє по ринку ховає ніші, де застаріла збірка є звичайним станом справ. Це вже не питання пошуку. Версія без підтримки означає, що знайдені вразливості для неї ніхто не закриє.
Перша відповідь сервера
Час до першого байта — це ще не швидкість сайту, а лише те, скільки сервер думає до першої літери відповіді. Далі йдуть картинки, стилі й скрипти.
Розкид між нішами більш ніж трикратний, і він не пояснюється розміром каталогу: взуття з медіаною каталогу 12 762 адреси відповідає швидше за юридичні сайти з медіаною 524. У меблях перша відповідь довша за секунду на двох сайтах із чотирьох.
Товар не розмічений
Товарну сторінку вдалося відкрити на 25 сайтах. Розмітку товару Product має 10 із них, розмітку ціни Offer — теж 10, характеристики розмічені у п'ятьох, рейтинг — у трьох. Тобто на трьох товарних сторінках із п'яти пошук не читає ні що це, ні скільки коштує.
Окремо є сайти без будь-яких структурованих даних — одинадцять із тридцяти п'яти: три з семи в оптиці, два з чотирьох серед канцтоварів, два з шести в побутовій хімії. Як це виглядає в коді — у розборі структурованих даних.
Чого це коштує власнику
Відсотків тут не буде: ми міряли код, а не касу. Але механізм у кожному пункті прямий.
Дублі з'їдають обхід. Робот приходить на сайт із обмеженим запасом запитів. Якщо карта веде його на десятки тисяч варіантів одного каталогу, запас витрачається на копії, а нові товари чекають своєї черги днями.
Без Product і Offer сніпет лишається текстом. Ціна, наявність і рейтинг у видачі беруться з розмітки. Немає розмітки — немає й цих рядків, а поруч стоїть конкурент, у якого вони є.
Без розмітки крихт у видачі не видно шляху. Замість зрозумілої структури «розділ → підрозділ → товар» користувач бачить голу адресу.
Повільна перша відповідь множиться на все інше. Сімсот мілісекунд до першого байта — це до того, як браузер почав завантажувати бодай один файл. Далі до цієї цифри додається все решта.
Стара версія PHP — це вже не маркетинг. Це відкритий ризик для бази клієнтів і замовлень.
Ширший перелік того, що варто пройти перед сезоном, ми зібрали в технічному чек-листі інтернет-магазину.
Що перевірити в себе за 15 хвилин
Усі команди читають публічну відповідь вашого сайту й нічого не змінюють.
1. Canonical на головній.
curl -s https://ваш-сайт.com/ | grep -io '<link[^>]*canonical[^>]*>'
Порожньо — це перший пункт до роботи. Є рядок, але з іншим доменом чи з параметром у кінці — теж.
2. Чи оголошена карта сайту і що в ній.
curl -s https://ваш-сайт.com/robots.txt | grep -i sitemap
curl -s https://ваш-сайт.com/sitemap.xml | grep -c '<loc>'
Друге число порівняйте з кількістю товарів і категорій у себе в адмінці. Різниця в рази — це дублі.
3. Дублі всередині самої карти.
curl -s https://ваш-сайт.com/sitemap.xml \
| grep -o '<loc>[^<]*' | sort | uniq -d | wc -l
Має бути нуль.
4. Перша відповідь.
curl -s -o /dev/null -w 'до першого байта: %{time_starttransfer} с\n' \
https://ваш-сайт.com/
Три заміри поспіль, брати найгірший. Порівнювати є з чим: медіани по нішах вище лежать від 208,4 до 711,3 мс.
5. Розмітка на товарній сторінці.
curl -s https://ваш-сайт.com/адреса-товару | grep -c 'application/ld+json'
Нуль означає, що розмітки немає взагалі. Одиниця й більше — треба ще подивитись, що саме там розмічено.
Коди відповіді по списку адрес зручно зняти перевіркою кодів. Якщо після цих п'яти пунктів хочеться повної картини, ми робимо технічний аудит і починаємо з тих самих перевірок, тільки по всіх сторінках, а не по головній.
Чесні межі
Зовнішній вимір не бачить головного. Він не знає, скільки у вас відвідувачів і звідки вони, скільки замовлень губиться в кошику, як працюють менеджери й чи взагалі налаштована аналітика. Він бачить фасад і робить висновки про фасад.
Медіана по чотирьох-восьми сайтах — орієнтир, а не статистика. Вона показує, що в ніші вважається нормальним, і не дає права стверджувати, що так на всьому ринку. Один сайт у вибірці може бути винятком, і зазвичай хоча б один ним і є.
Наявність тега не означає, що він правильний. Ми фіксували, чи є canonical і чи є структуровані дані, а не чи ведуть вони туди, куди треба. Правильність перевіряється вже вручну, по сторінках.
І головне: жоден пункт із цього списку не переводиться у гроші напряму. Ми не знаємо, скільки коштує відсутній Offer конкретному магазину, і той, хто називає відсоток, теж не знає. Ми знаємо інше — що це видно ззовні, вимірюється за хвилини й у більшості випадків лагодиться швидше, ніж обговорюється.
Свій сайт ми міряємо тим самим набором перевірок і опублікували результат разом із командами: аудит сайту за один день.