Часто, при посещении других сайтов вебмастеру может понравиться тот или иной функционал. Где-то имеется красивый слайдер на главной странице, где-то интересный виджет в боковой панели и т.д. Кому-то важна статистика, кто-то ищет движок, который лучше всего подходит для данной тематики. Причин, по которой может понадобиться знание того, на чём (на каком движке / CMS) работает сайт – масса.
Мы не будем рассказывать о причинах, мы расскажем о том, как это узнать.
Немного теории
Что такое CMS? Content Management System (русск. «Система управления контентом/содержимым») – это программное обеспечение, скрипт, отдельная программа или даже целый программный комплекс, которые облегчают процесс управления сайтом. Например, ускорение публикации контента, заполнение метатегов, управление правами и ролями пользователей, настройка интерфейса и т.п.
В свою очередь, CMS-системы могут отличаться:
- назначением (это могут быть узкоспециализированые решения для запуска интернет-магазинов, социальных сетей, блогов и т.п., а могут быть универсальные движки, которые подходят сразу для нескольких задач);
- моделью распространения и дистрибьюции (очень популярны «коробочные»/хостед движки, которые можно развернуть на своём собственном сервере, не менее распространены «облачные»/SaaS-решения, которые предоставляются «как сервис»; и SaaS, и «коробочные» CMS могут быть как платными, так и бесплатными, с разовой покупкой или с моделью подписки);
- языком программирования (наиболее популярным языком web-программирования является PHP, поэтому его поддерживают практически все общие/shared-хостинги, но CMS может быть написана и на других языках программирования; код движка может быть открытым или закрытым, в основе CMS может лежать определённый фреймворк и т.д.);
- по способу хранения данных (бывают CMS, которые обходятся в работе без использования баз данных, но основная часть популярных CMS работает с БД, какие-то CMS рассчитаны только на определённый тип баз данных, а какие-то могут работать одновременно с несколькими разными типами БД);
- по функционалу (с графическим редактором текста/страниц или без него, с возможностью установки расширений/дополнений или без них, с возможностью правки кода шаблонов или без, и т.д.).
CMS-системы могут быть тиражными (разрабатываются одним или несколькими разработчиками, но применяются на многих сайтах, сопровождаются в том числе сторонними специалистами) или студийными (так называемые «самописные» движки, их сопровождением и внедрением занимается только одна группа разработчиков/web-студия).
Архитектура движка влияет на требования к хостингу, а также на функциональные возможности сайта. Например, если WordPress рассчитан, в основном, на фан-проекты или на сайты с небольшой и средней посещаемостью, то для крупных проектов его внедрение будет очень проблематичным. С другой стороны, внедрение, например, CMS Drupal на малом проекте будет слишком затратным. Зато этот движок будет очень полезен при построении сложного сайта с коммерческой эксплуатацией (запуск существенно быстрее и проще, чем при разработке «с нуля»).
Как определить движок сайта
Так или иначе, при формировании страниц сайта CMS-система оставляет свои «хвосты»:
- формирует характерные пути хранения файлов;
- прописывает уникальные настройки в куки (cookies);
- может оставлять следы при автоматическом формировании кэша или специфичных файлов (например, robots.txt);
- имеет уникальную структуру URL-адресов страниц (особенно при дефолтных настройках).
А ещё разработчики могут использовать прямое указание на движок в коде шаблона – так они могут пропиарить свой движок и получить новых клиентов/пользователей. Отдельные владельцы сайтов сами размещают такую ссылку на движок или забывают её убрать/не знают, как это сделать. Выглядит это примерно так: «сайт работает на WordPress».
Опытные web-мастера могут определить CMS только по внешнему виду страниц (по характеру и расположению элементов), а также по функционалу.
Но новичкам лучше и проще всего использовать специальные web-сервисы.
Самостоятельное определение CMS
Самый простой и быстрый вариант – набрать в адресной строке браузера:
исследуемый-сайт.ру/admin
Примерно в половине случаев вы попадёте на страницу входа для администратора.
Например, сайт на WordPress автоматически перенаправит вас на адрес:
исследуемый-сайт.ру/wp-login.php
Если это CMS Magento, Host CMS, Joomla, OpenCart или многие другие популярные движки, то вы увидите форму авторизации с характерными признаками системы (можно найти прямые ссылки на указание сайта разработчиков, логотип CMS и т.п.).
У некоторых CMS адрес для входа администратора может отличаться, например:
- Drupal: исследуемый-сайт.ру/user
- Joomla: исследуемый-сайт.ру/administrator
- WebAsyst: исследуемый-сайт.ру/login
- InstantCMS: исследуемый-сайт.ру/login
- DLE: исследуемый-сайт.ру/admin.php
- 1C-Битрикс: исследуемый-сайт.ру/bitrix/admin
Правда, если владелец сайта позаботился о безопасности, он мог изменить путь входа в админ-панель на альтернативный, который не подобрать стандартным способом (например, исследуемый-сайт.ру/einuYhBllKnnbfgb7.php и т.п.). В этом случае так просто CMS не определить.
Второй, более практичный способ – посмотреть исходный код страницы и найти характерные признаки в указании путей хранения файлов, в скриптах или в других местах HTML-кода.
Посмотреть исходный код можно в любом современном браузере, нажав комбинацию Ctrl+U (или просто нажмите правой кнопкой мыши в любой части страницы и выберите пункт «Просмотр кода страницы»). В новой вкладке откроется текстовый файл, в котором будут видны все HTML-теги и скрипты.
Начните поиск (форма поиска открывается при нажатии комбинации клавиш Ctrl+F) с мета-тега «generator».
Многие популярные CMS указывают даже версию движка, как в случае с WordPress:
<meta name="generator" content="WordPress 5.4.2" />
Так будет выглядеть тег, если страница сформирована в онлайн-редакторе Wix:
<meta name="generator" content="Wix.com Website Builder"/>
Обратите внимание на формирование путей для статичного контента (изображений, скриптов, файлов стилей и т.п.):
<link rel='stylesheet' id='vwcss-theme-css' href=исследуемый домен.ру/wp-content/themes/presso/css/theme.css?ver=2.1.0' type='text/css' media='all' />
Тут видно не только, что это за движок (характерный каталог wp-content/themes), но и какая тема используется (Presso, версия 2.1.0).
Ссылки вида исследуемый-сайт.ру/sites/default/files/css… используются в CMS Drupal.
Так будет выглядеть указание на использование модуля Language Switcher для Joomla (используется для мультиязычных сайтов):
<link href="/media/mod_languages/css/template.css?cb3a562926f3ad091f4b9470b8c2e914" rel="stylesheet" />
И так далее.
Можно обратить внимание даже на отдельные переменные в скриптах, например:
var LIVESTREET_SECURITY_KEY = ‘’; (явное указание на CMS Livestreet, используется для построения социальных сетей).
Указание CMS можно найти в таких файлах, как robots.txt. Причём, даже если здесь нет явно прописанного названия, можно обратить внимание на исключённые из индекса каталоги сайта (как правило, в этих директориях хранятся файлы движка). Они будут косвенно указывать на типовую структуру CMS.
Ещё один способ – особенности указания URL-адресов (работает, только если используется структура «по умолчанию»).
Сервисы для определения движка сайта
Если вы плохо разбираетесь в HTML-коде, не знаете где, а главное, что искать, то логично воспользоваться специальными онлайн-сервисами, которые попытаются определить CMS выбранного сайта автоматически.
Всё, что вам нужно сделать – ввести адрес нужной страницы/сайта. Такой подход точно понравится новичкам.
Ниже рассмотрим тройку лидеров по популярности в Рунете.
1. BuiltWith
BuiltWith – это иностранный web-сервис, запущенный крупной аналитической компанией из Австралии. Разработчики делают ставку не только на определение CMS-системы сайта. Сервис способен проанализировать массу других показателей. Для крупных коммерческих клиентов предоставляется расширенная аналитика, которую можно использовать при мониторинге конкурентов или составления картины происходящего на рынке.
Без какой-либо регистрации вы сможете узнать об исследуемом сайте практически всё, что нужно:
- на каком языке программирования он написан;
- какой web-сервер используется;
- какие виджеты и популярные технологии применяются (jQuery, Fancybox и т.п.);
- есть ли поддержка мобильных платформ;
- подключена ли аналитика к сайту и какая;
- зарегистрирован ли сайт в панелях вебмастера;
- используется или нет система доставки контента (CDN);
- какой почтовый сервис используется;
- какие шрифты, фреймворки и внешние сервисы задействованы на сайте;
- есть ли поддержка SSL-сертификатов и кто поставщик.
И многое другое. По каждому исследуемому параметру можно посмотреть примеры сайтов с рейтингами.
Благодаря регулярному обходу всех действующих сайтов своими ботами сервис составляет единую базу данных.
На платной основе предлагается доступ для бизнес-клиентов, которым нужна расширенная аналитика по той или иной web-технологии в заданном секторе онлайн-рынка.
Минимальный тариф обойдётся в 295 $/месяц.
Из дополнительных технических возможностей можно выделить: наличие расширений для всех актуальных браузеров, возможность интеграции с CRM и другими сервисами (в том числе с Microsoft Excel и Google Таблицы), наличие API.
2. WebDataStats
WebDataStats – это бесплатный web-сервис для максимально точного определения движка сайта. Здесь вы сможете определить не только популярные CMS, но и достаточно редкие экземпляры движков, которые уже давно не поддерживаются разработчиками. Если сайт использует не CMS, а например, фреймворк, то WebDataStats определит и его. Если страница сформирована в каком-либо десктопном редакторе или в онлайн-конструкторе, WebDataStats сможет найти и их следы.
В общей сложности, поддерживается определение более 1000 разных платформ для создания сайтов.
Пользователи могут:
- установить расширение для своего браузера и просто зайти на нужную страницу (расширение WebDataStats определит CMS по нажатию кнопки);
- пройти процедуру регистрации на официальном сайте и получить расширенные возможности (история запросов, массовая проверка, ведение истории CMS по каждому сайту, экспорт данных, интеграция по API и т.п., доступ к той или иной функции зависит от текущего тарифа).
Бесплатная версия доступа имеет ограничения – не более 5 доменов в сутки. Это ограничение не касается расширения для браузера (история запросов не ведётся, так как расширение используется без авторизации в аккаунте).
Платные услуги могут оказываться:
- по модели подписки (от 10 до 100 $/месяц, при оплате сразу за год можно получить скидку 30%);
- по предоплате (минимальная сумма пополнения – 1$, этого хватит на 100 проверок; стоимость одной проверки получается выше, чем при подписке, но количество оставшихся проверок не сгорает по итогам месяца).
От выбранного тарифа подписки будет зависеть набор доступных опций: лимит на ограничение при массовой проверке, доступ к истории, возможность экспорта и т.п. Доступ к API можно получить только в максимальном тарифе (100 $/месяц).
В качестве отдельной услуги доступна покупка готовой базы данных в разрезе используемой CMS (возможна группировка по другим критериям).
3. WhatCMS
WhatCMS – это один из самых простых и доступных сервисов по проверке движка сайта. Самое главное его преимущество в том, что бесплатно предоставляются не только онлайн-проверки (при заполнении соответствующих форм на сайте), но и запросы по API (полезный механизм для интеграции в другие сайты и в приложения, при бесплатном есть ограничения).
Разработчики заявляют о возможности определения более 500 платформ (CMS/фреймворков/онлайн-конструкторов). Есть расширения для браузеров Chrome и Firefox.
Сама форма проверки максимально простая, вы получаете только самую важную информацию – какая CMS используется и её версия (если возможно определить), используемая база данных, язык программирования и web-сервер.
При необходимости можно попытаться определить провайдера хостинга, а также тему WordPress или Shopify.
По каждой известной CMS можно посмотреть статистику использования (в том числе распределения долей по используемым версиям, по доменным зонам), популярные сайты, которые её используют, а также организовать сравнение с другими CMS (не более 3-х шт.).
Для обычных пользователей сервис предоставляется бесплатно. Платные тарифы применяются для пакетных операций (при массовых запросах из личного кабинета или по API). Стоимость – от 10 до 360 $/месяц. В оплату включён доступ сразу к трём сервисам (WhatCMS, Who-Hosts-This, ThemeDetect).
Регистрация может понадобиться, только если необходимо создать специальную выборку технических данных в каком-либо разрезе (по популярности, по провайдеру хостинга, по языку, доменной зоне и т.п.) с возможностью выгрузки результатов в файл.
Единственный недостаток сервиса – отсутствие интерфейса на русском языке.
Выводы
Узнать, на какой CMS сделан сайт, можно по косвенным признакам (если они свойственны тому или иному движку) или по прямому указанию в коде. Если у вас возникла необходимость определения движка, лучше всего доверить задачу онлайн-сервисам. Они вычленяют признаки многих CMS, фреймворков и онлайн-платформ (в том числе онлайн-конструкторов).
Вместе с тем, некоторые разработчики CMS формируют универсальные обезличенные пути шаблонов и статичного контента, намеренно усложняя процесс опознания движка. Делают они это, в первую очередь, в целях повышения безопасности. О скрытии следов использования CMS может позаботиться и сам владелец сайта, если он не хочет, чтобы кто-то его исследовал.
Как бы там ни было, если онлайн-сервисы не могут определить движок, вряд ли у вас это получится сделать вручную. При этом многие сервисы выполняют разовые проверки совершенно бесплатно.