E-commerce и бизнесТехническое SEO

Prom, Хорошоп или OpenCart: что видно извне в 43 магазинах

15 сентября 2026 мы извне измерили 43 магазина на Prom, Хорошопе и OpenCart. По дороге нашли две ловушки измерения: HEAD-запрос, из-за которого Prom казался самым быстрым, и страницу проверки, которую 21 из 22 магазинов Хорошопа отдают клиенту без браузера.

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 Хорошопа с двумя другими платформами извне мы до сих пор не можем, а обходить проверку не будем. Выборки малы и не случайны. Время ответа снято из одной точки сети за один вечер и только для главной, то есть это время сервера, а не скорость, которую ощущает покупатель.

Если вы думаете о переезде, первый шаг — ваши собственные замеры, а не наша таблица. Для магазинов на Хорошопе мы описали, с чего начинаем, на странице о переезде с Хорошопа. Полную проверку всех страниц, а не только главной, мы делаем в техническом аудите.

Теги

E-commerceSEOPerformance

Вам понравилась статья?

Ваше мнение помогает нам создавать лучший контент

Поделитесь с друзьями

Нашли что-нибудь полезное?

Помогите другим узнать это — поделитесь статьей в социальных сетях

Спасибо, что помогаете нам расти

Основатель LIONEX

Владислав Чистяков

Пишет о том, что делает руками: интернет-магазины на OpenCart, приложения на Next.js, интеграции и скорость сайтов. В статьях — замеры и проверки, которые читатель может повторить на своём проекте, а не общие советы. Коммерческая разработка с 2015 года.

Вопросы

Частые вопросы

Ответы на популярные вопросы по теме

Какая платформа оказалась самой быстрой в вашем измерении?

Сравнить удалось только две. По медиане первого ответа сервера на GET-запрос главной OpenCart дал 326,0 мс на 12 магазинах, Prom — 713,8 мс на 9 магазинах, измерение 15 сентября 2026 года. Для Хорошопа эту цифру извне снять не удалось. Это время сервера на неслучайной выборке из одной точки сети, а не скорость, которую ощущает покупатель.

Почему внешние инструменты показывают мой магазин на Prom быстрее, чем он есть?

Если инструмент измеряет время запросом HEAD, он может получить быстрый отказ с кодом 405 вместо страницы. Так было с нашим собственным скриптом: для Prom он выдал 138,7 мс, а обычный GET дал 713,8 мс. Проверьте, какой код ответа стоит рядом с цифрой времени.

Что видит аудит или бот без браузера на магазине Хорошопа?

15 и 16 сентября 2026 года на 21 из 22 проверенных магазинов запрос без браузера получал крошечную страницу со скриптом проверки вместо магазина. Один из этих магазинов, открытый 16 сентября в браузере, загрузился обычно. Поэтому canonical, счетчики и разметку мы для этих магазинов не измерили и пометили как недействительные.

Видит ли Google страницу проверки вместо моего магазина на Хорошопе?

Мы этого не знаем и не утверждаем. Чтобы проверить извне, пришлось бы подделывать User-Agent поискового робота, а этого мы не делаем. Владелец магазина может проверить это сам: в Search Console запустить проверку опубликованного адреса и посмотреть HTML, который получил робот.

Как за несколько минут проверить, что видит внешний аудит на моем сайте?

Сравните код и время ответа на HEAD и на GET. Затем загрузите главную через curl и посмотрите размер файла и есть ли в нем тег title: несколько сотен байт без title означают страницу проверки или защиты. Дальше просмотрите robots.txt, а в Search Console — HTML, который получил Google.

Получайте лучшие статьи на почту

Подпишитесь на нашу рассылку и получайте полезные советы, инсайты и новости о веб-разработке, маркетинге и бизнесе.

Мы уважаем вашу конфиденциальность. Отписаться можно в любой момент.

Ещё в блоге

Похожие статьи

Healthcheck дал 60 % запросов приложения: что показали первые сутки метрикВеб-разработка

Healthcheck дал 60 % запросов приложения: что показали первые сутки метрик

21 сентября 2026 года, в первые сутки учёта запросов по маршрутам, служебный /api/health получил 13 666 запросов — 60 % трафика приложения, и каждый шёл в общую базу. Рассказываем, какие две настройки это убрали, какую цену мы за них платим и как проверить свой healthcheck.

Читать дальше
154 ошибки типов, которые выбрасывала сборка: что в них нашлосьВеб-разработка

154 ошибки типов, которые выбрасывала сборка: что в них нашлось

21 сентября 2026 года проверка типов на нашем сайте показала 154 ошибки, хотя сборка каждый раз была зелёной: результат проверки просто выбрасывался. Внутри нашлись нули в статистике ссылок и в экспорте аналитики, сортировка, которая не сортировала, и тесты, которые не запускались. Рассказываем, как разбирали, что изменили и как проверить свой проект.

Читать дальше
Сертификаты продлеваются сами: TLS на 116 сайтах и один, который не продлилсяВеб-разработка

Сертификаты продлеваются сами: TLS на 116 сайтах и один, который не продлился

22 сентября 2026 года мы проверили HTTPS-сертификаты на 116 сайтах, которые уже измеряли для рыночных исследований, и для 104 из них сравнили состояние с августовским. Все 116 прошли проверку, 108 стоят на 89- и 90-дневных бесплатных сертификатах, и только у одного сайта сертификат до сих пор не продлился, хотя при типичных настройках уже должен был. Разбираем замеры, границы метода и показываем, как проверить свой сайт одной командой.

Читать дальше