15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало
21.10.2024

Как да разберете кой WordPress тема използва даден сайт

Идентифицирането на WordPress темата, работеща на даден уебсайт, се свежда до един основен принцип: WordPress съхранява всички активи на темата под предвидим път на директория — /wp-content/themes/[theme-slug]/ — и този път се разкрива в рендирания HTML, CSS препратките и HTTP отговорите на множество места. След като знаете къде да търсите, разпознаването отнема по-малко от две минути без специални инструменти.

Това ръководство обхваща всеки надежден метод за разпознаване — от автоматизирани онлайн детектори до инспекция на необработени HTTP заглавки, включително крайните случаи, при които темите са умишлено замаскирани, и какво все още можете да извлечете в тези сценарии.

Защо идентифицирането на WordPress тема е важно

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

  • Дизайнерско проучване: Възпроизведете оформление или UI модел, като намерите точната тема, вместо да я изграждате от нулата.
  • Конкурентен анализ: Разберете технологичния стек на конкурентите във вашата ниша.
  • Одит на сигурността: Проверете дали сайт, който управлявате или оценявате, работи с остаряла или уязвима версия на темата.
  • Въвеждане на клиенти: При поемане на WordPress сайт без документация, разпознаването на темата често е най-бързият начин за реконструиране на стека.
  • Проверки за съвместимост на плъгини: Много премиум теми включват специфични плъгини; познаването на темата помага да се предвиди пълното дърво на зависимостите.

Ако изграждате или мигрирате WordPress сайт — независимо дали на Споделен уеб хостинг или напълно управлявана VPS хостинг среда — познаването на точния slug на темата е от съществено значение, преди да можете да възпроизведете дизайн или да одитирате наследена инсталация.

Метод 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/ и следващия / е името на директорията на темата (наричано още slug на темата). Това е каноничният идентификатор, използван в хранилището на WordPress теми и от разработчиците на теми.

Съвет: Параметърът ?ver= на заявката често разкрива номера на версията на темата, което е от решаващо значение за одита на сигурността. Кръстосано проверете тази версия спрямо дневника на промените на темата, за да определите дали е актуална.

Какво ви казва заглавката на style.css

След като имате slug на темата, можете да получите достъп до заглавката на нейната стилова таблица директно, като конструирате 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 location блокове. Ако получите отговор 403 Forbidden, администраторът на сайта е изрично ограничил обхождането на директории — добра практика за сигурност.

Метод 3: Браузърни инструменти за разработчици за задълбочена инспекция

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

Използване на панела Elements

  1. Кликнете с десния бутон навсякъде на целевата страница и изберете Inspect (Chrome, Firefox, Edge).
  2. В раздела Elements натиснете Ctrl+F, за да търсите в DOM.
  3. Потърсете wp-content/themes, за да маркирате всички съответстващи възли.
  4. Прегледайте атрибутите href на таговете <link> и атрибутите src на таговете <script> — и двата ще съдържат slug на темата.

Използване на панела 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: Проверка на футъра за кредити на темата

Много безплатни и freemium 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 хостинг среда или Dedicated сървър — 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: Заявка към WordPress REST API

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 адресите`style.css` Полето Theme Name, ако е достъпно
Блокиран `/wp-content/` достъпДиректен достъп до URL на файлОтпечатъци на включени активи в изходния код на страницата
Минифициран/конкатениран CSSПътища на отделни файловеКомбинираният URL на актива може все още да съдържа slug на темата
Персонализиран път на директория `wp-content`Разпознаване на стандартния пътНовият път е видим в URL адресите на активите в изходния код на страницата
Деактивиран REST APIРазпознаване чрез APIИзходният код на страницата и кредитите в футъра не са засегнати
Премахнати кредити в футъраАтрибуция в футъраИнспекцията на изходния код все още работи
Активи, проксирани чрез CDNПътища на оригиналния сървърCDN URL адресите може все още да съдържат сегменти на slug на темата

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

Сравнение: Методи за разпознаване на теми с един поглед

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

Практически съображения при използване на разпозната тема

След като идентифицирате темата, следват няколко последващи решения:

Лицензиране: Повечето WordPress теми са лицензирани под GPL, което позволява свободно преразпространение. Въпреки това, премиум теми, продавани чрез пазари като ThemeForest, използват разделено лицензиране — PHP кодът е GPL, но включените активи (изображения, шрифтове, JavaScript библиотеки) могат да носят търговски лицензи. Закупуването на легитимен лиценз е правилният подход.

Съответствие на версиите: Ако възпроизвеждате дизайн, съответствайте на точната версия, която сте разпознали. По-новите версии може да имат значително различни оформления или премахнати функции.

Зависимости от плъгини: Теми като Divi, Avada и теми, базирани на Elementor, разчитат силно на придружаващи плъгини. Самата тема няма да възпроизведе дизайна без съответния конструктор на страници и неговите запазени шаблони.

Последствия за производителността: Ако разполагате разпознатата тема на собствена инфраструктура — независимо дали на VPS с cPanel или обикновен VPS хостинг — направете бенчмарк на теглото на активите на темата, преди да се ангажирате. Някои популярни теми зареждат 500KB+ неоптимизиран 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 адрес на актив, съдържащ разпознаваем slug на тема, след което проверете чрез REST API, ако крайната точка е отворена.
  • Одитирате собствена WordPress инсталация: Използвайте WP-CLI на вашата VPS контролен панел среда за най-пълна картина, включително статус на наличност на актуализации.

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

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

Често задавани въпроси

Може ли WordPress сайт да скрие напълно темата си от разпознаване?

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

Каква е разликата между slug на тема и име на тема?

Името на темата е четимият от човека етикет, дефиниран в заглавката style.css (напр. „Astra”). Slug на темата е името на директорията на сървъра (напр. astra). Те обикновено са сходни, но не винаги идентични — премиум теми понякога използват slugове, различаващи се от техните показвани имена. Slug е това, което има значение за WP-CLI команди и директен достъп до файлове.

Защо онлайн детекторите на теми понякога връщат грешна тема?

Повечето детектори анализират първата /wp-content/themes/ препратка в изходния код на страницата. Ако е активна дъщерна тема, те връщат нейното име, а не на родителската. Освен това, ако сайтът използва CDN, който пренаписва URL адресите на активите, детекторът може изобщо да не намери WordPress-специфичен път.

Работи ли разпознаването на теми при headless WordPress настройки?

Не. При headless WordPress архитектура, предният край е отделен от WordPress — обикновено е React, Next.js или Vue приложение, обслужвано от отделен произход. WordPress темата се използва само в административния бекенд и не се рендира в публично достъпния HTML. Разпознаването на теми чрез инспекция на изходния код на страницата ще намери фреймуърка на предния край, а не WordPress темата.

Законно ли е използването на тема, идентифицирана на друг сайт?

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

15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало