15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать
21.10.2024

Как узнать, какую тему WordPress использует сайт

Определение темы WordPress, используемой на любом сайте, сводится к одному основному принципу: WordPress хранит все ресурсы темы по предсказуемому пути директории — /wp-content/themes/[theme-slug]/ — и этот путь проникает в отрисованный HTML, ссылки CSS и HTTP-ответы в нескольких местах. Как только вы знаете, где искать, обнаружение занимает менее двух минут без каких-либо специальных инструментов.

Это руководство охватывает все надёжные методы обнаружения: от автоматических онлайн-детекторов до проверки необработанных HTTP-заголовков, включая крайние случаи, когда темы намеренно скрываются, и то, что всё равно можно извлечь в таких сценариях.

Зачем определять тему WordPress

Помимо простого любопытства, определение темы служит нескольким законным профессиональным целям:

  • Исследование дизайна: Воспроизведите макет или элемент интерфейса, найдя точную тему, а не воссоздавая её с нуля.
  • Конкурентный анализ: Изучите технологический стек конкурентов в вашей нише.
  • Аудит безопасности: Проверьте, использует ли управляемый или проверяемый вами сайт устаревшую или уязвимую версию темы.
  • Приём клиентов: При получении сайта WordPress без документации определение темы зачастую является самым быстрым способом восстановить стек.
  • Проверка совместимости плагинов: Многие премиальные темы включают определённые плагины; знание темы помогает предсказать полное дерево зависимостей.

Если вы создаёте или переносите сайт WordPress — будь то на Shared Web Hosting или в полностью управляемой среде VPS Hosting — знание точного слага темы необходимо, прежде чем вы сможете воспроизвести дизайн или провести аудит унаследованной установки.

Метод 1: Автоматические онлайн-детекторы тем

Автоматические инструменты — самая быстрая отправная точка. Они анализируют исходный код страницы, разрешают URL-адреса ресурсов CSS и JavaScript и сверяются с известными базами данных тем, чтобы за секунды вернуть структурированные результаты.

What WordPress Theme Is That (whatwpthemeisthat.com)

Это наиболее широко используемый детектор. Он возвращает название темы, версию, автора, URI темы и список активных плагинов, обнаруженных из подключённых скриптов и таблиц стилей.

Как использовать:

  1. Перейдите на whatwpthemeisthat.com.
  2. Вставьте полный URL целевого сайта в поле ввода.
  3. Нажмите Search.
  4. Просмотрите возвращённую карточку темы — она содержит прямую ссылку на репозиторий темы или страницу покупки.

Ограничение: Если сайт использует сильно настроенную дочернюю тему или переименовал директорию темы, инструмент может вернуть название родительской темы или вовсе не дать результата.

WPThemeDetector (wpthemedetector.com)

WPThemeDetector идёт на шаг дальше, также каталогизируя активные плагины наряду с темой. Он особенно полезен, когда вы хотите понять всю экосистему плагинов, а не только тему.

Как использовать:

  1. Перейдите на wpthemedetector.com.
  2. Введите URL целевого сайта.
  3. Нажмите Experience the magic of WPTD.
  4. На странице результатов перечислены активная тема и до 20 обнаруженных плагинов со ссылками на их записи на WordPress.org.

Ограничение: Бесплатный уровень ограничивает количество запросов. Для массового анализа ручная проверка более практична.

IsItWP (isitwp.com)

IsItWP сочетает определение темы с более широким сканированием технологических отпечатков. Он подтверждает, работает ли сайт на WordPress вообще, прежде чем пытаться определить тему — это полезно, когда вы не уверены, является ли целевой сайт установкой WordPress.

Метод 2: Прямая проверка исходного кода страницы

Когда автоматические инструменты не справляются или возвращают неоднозначные результаты, исходный код страницы является источником истины. WordPress по умолчанию вставляет таблицу стилей активной темы в виде тега <link> в раздел <head> каждой страницы.

Просмотр необработанного исходного кода страницы

  1. Откройте целевой сайт в любом браузере.
  2. Нажмите Ctrl+U в Windows/Linux или Cmd+U в macOS, чтобы открыть необработанный исходный код в новой вкладке.
  3. Нажмите Ctrl+F (Windows/Linux) или Cmd+F (macOS), чтобы открыть строку поиска.
  4. Найдите строку wp-content/themes/.

Вы ищете строку следующего вида:

<link rel='stylesheet' id='theme-name-css'
      href='https://example.com/wp-content/themes/theme-slug/style.css?ver=3.2.1'
      type='text/css' media='all' />

Сегмент между /wp-content/themes/ и следующим / — это название директории темы (также называемое слагом темы). Это канонический идентификатор, используемый в репозитории тем WordPress и разработчиками тем.

Совет профессионала: Параметр запроса ?ver= часто раскрывает номер версии темы, что критически важно для аудита безопасности. Сверьте эту версию с журналом изменений темы, чтобы определить, является ли она актуальной.

Что говорит заголовок style.css

Получив слаг темы, вы можете получить доступ к заголовку её таблицы стилей напрямую, вручную составив URL:

https://example.com/wp-content/themes/theme-slug/style.css

В начале правильно оформленной таблицы стилей темы WordPress содержится структурированный блок комментариев, который функционирует как манифест метаданных темы:

/*
Theme Name:  Astra
Theme URI:   https://wpastra.com/
Author:      Brainstorm Force
Author URI:  https://www.brainstormforce.com/
Description: Astra is fast, fully customizable & beautiful WordPress theme...
Version:     4.6.11
License:     GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra
Tags:        custom-background, custom-logo, custom-menu, ...
*/

Этот блок содержит точное название темы, версию, автора и лицензию — всё необходимое для поиска официального источника темы.

Примечание по безопасности: Некоторые защищённые конфигурации WordPress блокируют прямой доступ к файлам темы через правила .htaccess или блоки location в NGINX. Если вы получаете ответ 403 Forbidden, администратор сайта явно ограничил обход директорий — это хорошая практика безопасности.

Метод 3: Инструменты разработчика браузера для глубокой проверки

DevTools браузера обеспечивают более детальный контроль, чем просмотр необработанного исходного кода, особенно когда страница собирается динамически или ресурсы загружаются асинхронно.

Использование панели Elements

  1. Щёлкните правой кнопкой мыши в любом месте целевой страницы и выберите Inspect (Chrome, Firefox, Edge).
  2. На вкладке Elements нажмите Ctrl+F для поиска в DOM.
  3. Найдите wp-content/themes, чтобы выделить все совпадающие узлы.
  4. Изучите атрибуты href тегов <link> и атрибуты src тегов <script> — оба будут содержать слаг темы.

Использование панели Network

Панель Network является наиболее надёжным методом, когда сайт использует контент, отрисованный JavaScript, или откладывает загрузку таблиц стилей:

  1. Откройте DevTools и перейдите на вкладку Network.
  2. Отфильтруйте по CSS или All.
  3. Выполните жёсткую перезагрузку страницы с помощью Ctrl+Shift+R (Windows/Linux) или Cmd+Shift+R (macOS).
  4. Найдите любой запрос, URL-путь которого содержит /wp-content/themes/.
  5. Нажмите на запрос для проверки заголовков ответа — заголовок Last-Modified также может намекнуть на историю обновлений темы.

Чтение заголовков HTTP-ответа

Некоторые конфигурации WordPress раскрывают X-Powered-By или пользовательские заголовки, ссылающиеся на тему или фреймворк. В панели Network нажмите на любой запрос страницы и изучите раздел Response Headers. Хотя это редко бывает само по себе убедительным, это может подтвердить результаты других методов.

Метод 4: Проверка нижнего колонтитула на наличие атрибуции темы

Многие бесплатные и условно-бесплатные темы WordPress включают ссылку «Powered by» в нижнем колонтитуле как условие своей бесплатной лицензии. Это метод обнаружения с наименьшими усилиями, когда он применим.

Прокрутите страницу до самого низа и ищите текстовые шаблоны, такие как:

  • Powered by [Theme Name]
  • WordPress Theme by [Developer Name]
  • [Theme Name] by [Author]

Эти атрибуции обычно ведут непосредственно на официальную страницу темы. Однако премиальные темы и любые сайты, где владелец удалил атрибуцию в нижнем колонтитуле — что разрешено по GPL и большинству коммерческих лицензий — не будут её отображать.

Крайний случай: Некоторые разработчики тем требуют сохранения атрибуции в нижнем колонтитуле как условия бесплатной лицензии. Её удаление без приобретения премиальной лицензии технически нарушает условия лицензии. Если вы не видите атрибуции в нижнем колонтитуле, сайт либо использует премиальную тему, либо владелец заплатил за удаление атрибуции.

Метод 5: Обнаружение дочерних тем и связей с родительскими темами

Критический нюанс, который большинство руководств по обнаружению упускают: дочерние темы чрезвычайно распространены на рабочих сайтах WordPress и принципиально меняют то, что вы находите в исходном коде.

Когда сайт использует дочернюю тему:

  • Активная таблица стилей href указывает на директорию дочерней темы (например, /wp-content/themes/astra-child/style.css).
  • Заголовок style.css дочерней темы содержит поле Template:, которое идентифицирует родительскую тему.
  • Обе директории существуют на сервере одновременно.

Пример заголовка дочерней темы:

/*
Theme Name:  Astra Child
Template:    astra
Version:     1.0.0
*/

Строка Template: astra является окончательным индикатором. Родительская тема — astra в данном случае — это та, которая содержит основную функциональность и систему дизайна. Дочерняя тема только переопределяет определённые шаблоны или стили.

Что это означает для вас: Если вы хотите воспроизвести дизайн, вам нужна родительская тема, а не дочерняя. Если вы хотите понять настройки, вам нужны обе.

Метод 6: Использование WP-CLI на доступных серверах

Если у вас есть SSH-доступ к установке WordPress — например, на вашей собственной среде VPS Hosting или Dedicated Server — WP-CLI предоставляет наиболее авторитетную информацию о теме:

wp theme list --path=/var/www/html/wordpress

Пример вывода:

+------------------+----------+-----------+---------+
| name             | status   | update    | version |
+------------------+----------+-----------+---------+
| astra            | active   | none      | 4.6.11  |
| astra-child      | active   | none      | 1.0.0   |
| twentytwentyfour | inactive | available | 1.1     |
+------------------+----------+-----------+---------+

Для сайта, который вы проверяете удалённо без SSH-доступа, этот метод недоступен — но для ваших собственных установок это окончательный источник истины, который также раскрывает неактивные темы, которые могут представлять поверхность атаки, если их не исправить.

Метод 7: Запрос к REST API WordPress

WordPress по умолчанию предоставляет REST API. На многих немодифицированных установках следующая конечная точка возвращает данные, связанные с темой, встроенные в общую информацию сайта:

https://example.com/wp-json/wp/v2/themes

Важная оговорка: Начиная с WordPress 5.7, эта конечная точка требует аутентификации — неаутентифицированные запросы возвращают ответ 401 Unauthorized. Однако конечная точка общей информации о сайте иногда раскрывает данные темы:

https://example.com/wp-json/

Ищите gmt_offset, timezone_string и иногда метаданные, связанные с темой, в JSON-ответе. Это непоследовательный метод, но его стоит проверить на старых или неправильно настроенных установках.

Работа с обфусцированными или защищёнными сайтами

Некоторые установки WordPress намеренно настроены для скрытия идентичности темы. Вот как выглядит каждая контрмера и что всё равно можно определить:

Техника обфускацииЧто блокируетЧто всё равно утекает
Переименование директории темыИмя директории в URLПоле Theme Name в `style.css`, если доступно
Заблокированный доступ к `/wp-content/`Прямой доступ к файлам по URLОтпечатки подключённых ресурсов в исходном коде страницы
Минифицированный/объединённый CSSПути к отдельным файламURL объединённого ресурса может всё равно содержать слаг темы
Пользовательский путь директории `wp-content`Обнаружение по пути по умолчаниюНовый путь виден в URL ресурсов в исходном коде страницы
Отключённый REST APIОбнаружение через APIИсходный код страницы и атрибуция в нижнем колонтитуле не затронуты
Удалённая атрибуция в нижнем колонтитулеАтрибуция в нижнем колонтитулеПроверка исходного кода всё равно работает
Ресурсы через CDN-проксиПути на исходном сервереURL CDN могут всё равно содержать сегменты слага темы

Ни одна отдельная контрмера не блокирует все векторы обнаружения одновременно. Сайту потребовалось бы реализовать всё вышеперечисленное, чтобы быть эффективно непрозрачным — что операционно нецелесообразно и нарушило бы законную функциональность.

Сравнение: методы обнаружения тем на первый взгляд

МетодТребуемые технические навыкиРаботает без доступа к серверуОбнаруживает дочерние темыОбнаруживает версию темыСкорость
Онлайн-инструменты обнаруженияНетДаЧастичноИногдаОчень быстро
Проверка исходного кода страницыНизкийДаДаДа (через `?ver=`)Быстро
DevTools браузера (Elements)НизкийДаДаДаБыстро
DevTools браузера (Network)СреднийДаДаДаСредне
Проверка атрибуции в нижнем колонтитулеНетДаНетНетМгновенно
Прямой доступ к `style.css`НизкийДаДаДаБыстро
WP-CLI (SSH-доступ)ВысокийНетДаДаОчень быстро
Запрос к REST APIСреднийДа (ограниченно)НетНетБыстро

Практические соображения при использовании обнаруженной темы

После определения темы следует ряд последующих решений:

Лицензирование: Большинство тем WordPress лицензированы по GPL, что разрешает свободное распространение. Однако премиальные темы, продаваемые через торговые площадки, такие как ThemeForest, используют раздельное лицензирование — PHP-код является GPL, но встроенные ресурсы (изображения, шрифты, библиотеки JavaScript) могут иметь коммерческие лицензии. Приобретение законной лицензии — правильный путь.

Соответствие версий: Если вы воспроизводите дизайн, подберите точную обнаруженную версию. Более новые версии могут иметь значительно отличающиеся макеты или удалённые функции.

Зависимости плагинов: Темы, такие как Divi, Avada и темы на основе Elementor, сильно зависят от сопутствующих плагинов. Одна тема не воспроизведёт дизайн без соответствующего конструктора страниц и его сохранённых шаблонов.

Последствия для производительности: Если вы развёртываете обнаруженную тему на собственной инфраструктуре — будь то на VPS с cPanel или на чистом экземпляре VPS Hosting — проведите бенчмаркинг веса ресурсов темы перед принятием решения. Некоторые популярные темы по умолчанию загружают более 500 КБ неоптимизированных CSS и JavaScript.

SSL и смешанный контент: При переносе обнаруженной темы на новый домен убедитесь, что в вашей новой среде настроен действительный SSL-сертификат. Темы, жёстко кодирующие пути ресурсов http://, будут вызывать предупреждения о смешанном контенте на HTTPS-сайтах.

Матрица решений: какой метод использовать

Используйте эту матрицу для выбора подходящего метода обнаружения в зависимости от вашей ситуации:

  • Вам нужен быстрый ответ без технической настройки: Используйте онлайн-детектор (whatwpthemeisthat.com или wpthemedetector.com).
  • Онлайн-инструмент не возвращает результата или возвращает неверный результат: Вернитесь к проверке исходного кода страницы и найдите wp-content/themes/.
  • Исходный код страницы показывает дочернюю тему, но вам нужна родительская: Получите доступ к style.css дочерней темы напрямую и прочитайте поле Template:.
  • Вам нужна точная версия для аудита безопасности: Объедините параметр ?ver= из URL подключённой таблицы стилей с прямой проверкой заголовка style.css.
  • У вас есть SSH-доступ к серверу: Запустите wp theme list через WP-CLI для авторитетных, полных результатов, включая неактивные темы.
  • Все пути CSS обфусцированы или заблокированы: Проверьте панель Network на наличие URL ресурсов, содержащих распознаваемый слаг темы, затем проверьте через REST API, если конечная точка открыта.
  • Вы проводите аудит собственной установки WordPress: Используйте WP-CLI в среде VPS Control Panel для наиболее полной картины, включая статус доступности обновлений.

Ключевые технические выводы

  • Канональным сигналом обнаружения является путь /wp-content/themes/[slug]/style.css, встроенный в теги <link> исходного кода страницы.
  • Дочерние темы идентифицируются по полю Template: в заголовке их style.css, указывающему на слаг родительской темы.
  • Параметр запроса ?ver= в подключённых таблицах стилей часто раскрывает номер версии темы.
  • Команда wp theme list WP-CLI — единственный метод, который раскрывает неактивные (и потенциально уязвимые) установленные темы.
  • Переименование директории темы ломает автоматические инструменты, но не ручную проверку исходного кода, если CSS-файл остаётся доступным.
  • Ни одна отдельная техника обфускации не предотвращает все векторы обнаружения; опытный аналитик с DevTools браузера найдёт слаг темы в большинстве случаев.
  • Всегда проверяйте лицензирование перед развёртыванием обнаруженной темы на рабочем сайте — свобода GPL-кода не распространяется на все встроенные коммерческие ресурсы.

Часто задаваемые вопросы

Может ли сайт WordPress полностью скрыть свою тему от обнаружения?

Практически нет. Даже при переименовании директории, заблокированном доступе к файлам и CDN-проксировании слаг темы обычно появляется хотя бы в одном URL подключённого ресурса в исходном коде страницы. Полная обфускация потребовала бы встраивания всего CSS в строку и удаления всех ссылок на пути к файлам — что нарушает стандартную архитектуру тем WordPress.

В чём разница между слагом темы и названием темы?

Название темы — это удобочитаемая метка, определённая в заголовке style.css (например, «Astra»). Слаг темы — это имя директории на сервере (например, astra). Они обычно похожи, но не всегда идентичны — премиальные темы иногда используют слаги, отличающиеся от их отображаемых названий. Слаг важен для команд WP-CLI и прямого доступа к файлам.

Почему онлайн-детекторы тем иногда возвращают неверную тему?

Большинство детекторов анализируют первую ссылку /wp-content/themes/ в исходном коде страницы. Если активна дочерняя тема, они возвращают название дочерней темы, а не родительской. Кроме того, если сайт использует CDN, перезаписывающий URL ресурсов, детектор может вообще не найти никакого пути, специфичного для WordPress.

Работает ли обнаружение темы на безголовых установках WordPress?

Нет. В безголовой архитектуре WordPress фронтенд отделён от WordPress — это обычно приложение на React, Next.js или Vue, обслуживаемое с отдельного источника. Тема WordPress используется только в административной части и не отрисовывается в публично доступном HTML. Обнаружение темы через проверку исходного кода страницы найдёт фронтенд-фреймворк, а не тему WordPress.

Законно ли использовать тему, обнаруженную на другом сайте?

Это зависит от лицензии. Бесплатные темы на WordPress.org лицензированы по GPL и могут свободно использоваться. Премиальные темы требуют действительной лицензии на покупку в соответствии с условиями разработчика. Использование премиальной темы без лицензии — даже если вы получили файлы другими способами — нарушает условия обслуживания разработчика и, в некоторых юрисдикциях, авторское право на не-PHP ресурсы, входящие в состав темы.

15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать