Коротко. Движок сайта выдают следы, которые CMS оставляет в коде страницы и ответах сервера: мета-тег generator, характерные пути (/wp-content/ у WordPress, /bitrix/ у 1С-Битрикс), классы и комментарии в HTML, заголовки ответа (X-Powered-By, cookie вроде PHPSESSID или BITRIX_SM). Самый быстрый способ — прогнать адрес через автоматический определитель, который проверяет десятки таких признаков за один заход. Учтите: часть сайтов намеренно прячет следы или собрана вручную — тогда движок определить не удастся, и это нормальный результат, а не ошибка. Ниже — по каким признакам смотреть и как проверить.
Зачем вообще знать движок сайта
- Выбор платформы. Смотрите, на чём сделаны сайты, которые вам нравятся, чтобы выбрать движок для своего.
- Конкурентная разведка. Понять стек конкурента: самописный движок, коробочный Битрикс или конструктор Tilda — это разные бюджеты и возможности.
- Безопасность. Устаревшая версия популярной CMS — известный набор уязвимостей. Определив движок, проще оценить риски (и свои, и подрядчика).
- Оценка перед покупкой/поддержкой. Прежде чем брать сайт на доработку, полезно знать, во что придётся погружаться.
По каким следам узнают CMS
Движок — как почерк: даже если убрать вывеску, остаются характерные пути, имена файлов и заголовки. Полностью стереть все следы сложно, поэтому большинство массовых сайтов определяются по совокупности признаков.
1. Мета-тег generator
Многие CMS честно подписываются в <head>:
<meta name="generator" content="WordPress 6.5">
<meta name="generator" content="Tilda">
Самый прямой признак — но его часто удаляют ради безопасности, так что отсутствие тега ничего не опровергает.
2. Характерные пути и файлы
Загляните в исходный код страницы (Ctrl+U) и поищите пути к статике — они выдают движок вернее всего:
| CMS / платформа | Характерные следы |
|---|---|
| WordPress | /wp-content/, /wp-includes/, /wp-json/, вход /wp-admin |
| 1С-Битрикс | /bitrix/, cookie BITRIX_SM_*, /upload/ |
| Joomla | /media/jui/, /components/, /administrator |
| Tilda | tilda-blocks, static.tildacdn.com |
| Drupal | /sites/default/, /core/, заголовок X-Generator: Drupal |
| OpenCart / MODX | пути catalog/view/, /assets/components/ |
3. Заголовки ответа и cookie
Сервер часто выдаёт стек в заголовках: X-Powered-By, X-Generator, а также cookie сессии (PHPSESSID, BITRIX_SM_*, laravel_session). Посмотреть заголовки, ничего не устанавливая, можно через проверку HTTP-заголовков — там же видно веб-сервер (nginx/Apache/IIS). Подробнее о том, что читать в заголовках — в разборе заголовков ответа.
4. Автоматический определитель
Все проверки выше делает за один заход определитель технологий: он собирает generator, пути, заголовки, cookie, JS-библиотеки и выдаёт вероятную CMS, веб-сервер, аналитику и фреймворки. Быстрее, чем вручную листать исходник, и не пропускает мелочи.
Когда движок определить не удаётся
Это нормальная ситуация, а не сбой инструмента:
- Следы намеренно вычищены. Убран
generator, переименованы пути, скрыты заголовки — грамотная защита от автоматического поиска уязвимостей. - Самописный движок или фреймворк. Сайт на Laravel, Django, Next.js без коробочной CMS не «определится как CMS» — потому что её нет.
- Headless и статика. Контент отдаётся через API, а фронтенд собран статически — следов классической CMS на страницах может не быть вовсе.
Если движок не определился — это тоже ответ: перед вами либо аккуратно закрытый сайт, либо самописное решение. И то, и другое говорит об уровне разработки больше, чем ярлык «WordPress».
Частые вопросы
Определитель показал WordPress, а владелец говорит, что сайт самописный. Кто прав?
Смотрите на конкретные следы. Если есть /wp-content/ и /wp-json/ — это WordPress, даже если сверху навешена кастомная тема. Бывает и наоборот: одиночный признак (например, jQuery или библиотека, которую использует и WordPress) — это не CMS, а просто совпадение. Верьте совокупности путей и заголовков, а не одному маркеру.
Зачем скрывать, на каком движке сайт?
Ради безопасности. Зная точную CMS и её версию, злоумышленник сразу подбирает известные уязвимости. Поэтому удаление generator, скрытие версии и лишних заголовков — обычная практика хардненинга. Если это ваш сайт — стоит проверить, не выдаёт ли он лишнего, через сканер безопасности.
Можно ли по CMS понять, что сайт уязвим?
Косвенно. Сам факт «это WordPress» ничего не решает — опасна устаревшая версия с незакрытыми дырами. Определив движок, дальше смотрят версию и дату обновлений; для своего сайта надёжнее держать его на регулярной проверке, а не полагаться на скрытность.
Чеклист на память
- Движок выдают: мета-
generator, пути (/wp-content/,/bitrix/), заголовки и cookie. - Один признак — не диагноз; верьте совокупности путей и заголовков.
- Автоопределитель проверяет десятки признаков за заход — быстрее ручного поиска.
- Не определился — значит, следы вычищены или движок самописный. Это тоже ответ.
- Свой сайт проверьте на лишние раскрытия (версия, заголовки) сканером безопасности.