”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.
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:
- 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.
- Kommer inget mejl: inaktivera alla tillägg genom att döpa om mappen
wp-content/pluginsvia FTP eller filhanteraren hos ditt webbhotell. - 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:
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.
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:
- Klicka på länken i mejlet. Den gäller i ett dygn.
- Logga in som vanligt.
- Du hamnar i adminpanelen i räddningsläge. Det felande tillägget är pausat, så adminpanelen fungerar igen.
- 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.
- 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.
- Gå till mappen
wp-contenti din WordPress-installation. - Döp om mappen
pluginstill exempelvisplugins-av. - Ladda om sajten.
WordPress hittar då inga tillägg och kör sajten utan dem. Försvinner felet var det ett tillägg. Då:
- Döp tillbaka mappen till
plugins. Tilläggen är nu inaktiverade men finns kvar. - Logga in och aktivera tilläggen ett i taget under Tillägg. Ladda om sajten efter varje.
- 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.
- Gå till
wp-content/themesoch döp om mappen för ditt aktiva tema, till exempelmitt-tematillmitt-tema-av. - WordPress upptäcker att det aktiva temat saknas och byter automatiskt till standardtemat Twenty Twenty-Five, om det finns installerat.
- 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.
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:7Sö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:
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
- WordPress källkod 7.1.3 – class-wp-fatal-error-handler.php och class-wp-recovery-mode.php
- WordPress.org – Felsökning (FAQ Troubleshooting)
- WordPress.org – Debugging in WordPress
Hittar du ett fel? Hör av dig så rättar vi.