Як дізнатися, яку тему 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 теми та список активних плагінів, виявлених із підключених скриптів і таблиць стилів.
Як ним користуватися:
- Перейдіть на
whatwpthemeisthat.com. - Вставте повну URL-адресу цільового сайту в поле введення.
- Натисніть Search.
- Перегляньте повернену картку теми — вона містить пряме посилання на репозиторій теми або сторінку покупки.
Обмеження: Якщо сайт використовує сильно налаштовану дочірню тему або перейменував директорію теми, інструмент може повернути назву батьківської теми або взагалі не дати результату.
WPThemeDetector (wpthemedetector.com)
WPThemeDetector йде далі, також каталогізуючи активні плагіни разом із темою. Він особливо корисний, коли ви хочете зрозуміти повну екосистему плагінів, а не лише тему.
Як ним користуватися:
- Перейдіть на
wpthemedetector.com. - Введіть URL-адресу цільового сайту.
- Натисніть Experience the magic of WPTD.
- На сторінці результатів відображається активна тема та до 20 виявлених плагінів із посиланнями на їхні записи на WordPress.org.
Обмеження: Безкоштовний рівень обмежує кількість запитів. Для масового аналізу ручна перевірка є більш практичною.
IsItWP (isitwp.com)
IsItWP поєднує виявлення теми з більш широким скануванням технологічних відбитків. Він підтверджує, чи взагалі сайт працює на WordPress, перш ніж намагатися визначити тему — це корисно, коли ви не впевнені, чи є цільовий сайт інсталяцією WordPress.
Метод 2: Безпосередня перевірка вихідного коду сторінки
Коли автоматизовані інструменти не спрацьовують або повертають неоднозначні результати, вихідний код сторінки є першоджерелом істини. WordPress за замовчуванням вставляє таблицю стилів активної теми як тег <link> у розділ <head> кожної сторінки.
Перегляд необробленого вихідного коду сторінки
- Відкрийте цільовий сайт у будь-якому браузері.
- Натисніть
Ctrl+Uу Windows/Linux абоCmd+Uу macOS, щоб відкрити необроблений вихідний код у новій вкладці. - Натисніть
Ctrl+F(Windows/Linux) абоCmd+F(macOS), щоб відкрити рядок пошуку. - Знайдіть рядок
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 або блоки розташування NGINX. Якщо ви отримуєте відповідь 403 Forbidden, адміністратор сайту явно обмежив перегляд директорій — це хороша практика безпеки.
Метод 3: Інструменти розробника браузера для глибокої перевірки
DevTools браузера забезпечують більш детальний контроль, ніж перегляд необробленого вихідного коду, особливо коли сторінка збирається динамічно або ресурси завантажуються асинхронно.
Використання панелі Elements
- Клацніть правою кнопкою миші будь-де на цільовій сторінці та виберіть Inspect (Chrome, Firefox, Edge).
- На вкладці Elements натисніть
Ctrl+Fдля пошуку в DOM. - Знайдіть
wp-content/themes, щоб виділити всі відповідні вузли. - Перевірте атрибути
hrefтегів<link>та атрибутиsrcтегів<script>— обидва міститимуть слаг теми.
Використання панелі Network
Панель Network є найнадійнішим методом, коли сайт використовує контент, відрендерений за допомогою JavaScript, або відкладає завантаження таблиць стилів:
- Відкрийте DevTools і перейдіть на вкладку Network.
- Відфільтруйте за CSS або All.
- Виконайте жорстке перезавантаження сторінки за допомогою
Ctrl+Shift+R(Windows/Linux) абоCmd+Shift+R(macOS). - Знайдіть будь-який запит, URL-шлях якого містить
/wp-content/themes/. - Натисніть на запит, щоб перевірити заголовки відповіді — заголовок
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 Certificate. Теми, що жорстко кодують шляхи до ресурсів 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 listWP-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 ресурси, вбудовані в тему.
