Vi fick nyligen en fråga från en läsare som vi hör ganska ofta här: "Hur inaktiverar jag REST API på min WordPress-webbplats?" Och ärligt talat är det en giltig oro.
När WordPress version 4.4 släpptes med JSON REST API, öppnade det upp en värld av möjligheter för utvecklare.
Men för många webbplatsägare som inte behöver dessa avancerade funktioner kan API:et verka som ett onödigt tillägg som potentiellt öppnar deras webbplats för säkerhetsrisker.
I den här artikeln visar vi hur du enkelt kan inaktivera JSON REST API i WordPress.

Varför inaktivera JSON REST API i WordPress?
Det går inte att förneka att API:et har många fördelar för WordPress-utvecklare. API:et gör det superenkelt att hämta data med GET-förfrågningar, vilket är användbart för dem som bygger appar med WordPress.
Med det sagt kan detta potentiellt öppna din webbplats för en ny front av DDoS-attacker. Det kan också vara resurskrävande och sakta ner din WordPress-webbplats.
Att inaktivera JSON REST API liknar att inaktivera XML-RPC, vilket många webbplatsadministratörer inaktiverar på sina WordPress-webbplatser bara för att vara på den säkra sidan.
Med det sagt kommer vi att visa dig två metoder för att enkelt inaktivera JSON REST API i WordPress. Använd helt enkelt snabblänkarna nedan för att hoppa till den metod du vill använda:
Metod 1. Inaktivera JSON REST API i WordPress med kod (Rekommenderas)
När det gäller att ändra WordPress-funktionalitet är kodavsnitt ofta det bästa tillvägagångssättet. Men att direkt redigera din temas functions.php-fil kan vara riskabelt och kan bryta din webbplats om det inte görs korrekt.
Därför rekommenderar vi att använda WPCode-pluginet för att inaktivera JSON REST API i WordPress.
Det är samma plugin som vi använder på våra egna webbplatser för att säkert lägga till anpassad kod i WordPress utan att redigera temafiler.
För att lära dig mer om hur vi använder pluginet, se vår fullständiga WPCode-recension.

Dessutom kommer WPCode med ett inbyggt kodbibliotek som inkluderar verifierade kodavsnitt för populära funktionsförfrågningar som att inaktivera REST API, inaktivera XML-RPC och mycket mer.
Detta sparar dig från att installera flera engångs-plugins för olika uppgifter.
För att komma igång behöver du installera och aktivera det kostnadsfria WPCode-pluginet. För steg-för-steg-instruktioner, läs vår guide om hur man installerar ett WordPress-plugin.
Notera: gratisversionen av WPCode har allt du behöver för att enkelt lägga till anpassad kod i WordPress. Men om du vill ha avancerade funktioner som ett privat molnbaserat avsnittsbibliotek, sid- och enhetsspecifika avsnitt, kodrevisioner och mer, kan du uppgradera till WPCode Pro.
När pluginet är aktiverat, gå till Kodavsnitt » Bibliotek från din WordPress-instrumentpanel.
Sök sedan efter kodavsnittet 'Inaktivera WordPress REST API' och klicka på knappen 'Använd kodavsnitt'.

Pluginet kommer sedan automatiskt att lägga till koden åt dig, och det kommer också att välja rätt insättningsmetod.

Allt du behöver göra är att växla omkopplaren från 'Inaktiv' till 'Aktiv'.
Klicka sedan på knappen ‘Uppdatera’.

Det var allt. Nu är JSON REST API inaktiverat på din WordPress-webbplats.
Metod 2. Inaktivera JSON REST API i WordPress med ett plugin
Du kan också enkelt inaktivera JSON REST API med hjälp av ett dedikerat plugin.
Det första du behöver göra är att installera och aktivera pluginet Inaktivera REST API. För mer information, se vår steg-för-steg-guide om hur man installerar ett WordPress-plugin.
Pluginet fungerar direkt ur lådan och det finns inga inställningar som du behöver konfigurera.
Vid aktivering kommer pluginet att tvinga fram ett autentiseringsfel för alla API-förfrågningar från källor som inte är inloggade på din webbplats.
Detta kommer effektivt att förhindra obehöriga förfrågningar från att använda REST API:et för att hämta information från din webbplats.
Du kan testa detta genom att besöka sidan http://example.com/wp-json. Se till att du loggar ut från WordPress administratörsområde först, eller byt din webbläsare till inkognitoläge.
Glöm inte att ersätta example.com med ditt eget domännamn. Du kommer att se detta meddelande, vilket indikerar att REST API-förfrågningar blockeras.

Det var allt, du har framgångsrikt inaktiverat obehöriga REST API-förfrågningar på din WordPress-webbplats.
Alternativ metod: Inaktivera REST API-länkar i WordPress med kod
Istället för att inaktivera WordPress REST API kan du välja att bara inaktivera REST API-länkar. Detta döljer API-slutpunkterna från din WordPress-webbplats källkod utan att stänga av REST API:et helt.
Med den här metoden kan du förbättra säkerheten genom att göra slutpunkterna svårare att hitta, samtidigt som alla WordPress-funktioner fungerar normalt. Det är ett populärt val bland utvecklare eftersom det lägger till säkerhet utan att bryta teman eller plugins som behöver REST API för att fungera.
För att göra detta behöver du installera och aktivera pluginet WPCode. Om du behöver hjälp, se vår handledning om hur man installerar ett WordPress-plugin.
Vid aktivering, gå till Kodavsnitt » Bibliotek från din WordPress-instrumentpanel.
Sök därifrån efter kodavsnittet 'Inaktivera REST API-länkar'. När du hittar det, för muspekaren över det och klicka på knappen 'Använd kodavsnitt'.

Därefter kommer WPCode automatiskt att lägga till kodavsnittet och välja rätt infogningsmetod.

Nu behöver du bara flytta reglaget från 'Inaktiv' till 'Aktiv'.
Slutligen, klicka på knappen 'Uppdatera'.

Det är så enkelt. Nu kommer REST API-länkar att vara inaktiverade på din WordPress-webbplats.
Vi hoppas att den här artikeln hjälpte dig att lära dig hur du inaktiverar JSON REST API i WordPress. Säkerhetsmedvetna användare kanske också vill kolla in dessa tips om att skydda WordPress-administrationsområdet, eller se våra förväntade val av de bästa WordPress-säkerhetskopieringspluginsen.
Om du gillade den här artikeln, prenumerera då på vår YouTube-kanal för WordPress-videoguider. Du kan också hitta oss på Twitter och Facebook.


Dennis Muthomi
Jag uppskattar särskilt de två metoder du har beskrivit, särskilt den kodbaserade metoden med WPCode. Som webbplatsägare har jag varit tveksam till att inaktivera API:et på grund av dess fördelar, men din förklaring av potentiella säkerhetsrisker har fått mig att ompröva.
Jag är intresserad av WPCode-pluginet och dess förmåga att hantera anpassade kodavsnitt på ett säkert sätt. Jag kommer definitivt att utforska detta verktyg vidare för att implementera andra WordPress-anpassningar utan att belamra min webbplats med plugins för enskilda ändamål.
Tack för detta. WPBeginner är BÄST!
Dayo Olobayo
Jag uppskattar tydligheten i den här handledningen om hur man inaktiverar JSON REST API i WordPress. Jag undrar dock om det är den bästa metoden att helt inaktivera API:et med tanke på dess potentiella fördelar för webbplatsens funktionalitet och integration med andra tjänster.
WPBeginner Support
Det skulle bero på webbplatsägaren om det vore bäst för deras behov eller inte, eller om de har stött på ett problem med att använda det.
Admin
Dayo Olobayo
Tack. Jag antar att det är viktigt att väga de potentiella säkerhetsriskerna mot fördelarna med JSON REST API genom att beakta ägarens unika behov och omständigheter.
Jiří Vaněk
Hej Dayo Olobayo,
Frågan handlar mer om huruvida du använder detta API eller inte. Det är samma sak som med XML-RPC. Jag använder det inte på min webbplats, så jag inaktiverade det. Självklart innebär detta att jag inte kan ansluta till webbplatsen med till exempel WordPress mobilapp, som använder XML-RPC för att ansluta. Det är alltid en kompromiss mellan vad du vill inaktivera och vad du vill tillåta. Alla API:er som accepterar externa förfrågningar kan utgöra en potentiell risk, och det är helt enkelt en fråga om huruvida du vill använda det eller inte.
RJW
Jag skulle prova inaktiveringspluginet i en utvecklingsmiljö före produktion, jag fann att installationen bröt vissa funktioner
WPBeginner Support
Om du har många olika plugins och verktyg och har en testmiljö, skulle det definitivt vara bra att testa nya plugins och hur de interagerar med din webbplats.
Admin
Ricky
Liksom en kommentator ovan har jag märkt "wp-json"-förfrågan när jag använder Pingdom och andra testwebbplatser. Tyvärr tar min över 10 sekunder (Ja, verkligen!!) att ladda. Detta påverkar min totala laddningstid för webbplatsen och jag kan inte lista ut hur jag ska fixa det. Pluginet ändrar det inte alls. Några förslag?
Janice
Hur vet jag om jag faktiskt har JSON API på min webbplats?
Den här artikeln om att ta bort den är bra – om jag behöver den – men jag har ofta blivit oroad av vissa varningar för att sedan upptäcka att de inte ens var relevanta för mig.
WPBeginner Support
Hej Janice,
Om du använder en självhostad WordPress.org-webbplats, då har du JSON REST API tillgängligt på din webbplats.
Admin
Logan Cale
Jag hatar att lägga till ännu ett plugin för att göra en enkel uppgift, och jag upptäckte att vi kan inaktivera denna funktionalitet genom att lägga till följande kodavsnitt i functions.php-filen.
add_filter(‘rest_enabled’, ‘_return_false’);
add_filter(‘rest_jsonp_enabled’, ‘_return_false’);
Margarit Koka
Tack bro, ditt svar är vad jag letade efter när jag besökte den här sidan.
Bobby C.
Tack! Rakt på sak.
Hari
Jag letade efter den här koden, den fungerade, tack, jag föredrar inte att lägga till plugins.
Michael
Tack för din hjälp. Det finns inget alternativ för 'lägg till nytt' i mina plugins.
WPBeginner Support
Du använder förmodligen WordPress.com. Se vår guide om skillnaden mellan självhostad WordPress.org vs gratis WordPress.com-blogg.
Admin
Lynne
Thank you! Spot on
worked for me
J.L.
Gäller detta bara för självhostade bloggar eller inkluderar det gratis bloggplatser? Eftersom de flesta plugins... etc. är färdiga för dig när du inte är självhostad
PS Jag prenumererar inte... vill bara ha ett svar
WPBeginner Support
Detta gäller endast självhostade WordPress.org-webbplatser.
Admin
Elaine
Hur kan jag kontrollera om min webbplats har Rest API. Jag stängde av många extrafunktioner när jag först satte upp den men vet nu inte var jag ska leta för att se om den finns där. Jag är inte sugen på att ladda ner ett plugin i onödan.
WPBeginner Support
Hej Elaine,
Du kan kontrollera om REST API är aktiverat på din webbplats genom att besöka URL:en som detta exempel.com/wp-json. Se till att du är utloggad från WordPress innan du gör det. Om du ser mycket information i klartext, betyder det att REST API är aktiverat på din webbplats. Följ instruktionerna ovan för att stänga av det.
Admin
Saransh Jain
Vad sägs om alternativet att inaktivera json rest api i Jetpack-pluginet?
Ken Dowling
Är det lämpligt att inaktivera REST API för e-handelswebbplatser som WooCommerce? Min förståelse är att WooCommerce använder REST-API ganska mycket.
Dessutom behöver mina köpare inte logga in för att köpa, så vad händer med transaktionen när ett REST API-anrop avvisas?
Med vänliga hälsningar, Ken
D. Joe Chaffin
Plugin gör ingen skillnad för mig i WP 4.7.2. Med pluginet aktiverat eller inaktiverat ger sidan example.com/wp-json (med min domän som ersätter “example”) en massiv lista med inställningar för min webbplats.
D. Joe Chaffin
Hmmmm. Nu när jag tittar på det, ser jag bara listan i Safari, medan Chrome och Firefox för Mac visar det förväntade meddelandet som anges i det här inlägget.
WPBeginner Support
Hej,
Se till att du är utloggad från WordPress adminområde eller använd inkognitoläge innan du testar sidan example.com/wp-json. Pluginet inaktiverar åtkomst till sidan endast för obehöriga användare. Som administratör kommer du fortfarande att kunna se den.
Admin
D. Joe Chaffin
Skäms... Du har rätt, naturligtvis.
Audra Carpenter
Hej allihopa,
Först och främst tack så mycket för det du gör! Jag har lärt mig så mycket om Wordpress från dig och skickat massor av folk till dig!!
Oke, jag installerade pluginet, men jag ser inte vad du föreslår ovan? Jag har en hel skärm med information…?
Tankar?
Tack!
WPBeginner Support
Hej Audra,
Logga ut eller använd inkognitofönster för att testa. Pluginet inaktiverar endast åtkomst för icke-inloggade användare.
Admin
Skatt
Jag följde dessa steg, men när jag gick för att kontrollera det med exemplet etc. fick jag 2 sidor med kod, inte svaret som visades ovan. Hmmm, vet inte vad jag ska göra.
Skatt
Okej, jag gjorde det igen och fick rätt meddelande. Tack!
Doug Nix
När jag körde testet tror jag att det misslyckades, eftersom jag fick en båtlast med data på skärmen. Någon idé om vad som kan ha gått fel? Jag installerade pluginet som beskrivet...
Doug Nix
Fungerar perfekt när jag kontrollerar med ett inkognitofönster. Tack för förklaringen angående auktoriserade kontra icke-auktoriserade eller anonyma användare.
Laura Zielke
Fungerade perfekt. Tack!
Karl
Tack för tipset liksom för kroken för att inaktivera XMLRPC.
Finns det en chans för en filterkrok för REST API också?
Andrew
När jag kontrollerar hastigheten på min webbplats med pingdom.com, visar den första HTML-posten som försökte laddas länken som mydomain.com/wp-json och den har över 2 sekunders "väntetid". Är detta samma sak som artikeln talar om? Jag är tveksam till att bara inaktivera den eftersom jag antar att den kommer att användas i framtiden. Någon idé om varför den skulle lägga till en 2+ sekunders fördröjning vid laddning av något på sidan?
Stephen Cronin
Hmm, REST API kommer att bli standardmetoden för plugins och teman att göra Ajax-anrop tillbaka till servern från frontend, och ersätta admin-ajax, så jag skulle inte inaktivera det… Förhoppningsvis kommer de att misslyckas graciöst, men du kommer nästan att sakna viss funktionalitet.
Also, if you really want to protect against DDoS attacks, you better disable html as well!
reza
över 50 000 WordPress-webbplatser har hackats på grund av en stor säkerhetsbrist som upptäcktes i WordPress REST API.
Jim S Smith
AJ AJ!
Det är oroande att veta. Jag har märkt MÅNGA åtkomstförsök i min webbplats loggar.
Dessutom,
Jag tycker att personerna på WordPress kunde ha gjort ett lite bättre jobb med att låta användarna bestämma hur mycket, om alls, de vill att REST API ska vara exponerat.
Återigen,
Mer av detta, "Utvecklarna vet MER om användarnas behov än vad användaren gör!" – Jag var inte heller alltför nöjd med att tvingas stödja EMOJI och fjärrladdade teckensnitt från fonts.google.com, även om mina webbplatser inte använder dem!
REST API kan vara en välsignelse för (vissa) faktiska webbapplikationsutvecklare, men vad sägs om resten av oss som troligen inte kommer att använda detta? ? ?
Kasey
Hur troligt är det att ett plugin använder denna funktionalitet. Skulle till exempel kontaktformulär använda detta? Inte angelägen om att stänga av det ifall det förstör något.
WPBeginner Support
Plugins kommer mest troligt att meddela dig om de kommer att använda det och du har stängt av det.
Admin