WordPress XML-RPC to mechanizm umożliwiający zdalną komunikację ze stroną, bez konieczności logowania się bezpośrednio do panelu administracyjnego. Przez lata był wykorzystywany m.in. przez aplikacje mobilne, zewnętrzne narzędzia i niektóre integracje, ale dziś coraz częściej kojarzy się również z bezpieczeństwem i próbami nadużyć. Właściciele stron WordPress często zastanawiają się więc, czy XML-RPC jest nadal potrzebny, czy można go bezpiecznie wyłączyć i czy jego dezaktywacja faktycznie poprawia ochronę witryny. W tym poradniku wyjaśniam, czym dokładnie jest XML-RPC, do czego służy i kiedy warto rozważyć jego wyłączenie.
Czym jest XML-RPC w WordPressie i jak działa?
XML-RPC to jeden z tych elementów WordPressa, o których wiele osób dowiaduje się dopiero wtedy, gdy zaczyna bardziej interesować się bezpieczeństwem albo optymalizacją strony. Sam korzystam z WordPressa od lat i traktuję XML-RPC trochę jak starszy mechanizm, który nadal potrafi być przydatny, ale w wielu przypadkach zwyczajnie nie jest już potrzebny.
W dużym uproszczeniu XML-RPC pozwala zewnętrznym aplikacjom i usługom komunikować się z WordPressem zdalnie. Dzięki temu niektóre narzędzia mogą wykonywać określone działania na stronie bez konieczności korzystania z klasycznego panelu administracyjnego. Taka komunikacja odbywa się przez plik xmlrpc.php, który jest standardowo dostępny w instalacji WordPressa.
Problem w tym, że wraz z upływem czasu sposób korzystania z WordPressa mocno się zmienił. Dziś wiele integracji opiera się na REST API, a XML-RPC bywa wykorzystywany znacznie rzadziej niż kiedyś. Z tego powodu warto wiedzieć, czy rzeczywiście jest potrzebny na konkretnej stronie, zamiast zostawiać go aktywnego tylko dlatego, że WordPress domyślnie go udostępnia.
Do czego służy XML-RPC w WordPressie?
XML-RPC powstał po to, żeby WordPress mógł komunikować się z zewnętrznymi usługami i aplikacjami. Dziś część jego zastosowań została zastąpiona przez nowsze rozwiązania, ale nadal można spotkać strony, na których ten mechanizm jest faktycznie wykorzystywany.
Najczęstsze zastosowania XML-RPC to:
- zdalne publikowanie treści – dawniej XML-RPC był często używany przez aplikacje i programy pozwalające dodawać wpisy bez logowania się bezpośrednio do kokpitu WordPressa,
- obsługa aplikacji mobilnych WordPress – niektóre funkcje zdalnego zarządzania stroną internetową mogą korzystać właśnie z tego mechanizmu,
- integracje z zewnętrznymi usługami – część starszych narzędzi i systemów nadal komunikuje się z WordPressem przez
xmlrpc.php, - pingbacki i trackbacki – XML-RPC może brać udział w mechanizmach informujących inne strony o tym, że zostały podlinkowane,
- zdalne wykonywanie określonych operacji – w zależności od integracji może chodzić o publikację, edycję treści albo pobieranie informacji ze strony.
I właśnie dlatego nie jestem zwolennikiem wyłączania XML-RPC „w ciemno” na każdej stronie. Najpierw warto sprawdzić, czy coś z niego faktycznie korzysta. Jeśli nie, wtedy można spokojnie zastanowić się nad jego ograniczeniem albo całkowitym wyłączeniem.
Jak sprawdzić, czy XML-RPC jest aktywny na stronie?
Najprościej zacząć od sprawdzenia, czy plik xmlrpc.php odpowiada w ogóle na żądanie. W przeglądarce wpisuję po prostu adres swojej strony z dopiskiem:
https://twojadomena.pl/xmlrpc.php
Jeśli XML-RPC jest aktywny, WordPress zwykle zwróci komunikat podobny do „XML-RPC server accepts POST requests only.” To oznacza, że plik działa, ale nie przyjmuje zwykłego wejścia z przeglądarki.

Jeżeli zobaczysz błąd 403, 404 albo komunikat o zablokowanym dostępie, bardzo możliwe, że XML-RPC został wyłączony przez wtyczkę bezpieczeństwa, konfigurację serwera albo regułę w .htaccess.
W praktyce warto pamiętać o jednej rzeczy: sam fakt, że xmlrpc.php odpowiada, nie oznacza jeszcze, że każda funkcja XML-RPC jest dostępna. Część zabezpieczeń potrafi blokować wybrane metody, a nie cały mechanizm. Jeśli chcę sprawdzić to dokładniej, patrzę również w ustawienia wtyczek bezpieczeństwa albo logi serwera.
Czy XML-RPC może być wykorzystywany do ataków?
Tak, i właśnie dlatego XML-RPC ma dziś trochę złą opinię. Sam mechanizm nie jest „wirusem” ani błędem WordPressa, ale jeśli pozostaje aktywny i nie jest odpowiednio chroniony, może być wykorzystywany do nadużyć.
Najczęściej mówi się o dwóch problemach. Pierwszy to próby logowania metodą brute force. XML-RPC pozwala wykonywać wiele operacji w ramach jednego żądania, więc atakujący może próbować sprawdzać kombinacje loginów i haseł skuteczniej niż przez zwykły formularz logowania. Drugi problem to pingbacki, które w przeszłości bywały wykorzystywane do generowania dużej liczby zapytań i ataków typu DDoS na inne serwisy.
W praktyce nie oznacza to, że każda strona internetowa z aktywnym xmlrpc.php jest od razu zagrożona. Jeśli korzystasz z dobrego hostingu, zabezpieczeń logowania, limitowania prób i aktualnych wtyczek bezpieczeństwa, ryzyko można mocno ograniczyć. Ja jednak zawsze sprawdzam, czy XML-RPC jest w ogóle potrzebny. Jeśli nie korzysta z niego żadna aplikacja ani integracja, jego wyłączenie może po prostu zmniejszyć liczbę potencjalnych punktów ataku.

Czy warto wyłączyć XML-RPC w WordPressie?
Jeśli żadna aplikacja ani integracja na Twojej stronie nie korzysta z XML-RPC, w wielu przypadkach warto rozważyć jego wyłączenie. Nie daje to „magicznej” ochrony WordPressa, ale ogranicza jeden z mechanizmów, który bywa wykorzystywany do prób brute force, pingbacków i niepotrzebnych zapytań.
Nie polecam jednak usuwać pliku xmlrpc.php z instalacji WordPressa. To plik należący do core WordPressa i przy aktualizacji może zostać przywrócony. Znacznie bezpieczniej jest zablokować jego działanie na poziomie WordPressa, wtyczki bezpieczeństwa albo serwera.
Najprostsza metoda bez dodatkowej wtyczki to dodanie filtra:
add_filter( 'xmlrpc_enabled', '__return_false' );Taki kod można dodać np. przez WPCode jako snippet PHP. Wyłącza on XML-RPC w WordPressie bez ingerowania w pliki systemowe.
Jeśli chcesz dodatkowo zablokować dostęp do samego xmlrpc.php, można zrobić to również na serwerze. Przy Apache przykładowa reguła w .htaccess może wyglądać tak:
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>Przy nowszej konfiguracji Apache częściej stosuje się:
<Files "xmlrpc.php">
Require all denied
</Files>Ja zwykle wybieram metodę możliwie prostą i odwracalną. Jeśli po wyłączeniu okaże się, że jakaś integracja przestała działać, XML-RPC można ponownie włączyć bez przywracania usuniętych plików czy kombinowania z aktualizacją WordPressa.
Najważniejsza zasada jest więc prosta: nie kasuj xmlrpc.php ręcznie. Jeśli chcesz go wyłączyć, zrób to przez konfigurację WordPressa lub serwera.
XML-RPC a REST API – czym różnią się te rozwiązania?
To dobre miejsce, żeby uporządkować jedną rzecz: XML-RPC i REST API służą do komunikacji WordPressa z zewnętrznymi aplikacjami, ale są to dwa różne mechanizmy i pochodzą z innych etapów rozwoju WordPressa.
XML-RPC jest starszym rozwiązaniem i korzysta z jednego punktu dostępu, czyli xmlrpc.php. REST API jest nowsze, bardziej elastyczne i obecnie znacznie częściej wykorzystywane przez współczesne integracje, aplikacje oraz rozwiązania oparte na JavaScript.
W praktyce REST API pozwala komunikować się z konkretnymi zasobami WordPressa, np. wpisami, użytkownikami czy kategoriami, przez odpowiednie endpointy. Dzięki temu łatwiej kontrolować, jakie dane są pobierane i jakie operacje wykonuje zewnętrzna aplikacja.
Dlatego jeśli ktoś pyta mnie, czy XML-RPC jest dziś niezbędny do działania WordPressa, odpowiedź brzmi: nie zawsze. Wiele nowoczesnych integracji działa już przez REST API, ale starsze narzędzia mogą nadal korzystać z XML-RPC. Z tego powodu przed wyłączeniem warto sprawdzić, czy żadna używana usługa go nie potrzebuje.
Warto wiedzieć:
Wyłączenie XML-RPC może ograniczyć jeden z potencjalnych punktów ataku, ale bezpieczeństwo WordPressa nie kończy się na jednym ustawieniu. Duże znaczenie mają także aktualizacje, mocne hasła, zabezpieczenie logowania, kopie zapasowe oraz dobrze skonfigurowany hosting. Sprawdź poradnik: jak zabezpieczyć stronę WordPress
Czy warto wyłączyć WordPress XML-RPC?
XML-RPC nie jest elementem, którego trzeba bać się z definicji, ale na wielu współczesnych stronach jego rola jest dziś znacznie mniejsza niż kiedyś. Jeśli nie korzystasz z aplikacji lub integracji, które wymagają xmlrpc.php, jego wyłączenie może być prostym sposobem na ograniczenie jednego z potencjalnych punktów ataku.
Ja zawsze podchodzę do tego praktycznie: najpierw sprawdzam, czy XML-RPC jest rzeczywiście używany, a dopiero później decyduję o jego blokadzie. Nie polecam ręcznego usuwania pliku z WordPressa — lepiej wyłączyć mechanizm filtrem, przez wtyczkę bezpieczeństwa albo konfigurację serwera.
Najważniejsze jest jednak to, żeby nie traktować XML-RPC jako jedynego elementu bezpieczeństwa. Aktualizacje, dobre hasła, kopie zapasowe, ograniczenie prób logowania i rozsądnie skonfigurowany hosting mają znacznie większe znaczenie dla kondycji całej strony.
Najczęstsze pytania o XML-RPC w WordPressie
Krótkie odpowiedzi na najważniejsze pytania o XML-RPC, plik xmlrpc.php, bezpieczeństwo WordPressa i jego bezpieczne wyłączenie.
XML-RPC to mechanizm umożliwiający zewnętrznym aplikacjom i usługom komunikację z WordPressem. Działa przez plik xmlrpc.php i może być wykorzystywany m.in. do zdalnego publikowania treści oraz starszych integracji.
Nie zawsze. Wiele nowoczesnych integracji korzysta dziś z REST API, dlatego na części stron XML-RPC nie jest już potrzebny. Przed jego wyłączeniem warto jednak sprawdzić, czy nie korzysta z niego żadna aplikacja lub zewnętrzna usługa.
Można wejść na adres twojadomena.pl/xmlrpc.php. Jeśli WordPress zwróci komunikat „XML-RPC server accepts POST requests only”, oznacza to, że plik odpowiada i XML-RPC jest aktywny.
Sam XML-RPC nie jest złośliwym mechanizmem, ale może być wykorzystywany do nadużyć, takich jak próby brute force, niepotrzebne zapytania czy ataki wykorzystujące pingbacki.
Jeśli żadna używana aplikacja ani integracja nie wymaga XML-RPC, jego wyłączenie może ograniczyć jeden z potencjalnych punktów ataku. Nie zastępuje jednak pozostałych zabezpieczeń WordPressa.
Nie warto usuwać pliku xmlrpc.php ręcznie, ponieważ jest częścią WordPressa i może zostać przywrócony podczas aktualizacji. Bezpieczniej jest zablokować jego działanie przez filtr, wtyczkę bezpieczeństwa albo konfigurację serwera.
XML-RPC jest starszym mechanizmem komunikacji z WordPressem, natomiast REST API jest nowsze i bardziej elastyczne. Obecnie wiele współczesnych aplikacji i integracji korzysta właśnie z REST API.
Może ograniczyć jeden z możliwych punktów ataku, ale nie zabezpieczy strony samodzielnie. Nadal potrzebne są aktualizacje, mocne hasła, kopie zapasowe, ochrona logowania i odpowiednia konfiguracja serwera.




