Deaktiver WP-Cron for raskere WordPress

av naldy

WP-Cron brukes til å planlegge oppgaver til faste tider, datoer eller intervaller på WordPress-nettstedet ditt. Et eksempel er om du har planlagt at et innlegg skal publiseres frem i tid, eller at en backup skal kjøre på et bestemt klokkeslett.

I WordPress håndteres disse, og mange andre oppgaver fra det som kalles for WP-Cron eller wp-cron.php. WP-Cron kjører hver gang noen besøker nettstedet ditt, og når oppgavene begynner å samle seg opp, vil dette påvirke ytelsen.

For å løse denne utfordringen (og oppnå bedre ytelse), kan du deaktivere den innebygde cron-behandleren og bruke en systemcron på webhotellet i stedet.

Kjent ytelsesproblem i WordPress

WordPress sin wp-cron.php er ikke en ekte cron-oppgave, det er ganske enkelt noe som WordPress har laget, for å etterligne hva en ekte systemcron gjør. Den kjører ikke kontinuerlig, i stedet starter den og utfører alle planlagte oppgaver hver gang noen besøker nettstedet.

Hvis du har mange besøkende, vil en ekstra «arbeider» på webhotellet starte for hver sidevisning de utfører. Like ille er det om du har få besøkende, for da vil listen med oppgaver wp-cron.php ønsker å utføre hope seg opp.

Løsningen er å deaktivere WP-Cron, og aktivere en systemcron på webhotellet som kjører i faste intervall i stedet. Denne løsningen er anbefalt av WordPress. Les håndboken for utvidelser for mer informasjon.

Slik deaktiverer du WP-Cron

Det er enkelt å slå av WP-Cron. Den eneste tekniske utfordringen ved det, er at du ikke kan gjøre det fra kontrollpanelet i WordPress.

Du må redigere filen wp-config.php som ligger i roten hvor WordPress er installert på webhotellet. Enkle måter å redigere filen wp-config.php er å bruke filbehandleren i kontrollpanelet på webhotellet, du kan bruke SSH eller eventuelt laste ned filen med FTP.

Rediger wp-cron.php i filbehandleren på webhotellet

Legg til denne koden i wp-config.php:

define('DISABLE_WP_CRON', true);
Deaktiver WP-Cron

Opprett en systemcron

Når du deaktiverer WP Cron, må du planlegge en systemcron på webhotellet i stedet. Det er noe alle webhotell vi anbefaler lar deg gjøre.

Hos webhotell-leverandøren Kinsta, setter de opp en systemcron for deg som standard. Da trenger du ikke tenke noe mer på det, men hvis du har en annen leverandør må du mest trolig konfigurere den selv.

Ny CRON i cPanel

Hvis du til eksempel har webhotell hos Pro ISP, kan du legge til en systemcron fra kontrollpanelet cPanel. Les hvordan du logger inn i cPanel hos Pro ISP.

Fra cPanel velger du «Cron Jobs».

cPanel - Cron Jobs

Fra listen «Common Settings» kan du til eksempel velge «Twice Per Hour» for å konfigurere at systemcron skal kjøre hvert 30. minutt.

Opprett WP-Cron i cPanel

I feltet «Command» skriver du inn kommandoen nedenfor.

wget -q -O - https://eksempel.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Husk å endre eksempel.com til ditt eget domenenavn.

For å lage endringer og legge til ny systemcron, klikker du på knappen «Add New Cron Job».

Ny CRON med SSH

Hvis du har tilgang til SSH hos webhotellet ditt, må du først logge inn der. Når du er logget inn i SSH, er dette kommandoen for å redigere cron:

crontab -e

Hvis du ikke har valgt en standard editor ennå, eller webhotellet ikke automatisk velger en for deg, vil du bli spurt om hvilken du ønsker å benytte deg av.

kristian@server:~$ crontab -e
no crontab for kristian - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

Choose 1-4 [1]: 1

Editoren nano er trolig den som er enklest å bruke, men velg den du foretrekker fra listen.

Når du er inne i editoren, må du først tenke ut hvor ofte systemcron skal kjøre for WordPress-nettstedet ditt. Et typisk eksempel er hvert 30. minutt, eller to ganger i timen.

Husk å endre eksempel.com i eksemplene nedenfor til ditt eget domenenavn.

*/30 * * * * wget -q -O - https://eksempel.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Hvis du har behov for en systemcron som kjører oftere, til eksempel hvert 15. minutt, endrer du */30 til */15.

*/15 * * * * wget -q -O - https://eksempel.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Vær oppmerksom på at ikke alle webhotell tillater deg å opprette systemcron som kjører oftere enn hvert 30. minutt.

Når du er ferdig, lagrer du endringer i nano ved å trykke CTRL+X.

Kanskje du liker

Skriv en kommentar

* Vennligst gjør deg kjent med vår personvernerklæring.

Vi benytter cookies for utvidet funksjonalitet, bedre nettleser-opplevelse, statistikk og målrettede annonser. OK Les mer

HOLD DEG OPPDATERT

MELD DEG PÅ NYHETSBREV

Sendes ut ca. hver 3. måned.