Szybki kontakt Napisz na WhatsApp
Strona główna /Baza wiedzy /WordPress REST API – co to jest i czy można je wyłączyć?

WordPress REST API – co to jest i czy można je wyłączyć?

REST API w WordPressie to mechanizm, który pozwala stronie komunikować się z innymi aplikacjami, usługami i elementami samego WordPressa. Dla większości użytkowników działa zupełnie w tle, ale ma duże znaczenie dla edytora blokowego, integracji, aplikacji mobilnych czy nowoczesnych funkcji opartych na JavaScript. Czasem można jednak spotkać porady, żeby REST API wyłączyć ze względów bezpieczeństwa. Czy faktycznie ma to sens? W tym poradniku pokażę, do czego REST API służy, kiedy jest potrzebne i dlaczego jego całkowite blokowanie nie zawsze jest dobrym pomysłem.

Czym jest REST API w WordPressie i jak działa?

REST API to jeden z tych elementów WordPressa, którego większość właścicieli stron nigdy świadomie nie konfiguruje, a mimo to korzysta z niego niemal codziennie. Sam przez długi czas traktowałem je po prostu jako techniczne zaplecze systemu, ale wraz z rozwojem WordPress jego znaczenie mocno wzrosło.

W uproszczeniu REST API pozwala WordPressowi wymieniać dane z innymi aplikacjami i usługami za pomocą specjalnych adresów, czyli endpointów. Dzięki temu zewnętrzna aplikacja może np. pobrać wpisy, kategorie, dane użytkownika albo wykonać określoną operację bez korzystania z klasycznego panelu administracyjnego.

Co ważne, REST API nie jest już tylko dodatkiem dla programistów. Korzystają z niego również niektóre funkcje samego WordPressa, edytor blokowy, wtyczki, integracje oraz nowoczesne rozwiązania oparte na JavaScript. Dlatego zanim zaczniemy myśleć o jego wyłączaniu, warto najpierw zrozumieć, co faktycznie może od niego zależeć.

REST API a XML-RPC – jaka jest różnica?

REST API i XML-RPC mają podobny cel: umożliwiają WordPressowi komunikację z innymi aplikacjami i usługami. Różnią się jednak sposobem działania i tym, jaką rolę pełnią dziś w samym systemie.

XML-RPC to starszy mechanizm, oparty na pliku xmlrpc.php. Przez lata służył m.in. do zdalnego publikowania treści i obsługi starszych integracji. Dziś jego znaczenie jest mniejsze, dlatego na wielu stronach można rozważyć jego ograniczenie lub wyłączenie, jeśli nic z niego nie korzysta. Szerzej opisałem to w poradniku: WordPress XML-RPC – co to jest, do czego służy?.

REST API jest rozwiązaniem nowszym i znacznie mocniej związanym ze współczesnym WordPressem. Korzystają z niego nie tylko zewnętrzne aplikacje, ale również część funkcji systemu, edytor blokowy i wiele popularnych wtyczek. Z tego powodu do jego wyłączania podchodzę dużo ostrożniej niż w przypadku XML-RPC.

Najprościej można więc powiedzieć: XML-RPC to dziś raczej mechanizm „legacy”, a REST API jest ważną częścią nowoczesnego WordPressa. I właśnie dlatego pytanie „czy można je wyłączyć?” wymaga trochę więcej ostrożności.

Do czego WordPress wykorzystuje REST API?

REST API nie jest funkcją, którą widać bezpośrednio na stronie, ale w praktyce stoi za sporą częścią nowoczesnego WordPressa. Właśnie dlatego jego całkowite wyłączenie potrafi przynieść więcej problemów niż korzyści.

Najczęściej REST API jest wykorzystywane do:

  • obsługi edytora blokowego Gutenberg – część operacji związanych z pobieraniem i zapisywaniem treści korzysta właśnie z REST API,
  • komunikacji z wtyczkami i integracjami – wiele dodatków pobiera lub przesyła dane przez endpointy API,
  • obsługi aplikacji mobilnych i zewnętrznych narzędzi – WordPress może dzięki temu wymieniać dane bez konieczności korzystania z klasycznego panelu,
  • tworzenia stron typu headless WordPress – treść może być przechowywana w WordPressie, a frontend działać zupełnie osobno, np. w React czy Next.js,
  • pobierania wpisów, kategorii, komentarzy i innych danych – REST API umożliwia dostęp do określonych zasobów w uporządkowany sposób,
  • budowania własnych integracji – programista może tworzyć dodatkowe endpointy i łączyć WordPressa z innymi systemami.

Sam traktuję REST API bardziej jako część infrastruktury WordPressa niż opcjonalny dodatek. Nawet jeśli właściciel strony nigdy świadomie z niego nie korzysta, może się okazać, że robi to jedna z wtyczek albo funkcji systemowych. Dlatego jego blokowanie „na wszelki wypadek” zwykle nie jest najlepszym pomysłem.

Czy warto wyłączyć REST API w WordPressie?

W większości przypadków — nie wyłączałbym REST API całkowicie. To dziś ważna część WordPressa i może być wykorzystywana przez edytor blokowy, wtyczki, integracje czy zewnętrzne aplikacje. Zablokowanie wszystkiego „dla bezpieczeństwa” potrafi więc przynieść więcej problemów niż korzyści.

Jeśli zależy mi na ochronie strony, wolę ograniczyć dostęp do konkretnych danych albo endpointów, które rzeczywiście nie są potrzebne. To dużo bezpieczniejsze podejście niż wyłączenie całego mechanizmu i późniejsze szukanie, dlaczego przestała działać jakaś funkcja w panelu albo integracja.

Są oczywiście sytuacje, w których częściowe ograniczenie REST API ma sens — np. gdy chcemy ukryć wybrane dane użytkowników, zmniejszyć powierzchnię ataku albo uporządkować dostęp dla zewnętrznych usług. Ale nawet wtedy lepiej robić to selektywnie, a nie jednym globalnym przełącznikiem.

Jak wyłączyć REST API w WordPressie krok po kroku?

Jeżeli mimo wszystko chcę ograniczyć REST API, nie wyłączam go całkowicie na poziomie całej instalacji. Bezpieczniejszym rozwiązaniem jest zablokowanie dostępu dla niezalogowanych użytkowników i pozostawienie API dostępnego dla panelu WordPressa oraz administratora. Najprościej zrobić to przez WPCode.

wtyczka wpcode wordpress

1. Zainstaluj lub otwórz WPCode

W panelu WordPress przejdź do:

WPCode → Code Snippets → Add Snippet

Wybierz PHP Snippet.

wpcode php snipped okienko na kod

2. Dodaj kod ograniczający WordPress REST API

Wklej:

add_filter( 'rest_authentication_errors', function( $result ) {

    if ( ! empty( $result ) ) {
        return $result;
    }

    if ( ! is_user_logged_in() ) {
        return new WP_Error(
            'rest_api_disabled',
            'REST API jest dostępne tylko dla zalogowanych użytkowników.',
            array( 'status' => 401 )
        );
    }

    return $result;
});

Kod nie usuwa REST API z WordPressa. Blokuje dostęp do niego osobom niezalogowanym, dzięki czemu panel administracyjny i funkcje wymagające autoryzacji mogą nadal działać.

3. Ustaw uruchamianie snippetu

W WPCode wybieram:

Auto Insert → Run Everywhere

następnie zapisuję snippet i ustawiam go jako Active.

uruchamiaj wszedzie kod w wpcode ustawienie

4. Sprawdź, czy blokada działa

Po wylogowaniu z WordPressa można wejść pod adres:

https://twojadomena.pl/wp-json/

Jeżeli ograniczenie działa, zamiast publicznie dostępnej odpowiedzi REST API powinien pojawić się komunikat o braku dostępu.

5. Sprawdź stronę po zmianie

Po każdej takiej modyfikacji sprawdziłbym przede wszystkim:

  • edytowanie i zapisywanie wpisów,
  • formularze,
  • WooCommerce, jeśli jest używany,
  • wtyczki SEO,
  • integracje zewnętrzne,
  • aplikacje korzystające z WordPressa.

Jeśli coś przestanie działać, snippet można po prostu dezaktywować w WPCode.

Nie polecam natomiast blokowania /wp-json/ „na twardo” w .htaccess albo firewallu bez konkretnego powodu. Można w ten sposób odciąć funkcje, które faktycznie są stronie potrzebne. W większości przypadków lepiej ograniczyć tylko wybrane endpointy niż próbować całkowicie pozbyć się REST API.

Jak wyłączyć REST API w WordPressie krok po kroku?

Co lepiej ograniczyć zamiast wyłączać całe REST API?

Zamiast odcinać całe REST API, znacznie rozsądniej jest ograniczyć tylko te elementy, które faktycznie nie są potrzebne. To podejście stosuję dużo chętniej, bo pozwala zachować działanie WordPressa i integracji, a jednocześnie zmniejszyć ilość publicznie dostępnych danych.

Najczęściej warto przyjrzeć się przede wszystkim endpointom użytkowników, zbędnym trasom dodawanym przez wtyczki oraz dostępowi do danych, które nie muszą być dostępne dla osób niezalogowanych. W wielu przypadkach problemem nie jest samo REST API, tylko zbyt szeroki dostęp do konkretnych zasobów.

Dobrym rozwiązaniem jest więc selektywne ograniczenie dostępu, zamiast całkowitego wyłączania /wp-json/. Dzięki temu nie ryzykujemy, że po jednej zmianie przestanie działać edytor, formularz, WooCommerce albo zewnętrzna integracja.

Czy warto wyłączać REST API w WordPressie?

W większości przypadków nie ma potrzeby całkowitego wyłączania REST API. To ważna część współczesnego WordPressa, z której korzystają nie tylko zewnętrzne aplikacje, ale też sam system, edytor i wiele popularnych wtyczek. Dużo rozsądniej jest sprawdzić, które endpointy są rzeczywiście potrzebne i ewentualnie ograniczyć tylko te elementy, które nie powinny być publicznie dostępne.

Ja traktuję REST API podobnie jak inne elementy techniczne WordPressa — nie jako coś, co trzeba automatycznie blokować, tylko jako mechanizm, który warto rozumieć i świadomie konfigurować. Jeśli strona działa poprawnie, jest aktualna i odpowiednio zabezpieczona, samo REST API nie jest powodem do niepokoju.

Jeśli potrzebujesz pomocy nie tylko z konfiguracją WordPressa, ale również z rozwojem strony, sklepu czy widoczności w Google, możesz sprawdzić moją kompleksową ofertę online. W praktyce najlepiej działa podejście całościowe — technika, bezpieczeństwo, wydajność i SEO powinny ze sobą współpracować, a nie być poprawiane osobno.

Najczęstsze pytania o REST API w WordPressie

Krótkie odpowiedzi na najważniejsze pytania o WordPress REST API, adres /wp-json/, bezpieczeństwo i możliwość ograniczenia dostępu.

Co to jest REST API w WordPressie? +

REST API w WordPressie to mechanizm umożliwiający wymianę danych pomiędzy WordPressem a innymi aplikacjami, usługami i elementami samego systemu. Pozwala m.in. pobierać i modyfikować wpisy, strony, użytkowników oraz inne dane za pomocą specjalnych endpointów.

Do czego służy REST API w WordPressie? +

REST API służy do komunikacji WordPressa z aplikacjami, wtyczkami i zewnętrznymi systemami. Korzystają z niego również niektóre funkcje samego WordPressa, edytor blokowy oraz rozwiązania typu headless WordPress.

Jak sprawdzić, czy REST API działa? +

Najprościej wejść na adres twojadomena.pl/wp-json/. Jeśli REST API działa poprawnie, WordPress powinien zwrócić dane w formacie JSON zawierające informacje o stronie oraz dostępnych trasach API.

Czy REST API w WordPressie jest bezpieczne? +

Tak, REST API jest standardową częścią WordPressa i samo w sobie nie stanowi zagrożenia. Warto jednak kontrolować, jakie dane i endpointy są publicznie dostępne oraz regularnie aktualizować WordPressa i używane wtyczki.

Czy można wyłączyć REST API w WordPressie? +

Można ograniczyć lub zablokować REST API, ale całkowite wyłączenie zwykle nie jest zalecane. Z API mogą korzystać edytor WordPressa, wtyczki i integracje, dlatego bezpieczniej ograniczać tylko wybrane endpointy lub dostęp dla niezalogowanych użytkowników.

Jak wyłączyć REST API dla niezalogowanych użytkowników? +

Dostęp do REST API dla niezalogowanych użytkowników można ograniczyć za pomocą odpowiedniego filtra PHP, wtyczki bezpieczeństwa lub konfiguracji serwera. Po zmianie warto sprawdzić, czy nadal poprawnie działają edytor, formularze, WooCommerce i pozostałe integracje.

Czym różni się REST API od XML-RPC? +

REST API jest nowszym i bardziej elastycznym sposobem komunikacji z WordPressem, natomiast XML-RPC to starszy mechanizm działający przez plik xmlrpc.php. Współczesne integracje znacznie częściej wykorzystują REST API.

Krzysztof Gruca

Krzysztof Gruca

Projektant stron i specjalista SEO/UX z 20-letnim stażem. Łączę wyczucie grafiki z technicznym SEO i dbałością o wydajność (Core Web Vitals), żeby każdy projekt był intuicyjny, szybki i gotowy na wysokie pozycje - a kawa to mój najwierniejszy framework.