Tilbage til vidensbanken
Blog · · 12 min læsning

Der er sket en kritisk fejl på dit websted – sådan løser du det

Der er sket en kritisk fejl på dit websted
Del in f @

Du åbner din hjemmeside, og i stedet for forsiden står der én grå sætning: “Der er sket en kritisk fejl på dit websted.” Ikke andet. Ingen forklaring, intet at klikke på. Hvis du driver forretning fra siden, er det et ubehageligt syn.

Den gode nyhed er, at beskeden næsten altid dækker over noget banalt, og at WordPress selv har lagt en nøgle frem til dig. De fleste danske guider springer den nøgle over og går direkte til FTP. Denne her starter med den.

Kort svar: “Der er sket en kritisk fejl på dit websted” betyder, at et stykke PHP-kode er gået ned og har stoppet hele sidens indlæsning. Årsagen er i ni ud af ti tilfælde et plugin eller et tema, der lige er blevet opdateret. WordPress sender samtidig en mail med emnet “Dit websted har et teknisk problem” til administratoradressen. Den mail indeholder et link til gendannelsestilstand, som lukker dig ind i wp-admin med den defekte udvidelse slået fra. Start der.

Hvad betyder “Der er sket en kritisk fejl på dit websted”?

WordPress kører på programmeringssproget PHP. Når et stykke PHP-kode fejler så alvorligt, at det ikke kan fortsætte, stopper hele sidens indlæsning. Det kaldes en fatal fejl, og det er den, den grå besked dækker over.

Før WordPress 5.2 fik man en helt hvid skærm i den situation – det, mange stadig kalder “white screen of death” eller bare WordPress hvid skærm. Siden version 5.2 fanger WordPress fejlen og viser en besked i stedet. Det ser mere alvorligt ud, men er reelt en forbedring, fordi WordPress samtidig sender dig en vej ind i systemet.

Dansk WordPress viser tre forskellige varianter af beskeden, alt efter hvem du er, og hvad der er gået galt. Alle tre betyder det samme:

  • “Der er sket en kritisk fejl på dit websted.” Standardbeskeden på forsiden af sitet.
  • “Der er opstået en kritisk fejl på dette websted. Tjek venligst din webstedsadministrators emailindbakke for instruktioner.” Vises, når WordPress har nået at sende gendannelsesmailen af sted.
  • “Der er en kritisk fejl på websitet. Venligst kontakt sidens administrator for yderligere hjælp.” Det, dine besøgende ser, når de ikke er logget ind.

Ser du den sidste variant, mens du selv er logget ind som administrator, så log ud og ind igen. Du får så den mere informative besked med henvisning til mailen.

Hvor kommer den kritiske fejl fra?

En kritisk fejl i WordPress har i praksis altid én af syv årsager. Tabellen her er sorteret efter, hvor ofte hver årsag optræder, og hvad der typisk afslører den:

ÅrsagTypisk kendetegnLøsning
Plugin efter opdateringSiden gik ned lige efter en opdateringGendannelsestilstand, eller omdøb plugins-mappen
Tema efter opdateringKun forsiden er nede, wp-admin virkerSkift midlertidigt til et standardtema
PHP-hukommelse opbrugtGik ned uden at du ændrede nogetHæv WP_MEMORY_LIMIT i wp-config.php
Serverens PHP-version blev skiftetFlere sider på samme webhotel er nedeSkift et trin ned i kontrolpanelet
Konflikt mellem to pluginsFejlen kommer og gårAktivér plugins ét ad gangen
Beskadigede kernefilerEn opdatering blev afbrudt undervejsUdskift wp-admin og wp-includes
Hacket sideUkendte filer, ændringsdatoer du ikke kan forklareRul tilbage til en ren sikkerhedskopi

Trin 1: Tjek mailen “Dit websted har et teknisk problem”

Åbn indbakken for den mailadresse, der står som administrator på WordPress-sitet. Du leder efter en mail med emnet “[sitets navn] Dit websted har et teknisk problem”. Den indeholder to ting, der er guld værd:

  • Navnet på det plugin eller tema, der forårsagede den kritiske fejl, og ofte den præcise fil og linjenummer.
  • Et link til gendannelsestilstand, som logger dig ind i wp-admin med den defekte udvidelse sat på pause.

Klik på linket, deaktiver eller opdater synderen, og siden er oppe igen. Det er hele reparationen i langt de fleste tilfælde, og den tager to minutter. Når du er færdig, klikker du på “Luk gendannelsestilstand” i den sorte bjælke øverst.

Linket udløber efter et døgn, og der går som udgangspunkt en time, før WordPress sender en ny mail om den samme fejl. Kommer der ingen mail overhovedet, er der to sandsynlige forklaringer: administratoradressen under Indstillinger er forkert eller forældet, eller også får serveren ikke sendt mails ud. Begge dele er værd at få rettet bagefter, uanset hvordan du løser den aktuelle fejl.

photo 1620287341056 49a2f1ab2fdc

Trin 2: Sluk alle plugins udefra

Kan du hverken komme på siden eller i wp-admin, og er der ingen mail, skal du ind via filerne. Brug filhåndteringen i dit webhotels kontrolpanel eller en FTP-klient. Du skal bruge én mappe:

wp-content/plugins

Omdøb mappen til plugins-fra. WordPress kan nu ikke finde nogen plugins og deaktiverer dem alle sammen. Prøv siden igen.

  1. Siden virker igen. Så ligger den kritiske fejl i et plugin. Omdøb mappen tilbage til plugins, gå ind i wp-admin, og aktivér dine plugins ét ad gangen. Det plugin, der slår siden ud igen, er synderen. Har du tredive plugins, så halvér i stedet: aktivér de første femten, og arbejd dig ind på det. Det tager fem forsøg i stedet for tredive.
  2. Siden er stadig nede. Så er det ikke et plugin. Omdøb mappen tilbage og gå videre til temaet.

Ét forbehold: omdøber du plugins-mappen, mens du ikke har adgang til wp-admin, mister nogle plugins deres indstillinger, når de aktiveres igen. Det er sjældent, men tag en kopi af wp-content, før du gør det, hvis siden indeholder noget, du ikke kan genskabe.

Trin 3: Skift til et standardtema

Samme fremgangsmåde som med plugins. Find dit aktive tema under wp-content/themes og omdøb mappen. WordPress falder automatisk tilbage til et af sine egne temaer, hvis der ligger et. Gør der ikke det, så hent det nyeste standardtema fra wordpress.org og læg det op først.

Kommer siden op med standardtemaet, ligger den kritiske fejl i dit eget tema. Er det et købt tema, er der sandsynligvis en opdatering klar. Er det et tema, nogen har bygget specifikt til dig, har det formentlig kode i functions.php, der ikke længere passer til den PHP-version, serveren kører. Det er en af de klassiske grunde til, at hjemmesider bygget uden opsyn går ned år senere.

Trin 4: Hæv PHP-hukommelsen

Gik siden ned, uden at du havde opdateret noget, er hukommelse en oplagt mistænkt. Hver WordPress-installation har et loft for, hvor meget hukommelse PHP må bruge, og et tungt plugin eller en stor import kan ramme det loft.

Åbn wp-config.php i rodmappen og indsæt denne linje over linjen med “That’s all, stop editing”:

define( 'WP_MEMORY_LIMIT', '512M' );

Virker det ikke, er loftet sat af serveren og kan ikke hæves fra WordPress. Så skal dit webhotel ind over. Hos de fleste danske udbydere kan du selv skrue op under PHP-indstillinger, og ellers klarer supporten det på én henvendelse.

Trin 5: Tjek om PHP-versionen er skiftet

Webhoteller opgraderer med jævne mellemrum PHP på deres servere, og de varsler det ikke altid særlig tydeligt. Et ældre plugin eller tema, der brugte en funktion, som er fjernet i den nye PHP-version, går ned i samme sekund.

Find PHP-indstillingerne i dit kontrolpanel og se, om versionen er skiftet for nylig. Skift midlertidigt ét trin ned, for eksempel fra PHP 8.3 til 8.2. Kommer siden op, har du fundet årsagen.

Det er en midlertidig løsning, ikke en permanent. Gamle PHP-versioner holder på et tidspunkt op med at få sikkerhedsopdateringer, så brug pausen til at få opdateret det plugin eller tema, der ikke kan følge med. Er der flere sider nede på samme webhotel samtidig, er PHP-versionen næsten altid forklaringen.

Trin 6: Få fejlen skrevet ned i debug.log

Er du nået hertil uden svar, så bed WordPress om at skrive fejlen ned. Indsæt disse tre linjer i wp-config.php:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Bemærk den sidste linje. Den sørger for, at fejlene ikke vises for dine besøgende, men i stedet skrives til wp-content/debug.log. Indlæs siden igen, åbn filen, og læs den nederste linje. Den indeholder som regel et filnavn med et plugin- eller temanavn i, og så ved du, hvor du skal lede.

Husk at sætte WP_DEBUG tilbage til false og slette debug.log, når du er færdig. Filen kan indeholde serverstier og oplysninger, der ikke skal ligge offentligt tilgængeligt.

Trin 7: Udskift WordPress’ kernefiler

Er hverken plugins, tema, hukommelse eller PHP-version forklaringen, står du typisk med beskadigede kernefiler efter en afbrudt opdatering.

Kernefilerne kan du skifte ud uden risiko for dit indhold. Hent WordPress fra wordpress.org, slet wp-admin og wp-includes på serveren, og læg de friske mapper op i stedet. Rør ikke wp-content og ikke wp-config.php – dine sider, billeder, temaer og indstillinger ligger der.

Ser du derimod ukendte filer i rodmappen, ændringsdatoer du ikke kan forklare, eller fremmed kode i toppen af index.php, så behandl det som et indbrud og ikke som en fejl. Der er en tilbagerulning til en ren sikkerhedskopi det hurtigste og sikreste svar.

Sådan undgår du kritiske fejl fremover

Kritiske fejl kommer sjældent ud af ingenting. De kommer, når noget bliver opdateret uden opsyn. Tre vaner fjerner størstedelen af risikoen:

  • Slå automatisk opdatering fra på de tunge plugins. Webshop, formularer, sidebygger. Lad de små og enkle opdatere sig selv.
  • Sørg for, at der findes en sikkerhedskopi, du har prøvet at genskabe fra. En backup, ingen har testet, er en formodning.
  • Hold administratoradressen opdateret. Det er den, gendannelseslinket sendes til, og den er kun noget værd, hvis nogen læser den.

Vil du hellere have en anden til at holde øje, er det præcis det, en vedligeholdelsesaftale dækker: opdateringer i kontrollerede omgange, backup der bliver testet, og nogen der opdager fejlen, før dine kunder gør.

Ofte stillede spørgsmål

Mister jeg mit indhold, når der er sket en kritisk fejl?

Nej. En kritisk fejl i WordPress er en fejl i kode, ikke i data. Dine sider, indlæg, billeder og indstillinger ligger uberørt i databasen og i mappen wp-content. Så snart den defekte kode er slået fra eller opdateret, er alt indholdet der igen.

Hvor lang tid tager det at rette en kritisk fejl?

Har du gendannelsesmailen fra WordPress, tager det typisk to til fem minutter. Skal du finde synderen manuelt ved at deaktivere plugins ét ad gangen, tager det som regel tredive til tres minutter. Er der tale om en hacket side, skal du regne med flere timer.

Hvorfor får jeg ingen mail om den tekniske fejl?

De tre almindeligste årsager er, at administratoradressen under Indstillinger er forældet, at serveren ikke kan sende mails ud, eller at mailen er havnet i spamfilteret. Tjek spammappen først. WordPress sender desuden kun én mail i timen om den samme fejl, så vent ikke på en ny, hvis du lige har slettet den første.

Er en kritisk fejl det samme som WordPress hvid skærm?

Det er den samme underliggende fejl, vist på to måder. Før WordPress 5.2 resulterede en fatal PHP-fejl i en helt hvid side uden tekst. Fra version 5.2 og frem viser WordPress i stedet beskeden “Der er sket en kritisk fejl på dit websted” og sender en gendannelsesmail. Ser du stadig en helt hvid skærm i dag, skyldes det som regel, at fejlen opstår så tidligt i indlæsningen, at WordPress’ egen fejlhåndtering ikke når at køre.

Kan jeg selv rette en kritisk fejl uden teknisk viden?

Trin 1, gendannelsesmailen, kræver ingen teknisk viden – det er et klik i en mail og en knap i wp-admin. Trin 2 til 7 kræver, at du kan finde rundt i filerne på dit webhotel. Er du i tvivl, så tag en sikkerhedskopi, før du ændrer noget, eller få nogen til at kigge med.

Er siden oppe igen, men du har på fornemmelsen, at der er andet galt under overfladen, kan du køre den gennem vores gratis SEO-tjek og se, hvad Google faktisk møder. Og er næste spørgsmål på listen, hvorfor siden ikke får besøgende, har vi skrevet om hvorfor en hjemmeside ikke ranker.

Læs også

Mere fra vidensbanken