15 сентября 2026 года мы извне измерили 43 живых интернет-магазина на трех платформах: 22 на Хорошопе, 9 на Prom с собственным доменом и 12 на OpenCart. Хотели получить простое сравнение: сколько думает сервер, есть ли canonical, размечен ли товар, что лежит в карте сайта.
Сравнение мы получили, но сначала пришлось разобраться с двумя ошибками самого измерения. Из-за первой Prom оказался бы самой быстрой платформой. Из-за второй получилось бы, что почти на всех магазинах Хорошопа нет ни аналитики, ни canonical. Оба вывода были бы неправдой, и обе ловушки ждут каждого, кто проверяет сайт автоматическим инструментом.
Кого измеряли и как
Выборка не случайная, и это нужно сказать сразу. Хорошоп — это 22 магазина, отобранные в основном из публичного списка клиентов платформы, которые 15 сентября ответили кодом 200. Два домена мы отбросили: один отдал пустой ответ, у второго не было признаков платформы. Prom — 9 магазинов на собственных доменах, найденных как примеры в статье другого агентства и поиском. OpenCart — 12 магазинов из нашей августовской выборки, портфолио одной студии и поиска. Ни один из 43 не является нашим клиентом.
Платформу подтверждали по коду страницы, а не по названию. У Prom это ресурсы и шапка с доменов самой платформы. У Хорошопа — шаблон robots.txt и карта сайта в каталоге платформы. В OpenCart — пути к теме и скриптам движка.
Все измеряли из одной точки сети за один вечер, и только главную страницу плюс одну товарную там, где ее удалось открыть. Поэтому дальше речь идет именно об этой выборке, а не о платформе в целом.
Ловушка первая: инструмент измерял отказ, а не страницу
Наш скрипт внешнего аудита снимает время первого ответа запросом HEAD. Такой запрос просит у сервера только заголовки, без тела страницы. Для Prom скрипт выдал медиану 138,7 мс. Это выглядело бы как лучший результат выборки.
На самом деле Prom на HEAD отвечает кодом 405, то есть «метод не разрешен». Сервер быстро отказывает, и скрипт измерял именно этот отказ. Когда мы перешли на обычный GET конечного адреса (пять замеров на сайт, от каждого берется медиана), картина развернулась: медиана по девяти магазинам Prom составила 713,8 мс.
16 сентября мы повторили проверку на трех магазинах Prom. HEAD вернул 405 за 0,16–0,32 с, а GET того же адреса вернул 200 за 0,78–1,09 с.
Такую ошибку легко пропустить, потому что цифра выглядела правдоподобно: быстрый сервер большой платформы никого не удивляет. Заметной она стала только тогда, когда мы посмотрели на код ответа, а не только на время.
Ловушка вторая: Хорошоп отдает не-браузеру страницу проверки
Вторая проблема больше. На 21 из 22 магазинов Хорошопа запрос без браузера получает вместо магазина крошечную страницу с одним скриптом. Так 15 сентября отвечали и curl, и наш аудит. Размер ответа — от 295 до 778 байт.
Скрипт на этой странице крутит пустой цикл 800 мс плюс случайную добавку до 500 мс. Затем он ставит cookie challenge_passed сроком на 30 минут и перезагружает страницу. Браузер проходит это сам и показывает магазин. Клиент, который не выполняет JavaScript, видит только скрипт.
Что наш инструмент «увидел» на 22 главных Хорошопа:
- canonical на главной — у 1 магазина из 22;
- счетчиков аналитики нет — у 21 из 22;
- разметка Product на товарной странице — у 0 из 19, где удалось открыть товар.
Все эти цифры описывают страницу проверки, а не магазины. Мы признали их недействительными и не публикуем как характеристику платформы.
16 сентября повторный проход дал то же самое: 21 из 22, размер от 295 до 777 байт. В тот же день мы открыли один из этих магазинов в Chrome через Playwright. Страница загрузилась сразу, cookie проверки не появилась, canonical и hreflang на месте, а сама главная передалась размером более 50 КБ.
Что отдается без проверки: robots.txt 16 сентября открылся на всех 22 магазинах. В 21 из них есть строка Content-signal: search=yes, ai-input=yes, ai-train=no. В магазинах Prom и OpenCart из выборки такой строки нет ни в одном.
Чего мы не знаем. Получают ли эту страницу поисковые роботы и AI-ассистенты, мы не проверяли. Для этого пришлось бы подделать User-Agent робота, а этого мы не делаем. Честная проверка есть только у владельца магазина, в Search Console (о ней ниже). Не знаем мы и того, включена ли эта проверка постоянно: у нас есть только два дня наблюдения. Поэтому мы не утверждаем, что Google видит пустую страницу. Мы утверждаем только одно: внешние аудиты, сервисы мониторинга цен и любой другой клиент без JavaScript в эти два дня получали скрипт вместо магазина.
Что удалось измерить
| Показатель (15.09.2026) | Prom, 9 | OpenCart, 12 | Хорошоп, 22 |
|---|---|---|---|
| Медиана первого ответа, GET | 713,8 мс | 326,0 мс | не измерено |
| Самый быстрый / самый медленный | 569,6 / 864,3 мс | 97,0 / 1 304,6 мс | не измерено |
| Canonical на главной | 9 из 9 | 2 из 12 | не измерено |
| hreflang на главной | 9 из 9 | 10 из 12 | не измерено |
| Product на товарной странице | 7 из 8 | 5 из 9 | не измерено |
| robots.txt | 9 из 9 | 12 из 12 | 22 из 22 |
| Медиана адресов в карте сайта | 1 604 (на 8) | 9 298 (на 11) | 1 472 (на 22) |
| PHP без поддержки в заголовках | не видно | 1 из 12 | не видно |
Prom в этой выборке медленнее OpenCart примерно вдвое по медиане, зато ровный. Ни один не перешел секунду по медиане, но у трех из девяти медиана выше 800 мс. Canonical и hreflang есть везде, разметка товара — на семи из восьми открытых товарных страниц. Сервер на арендованной платформе настраивает платформа, а не владелец магазина. Еще одна деталь: на всех 9 главных стоит один и тот же идентификатор Google Analytics 4, отдельно от собственного идентификатора магазина. Значит, этот тег добавляет платформа, а не владелец. Какие данные он собирает, мы не исследовали.
OpenCart дает наибольший разброс в обе стороны: от 97 мс до 1,3 с, canonical лишь на двух главных из двенадцати. На одном магазине карта сайта отвечает кодом 200 с пустым телом, и так было 15 и 16 сентября. Еще один показывает в заголовках PHP 7.3. Восемь из двенадцати магазинов OpenCart взяты из нашего августовского измерения, поэтому разбивку по нишам мы здесь не повторяем, она есть в технической базе рынка по 39 магазинам.
Хорошоп измерен лишь частично. robots.txt и карта сайта есть на всех 22, и карта объявлена в robots.txt у каждого. Все, что читается из HTML, для 21 магазина извне недоступно.
И еще одно наблюдение: медианный каталог в OpenCart в этой выборке в несколько раз больше, чем в Prom, а сервер отвечал быстрее. Так что размером каталога разницу во времени здесь не объяснить.
Как проверить свой магазин за 10 минут
1. Не измеряет ли ваш инструмент отказ. Сравните код ответа на HEAD и на GET:
curl -s -I -o /dev/null -w 'HEAD: %{http_code} %{time_starttransfer} с\n' https://ваш-магазин.ua/
curl -s -o /dev/null -w 'GET: %{http_code} %{time_starttransfer} с\n' https://ваш-магазин.ua/
Если HEAD дает 405 или 403, а GET дает 200, то сервисы, которые измеряют через HEAD, показывают вам неправдивое время. Для GET снимите пять замеров и берите медиану. Что означает сама цифра, мы разбирали в статье о скорости сайта.
2. Что видит клиент без браузера.
curl -sL https://ваш-магазин.ua/ -o home.html
wc -c home.html
grep -c '<title' home.html
Несколько сотен байт без <title> означают, что вместо магазина отдается страница проверки или защиты. Тогда каждый внешний аудит вашего сайта описывает именно ее.
3. Что написано в robots.txt.
curl -s https://ваш-магазин.ua/robots.txt | head -20
Посмотрите, есть ли там Content-signal и какие сигналы он объявляет.
4. Что получает Google. В Search Console откройте проверку URL, запустите проверку опубликованного адреса и просмотрите HTML, который получил робот. Если там магазин, поиск видит магазин, что бы ни показывал curl. Этот шаг может сделать только владелец ресурса, и это самый прямой способ узнать ответ.
Что мы изменили и чего это не исправило
В сводке измерений мы заменили время первого ответа для Prom и OpenCart на замеры через GET. Цифры скрипта для Prom пометили как недействительные. Для 21 магазина Хорошопа пометили недействительными все поля, которые читаются из HTML: время ответа, canonical, счетчики, hreflang и разметку. Правило, которое мы применили: ответ на несколько сотен байт без заголовка страницы — это «не измерено», а не ноль.
Главного пробела это не закрыло. Сравнить HTML Хорошопа с двумя другими платформами извне мы до сих пор не можем, а обходить проверку не будем. Выборки малы и не случайны. Время ответа снято из одной точки сети за один вечер и только для главной, то есть это время сервера, а не скорость, которую ощущает покупатель.
Если вы думаете о переезде, первый шаг — ваши собственные замеры, а не наша таблица. Для магазинов на Хорошопе мы описали, с чего начинаем, на странице о переезде с Хорошопа. Полную проверку всех страниц, а не только главной, мы делаем в техническом аудите.




