Jak odkryć, którego motywu WordPress używa dana strona
Identyfikacja motywu WordPress działającego na dowolnej stronie sprowadza się do jednej podstawowej zasady: WordPress przechowuje wszystkie zasoby motywu w przewidywalnej ścieżce katalogu — /wp-content/themes/[theme-slug]/ — a ścieżka ta ujawnia się w wyrenderowanym HTML, odwołaniach CSS i odpowiedziach HTTP w wielu miejscach. Gdy już wiesz, gdzie szukać, wykrycie zajmuje mniej niż dwie minuty bez żadnych specjalnych narzędzi.
Ten przewodnik omawia wszystkie niezawodne metody wykrywania, od automatycznych detektorów online po inspekcję surowych nagłówków HTTP, w tym przypadki brzegowe, w których motywy są celowo zaciemniane, oraz to, co nadal można wyodrębnić w takich scenariuszach.
Dlaczego identyfikacja motywu WordPress ma znaczenie
Poza zwykłą ciekawością, identyfikacja motywu służy kilku uzasadnionym celom zawodowym:
- Badania projektowe: Odtworzenie układu lub wzorca interfejsu użytkownika poprzez pozyskanie dokładnego motywu zamiast budowania go od podstaw.
- Analiza konkurencji: Zrozumienie stosu technologicznego konkurentów w swojej niszy.
- Audyt bezpieczeństwa: Weryfikacja, czy zarządzana lub oceniana strona korzysta z przestarzałej lub podatnej na ataki wersji motywu.
- Wdrażanie klientów: Przy przejmowaniu strony WordPress bez dokumentacji, wykrycie motywu jest często najszybszym sposobem na odtworzenie stosu.
- Sprawdzanie zgodności wtyczek: Wiele premium motywów zawiera określone wtyczki; znajomość motywu pomaga przewidzieć pełne drzewo zależności.
Jeśli budujesz lub migrujesz stronę WordPress — czy to na Współdzielonym Hostingu, czy w pełni zarządzanym środowisku VPS Hosting — znajomość dokładnego slugu motywu jest niezbędna przed replikacją projektu lub audytem przejętej instalacji.
Metoda 1: Automatyczne detektory motywów online
Automatyczne narzędzia są najszybszym punktem wyjścia. Analizują źródło strony, rozwiązują adresy URL zasobów CSS i JavaScript oraz porównują je z bazami danych znanych motywów, zwracając ustrukturyzowane wyniki w ciągu sekund.
What WordPress Theme Is That (whatwpthemeisthat.com)
Jest to najczęściej cytowany detektor. Zwraca nazwę motywu, wersję, autora, URI motywu oraz listę aktywnych wtyczek wykrytych z kolejkowanych skryptów i arkuszy stylów.
Jak z niego korzystać:
- Przejdź do
whatwpthemeisthat.com. - Wklej pełny adres URL docelowej strony w pole wprowadzania.
- Kliknij Search.
- Przejrzyj zwróconą kartę motywu — zawiera bezpośredni link do repozytorium motywu lub strony zakupu.
Ograniczenie: Jeśli strona używa mocno dostosowanego motywu podrzędnego lub zmieniła nazwę katalogu motywu, narzędzie może zwrócić nazwę motywu nadrzędnego lub całkowicie zawieść.
WPThemeDetector (wpthemedetector.com)
WPThemeDetector idzie o krok dalej, katalogując również aktywne wtyczki obok motywu. Jest szczególnie przydatny, gdy chcesz zrozumieć pełny ekosystem wtyczek, a nie tylko motyw.
Jak z niego korzystać:
- Przejdź do
wpthemedetector.com. - Wprowadź adres URL docelowej strony.
- Kliknij Experience the magic of WPTD.
- Strona wyników wyświetla aktywny motyw i do 20 wykrytych wtyczek z linkami do ich wpisów na WordPress.org.
Ograniczenie: Bezpłatny poziom ogranicza liczbę żądań. Do analizy zbiorczej bardziej praktyczna jest ręczna inspekcja.
IsItWP (isitwp.com)
IsItWP łączy wykrywanie motywów z szerszym skanowaniem odcisków palców technologii. Potwierdza, czy strona w ogóle działa na WordPress, zanim podejmie próbę identyfikacji motywu — przydatne, gdy nie jesteś pewien, czy cel jest w ogóle instalacją WordPress.
Metoda 2: Bezpośrednia inspekcja źródła strony
Gdy automatyczne narzędzia zawodzą lub zwracają niejednoznaczne wyniki, źródło strony jest źródłem prawdy. WordPress domyślnie wstrzykuje arkusz stylów aktywnego motywu jako tag <link> w sekcji <head> każdej strony.
Przeglądanie surowego źródła strony
- Otwórz docelową stronę w dowolnej przeglądarce.
- Naciśnij
Ctrl+Uw systemie Windows/Linux lubCmd+Uw systemie macOS, aby otworzyć surowe źródło w nowej karcie. - Naciśnij
Ctrl+F(Windows/Linux) lubCmd+F(macOS), aby otworzyć pasek wyszukiwania. - Wyszukaj ciąg
wp-content/themes/.
Szukasz linii o następującej strukturze:
<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' />Segment między /wp-content/themes/ a następnym / to nazwa katalogu motywu (zwana również slugiem motywu). Jest to kanoniczna nazwa używana w repozytorium motywów WordPress i przez twórców motywów.
Wskazówka: Parametr zapytania ?ver= często ujawnia numer wersji motywu, który jest kluczowy dla audytu bezpieczeństwa. Porównaj tę wersję z dziennikiem zmian motywu, aby sprawdzić, czy jest aktualna.
Co mówi nagłówek style.css
Po uzyskaniu slugu motywu możesz uzyskać bezpośredni dostęp do nagłówka jego arkusza stylów, ręcznie konstruując adres URL:
https://example.com/wp-content/themes/theme-slug/style.cssGórna część dobrze sformułowanego arkusza stylów motywu WordPress zawiera ustrukturyzowany blok komentarzy, który pełni funkcję manifestu metadanych motywu:
/*
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, ...
*/Ten blok zawiera dokładną nazwę motywu, wersję, autora i licencję — wszystko, czego potrzebujesz, aby zlokalizować oficjalne źródło motywu.
Uwaga dotycząca bezpieczeństwa: Niektóre zabezpieczone konfiguracje WordPress blokują bezpośredni dostęp do plików motywu za pomocą reguł .htaccess lub bloków lokalizacji NGINX. Jeśli otrzymasz odpowiedź 403 Forbidden, administrator strony jawnie ograniczył przeglądanie katalogów — co jest dobrą praktyką bezpieczeństwa.
Metoda 3: Narzędzia deweloperskie przeglądarki do dogłębnej inspekcji
Narzędzia deweloperskie przeglądarki zapewniają bardziej szczegółową kontrolę niż przeglądanie surowego źródła, szczególnie gdy strona jest składana dynamicznie lub zasoby są ładowane asynchronicznie.
Korzystanie z panelu Elements
- Kliknij prawym przyciskiem myszy w dowolnym miejscu na docelowej stronie i wybierz Inspect (Chrome, Firefox, Edge).
- W zakładce Elements naciśnij
Ctrl+F, aby wyszukiwać w DOM. - Wyszukaj
wp-content/themes, aby podświetlić wszystkie pasujące węzły. - Sprawdź atrybuty
hreftagów<link>i atrybutysrctagów<script>— oba będą zawierać slug motywu.
Korzystanie z panelu Network
Panel Network jest najbardziej niezawodną metodą, gdy strona używa treści renderowanych przez JavaScript lub odracza ładowanie arkuszy stylów:
- Otwórz DevTools i przełącz się na zakładkę Network.
- Filtruj według CSS lub All.
- Wykonaj twardy reload strony za pomocą
Ctrl+Shift+R(Windows/Linux) lubCmd+Shift+R(macOS). - Szukaj żądań, których ścieżka URL zawiera
/wp-content/themes/. - Kliknij żądanie, aby sprawdzić nagłówki odpowiedzi — nagłówek
Last-Modifiedmoże również wskazywać na historię aktualizacji motywu.
Odczytywanie nagłówków odpowiedzi HTTP
Niektóre konfiguracje WordPress ujawniają X-Powered-By lub niestandardowe nagłówki odwołujące się do motywu lub frameworka. W panelu Network kliknij dowolne żądanie strony i sprawdź sekcję Response Headers. Choć rzadko jest to samo w sobie rozstrzygające, może potwierdzić ustalenia z innych metod.
Metoda 4: Sprawdzanie stopki pod kątem informacji o motywie
Wiele darmowych i freemium motywów WordPress zawiera link z informacją „Powered by” w stopce jako warunek ich bezpłatnej licencji. Jest to metoda wykrywania wymagająca najmniej wysiłku, gdy ma zastosowanie.
Przewiń do samego dołu docelowej strony i szukaj wzorców tekstowych takich jak:
Powered by [Theme Name]WordPress Theme by [Developer Name][Theme Name] by [Author]
Te informacje zazwyczaj prowadzą bezpośrednio do oficjalnej strony motywu. Jednak premium motywy i strony, na których właściciel usunął informacje w stopce — co jest dozwolone na mocy GPL i większości licencji komercyjnych — nie będą tego wyświetlać.
Przypadek brzegowy: Niektórzy twórcy motywów wymagają zachowania informacji w stopce jako warunku bezpłatnej licencji. Usunięcie jej bez zakupu licencji premium technicznie narusza warunki licencji. Jeśli nie widzisz informacji w stopce, strona albo używa motywu premium, albo właściciel zapłacił za usunięcie atrybucji.
Metoda 5: Wykrywanie motywów podrzędnych i relacji z motywem nadrzędnym
Kluczowa kwestia, którą większość przewodników wykrywania pomija: motywy podrzędne są niezwykle powszechne w produkcyjnych instalacjach WordPress i fundamentalnie zmieniają to, co znajdziesz w źródle.
Gdy strona używa motywu podrzędnego:
- Aktywny arkusz stylów
hrefwskazuje na katalog motywu podrzędnego (np./wp-content/themes/astra-child/style.css). - Nagłówek
style.cssmotywu podrzędnego zawiera poleTemplate:identyfikujące motyw nadrzędny. - Oba katalogi istnieją jednocześnie na serwerze.
Przykładowy nagłówek motywu podrzędnego:
/*
Theme Name: Astra Child
Template: astra
Version: 1.0.0
*/Linia Template: astra jest definitywnym wskaźnikiem. Motyw nadrzędny — astra w tym przypadku — zawiera podstawową funkcjonalność i system projektowania. Motyw podrzędny nadpisuje tylko określone szablony lub style.
Co to oznacza dla Ciebie: Jeśli chcesz odtworzyć projekt, potrzebujesz motywu nadrzędnego, a nie podrzędnego. Jeśli chcesz zrozumieć dostosowania, potrzebujesz obu.
Metoda 6: Używanie WP-CLI na dostępnych serwerach
Jeśli masz dostęp SSH do instalacji WordPress — na przykład na własnym środowisku VPS Hosting lub Serwerze Dedykowanym — WP-CLI dostarcza najbardziej autorytatywnych informacji o motywie:
wp theme list --path=/var/www/html/wordpressPrzykładowe wyjście:
+------------------+----------+-----------+---------+
| name | status | update | version |
+------------------+----------+-----------+---------+
| astra | active | none | 4.6.11 |
| astra-child | active | none | 1.0.0 |
| twentytwentyfour | inactive | available | 1.1 |
+------------------+----------+-----------+---------+W przypadku strony, którą audytujesz zdalnie bez dostępu SSH, ta metoda jest niedostępna — ale dla własnych instalacji jest definitywnym źródłem prawdy i ujawnia również nieaktywne motywy, które mogą stanowić powierzchnię ataku, jeśli pozostaną niezałatane.
Metoda 7: Zapytanie do REST API WordPress
WordPress domyślnie udostępnia REST API. W wielu niezmodyfikowanych instalacjach następujący endpoint zwraca dane związane z motywem osadzone w ogólnych informacjach o stronie:
https://example.com/wp-json/wp/v2/themesWażne zastrzeżenie: Od WordPress 5.7 ten endpoint wymaga uwierzytelnienia — nieuwierzytelnione żądania zwracają odpowiedź 401 Unauthorized. Jednak ogólny endpoint informacji o stronie czasami ujawnia dane motywu:
https://example.com/wp-json/Szukaj gmt_offset, timezone_string i sporadycznie metadanych związanych z motywem w odpowiedzi JSON. Jest to niespójna metoda, ale warta sprawdzenia w starszych lub źle skonfigurowanych instalacjach.
Obsługa zaciemnionych lub zabezpieczonych stron
Niektóre instalacje WordPress są celowo skonfigurowane tak, aby ukryć tożsamość motywu. Oto jak wygląda każdy środek zaradczy i co nadal można ustalić:
| Technika zaciemniania | Co blokuje | Co nadal wycieka |
|---|
| — | — | — |
|---|
| Zmiana nazwy katalogu motywu | Nazwa katalogu w adresach URL | Pole Theme Name w `style.css`, jeśli dostępne |
|---|
| Zablokowany dostęp do `/wp-content/` | Bezpośredni dostęp do adresu URL pliku | Odciski palców kolejkowanych zasobów w źródle strony |
|---|
| Zminifikowany/połączony CSS | Indywidualne ścieżki plików | Połączony adres URL zasobu może nadal zawierać slug motywu |
|---|
| Niestandardowa ścieżka katalogu `wp-content` | Wykrywanie domyślnej ścieżki | Nowa ścieżka widoczna w adresach URL zasobów w źródle strony |
|---|
| Wyłączone REST API | Wykrywanie oparte na API | Źródło strony i informacje w stopce niezmienione |
|---|
| Usunięte informacje w stopce | Atrybucja w stopce | Inspekcja kodu źródłowego nadal działa |
|---|
| Zasoby proxowane przez CDN | Ścieżki serwera źródłowego | Adresy URL CDN mogą nadal zawierać segmenty slugu motywu |
|---|
Żaden pojedynczy środek zaradczy nie blokuje jednocześnie wszystkich wektorów wykrywania. Strona musiałaby wdrożyć wszystkie powyższe, aby być skutecznie nieprzejrzysta — co jest operacyjnie niepraktyczne i zepsułoby legalną funkcjonalność.
Porównanie: Metody wykrywania motywów w skrócie
| Metoda | Wymagane umiejętności techniczne | Działa bez dostępu do serwera | Wykrywa motywy podrzędne | Wykrywa wersję motywu | Szybkość |
|---|
| — | — | — | — | — | — |
|---|
| Narzędzia detektora online | Brak | Tak | Częściowo | Czasami | Bardzo szybko |
|---|
| Inspekcja źródła strony | Niskie | Tak | Tak | Tak (przez `?ver=`) | Szybko |
|---|
| Narzędzia deweloperskie przeglądarki (Elements) | Niskie | Tak | Tak | Tak | Szybko |
|---|
| Narzędzia deweloperskie przeglądarki (Network) | Średnie | Tak | Tak | Tak | Średnio |
|---|
| Sprawdzanie informacji w stopce | Brak | Tak | Nie | Nie | Natychmiast |
|---|
| Bezpośredni dostęp do `style.css` | Niskie | Tak | Tak | Tak | Szybko |
|---|
| WP-CLI (dostęp SSH) | Wysokie | Nie | Tak | Tak | Bardzo szybko |
|---|
| Zapytanie REST API | Średnie | Tak (ograniczone) | Nie | Nie | Szybko |
|---|
Praktyczne uwagi dotyczące używania wykrytego motywu
Po zidentyfikowaniu motywu następuje kilka kolejnych decyzji:
Licencjonowanie: Większość motywów WordPress jest objęta licencją GPL, która zezwala na bezpłatną redystrybucję. Jednak premium motywy sprzedawane przez marketplace’y takie jak ThemeForest używają licencji podzielonej — kod PHP jest objęty GPL, ale dołączone zasoby (obrazy, czcionki, biblioteki JavaScript) mogą mieć licencje komercyjne. Zakup legalnej licencji jest właściwą drogą.
Dopasowanie wersji: Jeśli replikujesz projekt, dopasuj dokładną wykrytą wersję. Nowsze wersje mogą mieć znacząco różne układy lub usunięte funkcje.
Zależności wtyczek: Motywy takie jak Divi, Avada i motywy oparte na Elementor w dużym stopniu polegają na towarzyszących wtyczkach. Sam motyw nie odtworzy projektu bez odpowiedniego kreatora stron i jego zapisanych szablonów.
Implikacje wydajnościowe: Jeśli wdrażasz zidentyfikowany motyw na własnej infrastrukturze — czy to na VPS z cPanel, czy na czystej instancji VPS Hosting — przed podjęciem decyzji wykonaj benchmark wagi zasobów motywu. Niektóre popularne motywy domyślnie ładują ponad 500 KB niezoptymalizowanego CSS i JavaScript.
SSL i mieszana zawartość: Przenosząc wykryty motyw na nową domenę, upewnij się, że nowe środowisko ma skonfigurowany ważny Certyfikat SSL. Motywy, które na stałe kodują ścieżki zasobów http://, będą wywoływać ostrzeżenia o mieszanej zawartości na stronach HTTPS.
Macierz decyzyjna: Którą metodę wybrać
Użyj tej macierzy, aby wybrać odpowiednią metodę wykrywania w zależności od sytuacji:
- Potrzebujesz szybkiej odpowiedzi bez konfiguracji technicznej: Użyj detektora online (whatwpthemeisthat.com lub wpthemedetector.com).
- Narzędzie online nie zwraca wyniku lub zwraca nieprawidłowy wynik: Wróć do inspekcji źródła strony i wyszukaj
wp-content/themes/. - Źródło strony pokazuje motyw podrzędny, ale potrzebujesz nadrzędnego: Uzyskaj bezpośredni dostęp do
style.cssmotywu podrzędnego i odczytaj poleTemplate:. - Potrzebujesz dokładnej wersji do audytu bezpieczeństwa: Połącz parametr
?ver=z adresu URL kolejkowanego arkusza stylów z bezpośrednią inspekcją nagłówkastyle.css. - Masz dostęp SSH do serwera: Uruchom
wp theme listprzez WP-CLI, aby uzyskać autorytatywne, kompletne wyniki, w tym nieaktywne motywy. - Wszystkie ścieżki CSS są zaciemnione lub zablokowane: Sprawdź panel Network pod kątem adresów URL zasobów zawierających rozpoznawalny slug motywu, a następnie zweryfikuj przez REST API, jeśli endpoint jest otwarty.
- Audytujesz własną instalację WordPress: Użyj WP-CLI w środowisku Panelu Sterowania VPS, aby uzyskać najpełniejszy obraz, w tym status dostępności aktualizacji.
Kluczowe wnioski techniczne
- Kanonicznym sygnałem wykrywania jest ścieżka
/wp-content/themes/[slug]/style.cssosadzona w tagach<link>źródła strony. - Motywy podrzędne są identyfikowane przez pole
Template:w nagłówkustyle.csswskazujące na slug motywu nadrzędnego. - Parametr zapytania
?ver=w kolejkowanych arkuszach stylów często ujawnia numer wersji motywu. - Polecenie
wp theme listWP-CLI jest jedyną metodą, która ujawnia nieaktywne (i potencjalnie podatne na ataki) zainstalowane motywy. - Zmiana nazwy katalogu motywu psuje automatyczne narzędzia, ale nie ręczną inspekcję źródła, jeśli plik CSS pozostaje dostępny.
- Żadna pojedyncza technika zaciemniania nie zapobiega wszystkim wektorom wykrywania; zdeterminowany analityk z narzędziami deweloperskimi przeglądarki znajdzie slug motywu w większości przypadków.
- Zawsze weryfikuj licencjonowanie przed wdrożeniem wykrytego motywu na stronie produkcyjnej — wolność kodu GPL nie rozciąga się na wszystkie dołączone komercyjne zasoby.
Często zadawane pytania
Czy strona WordPress może całkowicie ukryć swój motyw przed wykryciem?
Nie w praktyce. Nawet przy zmianie nazwy katalogu, zablokowanym dostępie do plików i proxowaniu przez CDN, slug motywu zazwyczaj pojawia się w co najmniej jednym adresie URL kolejkowanego zasobu w źródle strony. Całkowite zaciemnienie wymagałoby serwowania całego CSS inline i usunięcia wszystkich odwołań do ścieżek plików — co psuje standardową architekturę motywów WordPress.
Jaka jest różnica między slugiem motywu a nazwą motywu?
Nazwa motywu to czytelna dla człowieka etykieta zdefiniowana w nagłówku style.css (np. „Astra”). Slug motywu to nazwa katalogu na serwerze (np. astra). Są one zazwyczaj podobne, ale nie zawsze identyczne — premium motywy czasami używają slugów różniących się od ich nazw wyświetlanych. Slug jest tym, co ma znaczenie dla poleceń WP-CLI i bezpośredniego dostępu do plików.
Dlaczego detektory motywów online czasami zwracają nieprawidłowy motyw?
Większość detektorów analizuje pierwsze odwołanie do /wp-content/themes/ w źródle strony. Jeśli aktywny jest motyw podrzędny, zwracają nazwę motywu podrzędnego zamiast nadrzędnego. Ponadto, jeśli strona używa CDN, który przepisuje adresy URL zasobów, detektor może w ogóle nie znaleźć żadnej ścieżki specyficznej dla WordPress.
Czy wykrywanie motywu działa na bezgłowych konfiguracjach WordPress?
Nie. W bezgłowej architekturze WordPress front-end jest oddzielony od WordPress — zazwyczaj jest to aplikacja React, Next.js lub Vue serwowana z oddzielnego źródła. Motyw WordPress jest używany tylko w panelu administracyjnym i nie renderuje się do publicznego HTML. Wykrywanie motywu poprzez inspekcję źródła strony znajdzie framework front-endowy, a nie motyw WordPress.
Czy legalne jest używanie motywu zidentyfikowanego na innej stronie?
Zależy to od licencji. Darmowe motywy na WordPress.org są objęte licencją GPL i mogą być swobodnie używane. Premium motywy wymagają ważnej licencji zakupu zgodnie z warunkami twórcy. Używanie premium motywu bez licencji — nawet jeśli uzyskałeś pliki innymi środkami — narusza warunki korzystania z usług twórcy i w niektórych jurysdykcjach prawo autorskie dotyczące zasobów innych niż PHP dołączonych do motywu.
