Hoppa till innehållet
WP Magazine

Felsökning

”Det har uppstått ett kritiskt fel på webbplatsen” – så fixar du det

Visar din WordPress-sajt ”Det har uppstått ett kritiskt fel på webbplatsen”? Så hittar du orsaken och får igång sajten igen – med eller utan räddningsläget.

Testad med WordPress 7.1.3Publicerad

Kort svar: Meddelandet betyder att PHP-koden kraschade, nästan alltid på grund av ett tillägg (plugin) eller temat. Den snabbaste vägen tillbaka är:

  1. Leta efter ett mejl med ämnet ”Din webbplats har råkat ut för ett tekniskt problem” och använd länken i det för att logga in i räddningsläget.
  2. Kommer inget mejl: inaktivera alla tillägg genom att döpa om mappen wp-content/plugins via FTP eller filhanteraren hos ditt webbhotell.
  3. Fungerar sajten då: döp tillbaka mappen och aktivera tilläggen ett i taget tills felet kommer tillbaka.

Nedan går vi igenom varje steg. Allt är testat på WordPress 7.1.3 med svenskt språk.

Två varianter av samma fel

Meddelandet ser olika ut beroende på vem som ser det och var felet inträffar. Så här ser det ut i WordPress 7.1.3 på svenska:

WordPress felskärm med texten Det har uppstått ett kritiskt fel på webbplatsen

Besökare på den publika sajten ser bara:

Det har uppstått ett kritiskt fel på webbplatsen. Läs mer om felsökning i WordPress.

WordPress felskärm i adminpanelen som hänvisar till administratörens e-post

I adminpanelen och på inloggningssidan står det i stället:

Det har uppstått ett kritiskt fel på denna webbplats. Det bör ha kommit instruktioner till administratörens e-postadress. Om problemet kvarstår kan du prova att fråga i supportforumet.

Skillnaden spelar roll. WordPress skickar bara mejlet om räddningsläget när felet inträffar i adminpanelen eller på inloggningssidan, inte när bara den publika sajten kraschar. Ser du den korta varianten och har inte fått något mejl, gå till dinsajt.se/wp-admin/. Kraschar det där också skickas mejlet.

Sidan svarar med HTTP-status 500, så sökmotorer förstår att felet är tillfälligt. Det är ändå bra att åtgärda det snabbt.

Steg 1: Använd räddningsläget (om du fick mejlet)

Sedan WordPress 5.2 fångar WordPress allvarliga fel i tillägg och teman och mejlar webbplatsens administratörsadress. I vårt test kom mejlet med ämnesraden:

[Webbplatsens namn] Din webbplats har råkat ut för ett tekniskt problem

Mejlet berättar vilket tillägg eller tema som orsakade felet, till exempel ”I detta fall har WordPress upptäckt ett fel med ett av dina tillägg, Trasigt tillägg.”. Det innehåller också en länk till räddningsläget och tekniska uppgifter om felet (fil, radnummer och felmeddelande).

Så här gör du:

  1. Klicka på länken i mejlet. Den gäller i ett dygn.
  2. Logga in som vanligt.
  3. Du hamnar i adminpanelen i räddningsläge. Det felande tillägget är pausat, så adminpanelen fungerar igen.
  4. Gå till Tillägg. Vid det felande tillägget står ”Detta tillägg laddades inte på rätt sätt och är därför pausat i räddningsläge.”. Klicka på Inaktivera.
  5. Klicka på Avsluta räddningsläget i verktygsfältet högst upp och kontrollera att sajten fungerar.

Sedan kan du leta efter en uppdatering av tillägget, ett alternativ eller kontakta utvecklaren med uppgifterna från mejlet.

Steg 2: Inaktivera alla tillägg via FTP

Utan mejl gör du samma sak för hand. Du behöver komma åt filerna, antingen via FTP/SFTP (till exempel FileZilla) eller filhanteraren i ditt webbhotells kontrollpanel.

  1. Gå till mappen wp-content i din WordPress-installation.
  2. Döp om mappen plugins till exempelvis plugins-av.
  3. Ladda om sajten.

WordPress hittar då inga tillägg och kör sajten utan dem. Försvinner felet var det ett tillägg. Då:

  1. Döp tillbaka mappen till plugins. Tilläggen är nu inaktiverade men finns kvar.
  2. Logga in och aktivera tilläggen ett i taget under Tillägg. Ladda om sajten efter varje.
  3. När felet kommer tillbaka har du hittat den skyldiga. Inaktivera det tillägget igen.

Misstänker du redan ett visst tillägg, till exempel ett som du precis har uppdaterat? Döp då bara om just den mappen, till exempel wp-content/plugins/tillaggets-namn. Det tillägget inaktiveras och resten lämnas orörda.

Steg 3: Kontrollera temat

Kvarstår felet trots att alla tillägg är avstängda ligger problemet troligen i temat, till exempel efter en uppdatering eller en ändring i functions.php.

  1. Gå till wp-content/themes och döp om mappen för ditt aktiva tema, till exempel mitt-tema till mitt-tema-av.
  2. WordPress upptäcker att det aktiva temat saknas och byter automatiskt till standardtemat Twenty Twenty-Five, om det finns installerat.
  3. Fungerar sajten nu sitter felet i temat.

Har du redigerat temafiler själv är den senaste ändringen den troligaste orsaken. Återställ den från en säkerhetskopia eller ladda upp en färsk kopia av temat. Använder du ett barntema (child theme), kontrollera både barntemat och huvudtemat.

Steg 4: Läs felloggen

Vill du veta exakt vad som gick fel, eller hjälpte inget av ovanstående? Slå då på WordPress felloggning. Öppna wp-config.php i roten av installationen och lägg till följande ovanför raden /* That's all, stop editing! Happy publishing. */. Raden är på engelska även i den svenska versionen av WordPress.

wp-config.php
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Ladda om sajten och öppna filen wp-content/debug.log. Längst ned står det senaste felet, till exempel:

PHP Fatal error: Uncaught Error: Call to undefined function …
in /wp-content/plugins/tillaggets-namn/fil.php:7

Sökvägen visar vilket tillägg eller tema felet kommer från. Felbeskrivningen (Call to undefined function, Allowed memory size … exhausted, syntax error och så vidare) visar vad som hände.

Vanliga orsaker och vad du gör

Det står i loggen … Trolig orsak Gör så här
Call to undefined function eller Class … not found Tillägget kräver ett annat tillägg eller en nyare PHP-version Uppdatera eller installera det som krävs, eller inaktivera tillägget
Allowed memory size of … bytes exhausted PHP fick slut på minne Höj minnesgränsen hos webbhotellet eller med define( 'WP_MEMORY_LIMIT', '256M' ); och leta efter tillägget som drar mycket
syntax error, unexpected … Felaktig kod, ofta efter en manuell ändring i functions.php Ångra ändringen eller ladda upp originalfilen
Felet kom direkt efter byte av PHP-version Ett tillägg eller tema stöder inte den nya versionen Uppdatera tillägget eller temat, eller gå tillbaka till föregående PHP-version tills det är åtgärdat
Felet kom efter en uppdatering Den nya versionen är trasig eller krockar med något annat Inaktivera, vänta på en rättning eller installera föregående version

Förebygg nästa gång

  • Ta säkerhetskopior innan du uppdaterar, så kan du alltid gå tillbaka. Läs vår guide om backup av WordPress.
  • Uppdatera ett tillägg i taget och kontrollera sajten efter varje. Då vet du vad som orsakade ett fel.
  • Kontrollera administratörsadressen under Inställningar → Allmänt, så att räddningslägets mejl når någon. Du kan också lägga till en separat adress för just räddningsläget i wp-config.php:
wp-config.php
define( 'RECOVERY_MODE_EMAIL', 'tekniker@dinsajt.se' );
  • Använd en testmiljö (staging) för större uppdateringar om ditt webbhotell erbjuder det.

Kommer du inte vidare kan du fråga i det svenska supportforumet på WordPress.org. Bifoga raden från debug.log och uppgifterna från räddningslägets mejl (WordPress-version, tema, tillägg och PHP-version).

Vanliga frågor

Varför fick jag inget mejl om räddningsläget?

WordPress skickar bara mejlet om felet inträffar i adminpanelen eller på inloggningssidan, och högst ett mejl per dygn. Det går till webbplatsens administratörsadress under Inställningar → Allmänt. Kraschar bara den publika sajten kommer inget mejl. Logga då in på /wp-admin/ så att felet utlöses där, eller felsök via FTP enligt guiden.

Försvinner mitt innehåll när jag inaktiverar ett tillägg?

Nej. Dina inlägg, sidor och bilder ligger kvar. Tilläggets inställningar sparas normalt också i databasen och finns kvar när du aktiverar det igen.

Kan jag stänga av felskärmen och se det riktiga felet direkt?

Ja, men gör det bara tillfälligt och helst inte på en publik sajt. Med WP_DEBUG och WP_DEBUG_LOG i wp-config.php skrivs felet till wp-content/debug.log utan att visas för besökarna – det är det säkraste sättet.

Källor

Hittar du ett fel? Hör av dig så rättar vi.

Mer om felsökning

  • Byta lösenord i WordPress

    Så byter du lösenord i WordPress, återställer det via e-post och tar dig in även när mejlet aldrig kommer – med phpMyAdmin, WP-CLI eller FTP.

    Uppdaterad · WP 7.1.3

  • Too many redirects i WordPress

    ERR_TOO_MANY_REDIRECTS eller ”WP HTTP Error: Too many redirects”? Så hittar du omdirigeringsloopen i WordPress – från fel adress till HTTPS bakom Cloudflare.

    Uppdaterad · WP 7.1.3