CRON jobs bruges til at planlægge opgaver til regelmæssige faste tider, datoer eller intervaller på dit WordPress-sted. Nogle eksempler på et WordPress cron-job kan involvere planlægning af et indlæg til offentliggørelse, kontrol af opdateringer eller et backup-plugin, der kører på et foruddefineret tidsplan.
I WordPress håndteres dette af WP-Cron, der bruges til at simulere en system cron. Afhængig af mængden af trafik til dit websted kan brug af den indbyggede cron-handler faktisk begynde at påvirke dine side belastningstider. Så i dag viser vi dig, hvordan du deaktiverer WP-Cron (wp-cron.php
) og i stedet bruger et system cron til hurtigere ydelse.
Ydelsesproblemer med WP Cron
Vi beskæftiger os med en masse trafik og krævende websteder hos Kinsta. På grund af dette har vi set en masse præstationsproblemer med den WordPress indbyggede Cron-handler: WP-Cron. For det første er det vigtigt at forstå, at WP-Cron ikke er et rigtigt cron-job, det er simpelthen hvad WordPress har skabt for at efterligne, hvad en system cron gør.
WP-Cron kører ikke kontinuerligt. Som standard udløses wp-cron.php
på hver sideindlæsning, hvilket på steder med høj trafik kan forårsage problemer. Hvis et websted ikke har nok PHP-arbejdere, kommer der undertiden en anmodning ind, WordPress vil spawne cronen, men cron er nødt til at vente på arbejdstageren, og sidder derfor bare der.
Det omvendte scenarie er også sandt. Hvis et sted ikke har meget trafik, kan tidsplaner gå glip af, at ingen har indlæst en side.
En bedre fremgangsmåde er at deaktivere WP-Cron og bruge system cron i stedet. Dette kører efter en foruddefineret tidsplan og anbefales endda i den officielle Plugin-håndbog.
Sådan deaktiveres WP-Cron
For at deaktivere WP-Cron skal du tilføje følgende til din wp-config.php
-fil lige før linjen der siger ”Det er alt, stop med at redigere! God blogging. ”Bemærk: Dette deaktiverer det fra at køre ved sideindlæsning, ikke når du kalder det direkte via wp-cron.php
.
define ('DISABLE_WP_CRON', true);
Sådan planlægges system Cron
Du bliver derefter nødt til at planlægge wp-cron.php
fra din server.
Hvis dit websted er et multisite, er der nogle ekstra trin til opsætning, du skal tage, så cron job kører for dine undersider. Her er et par ressourcer, vi kan anbefale til det:
- Brug af WP CLI til at køre Cron job på multisite-netværk
- Kører WordPress cron på en multisite instans
For et enkelt WordPress-websted er den gode nyhed, at hvis du er en Kinsta-kunde, udløser vores cron på serversiden wp-cron.php
hvert 15. minut som standard. 💪 Dette vil udføre alle planlagte WordPress crons. Og hvis det er nødvendigt, kan du øge hyppigheden ved at kontakte vores supportteam.
Hvis du er bekendt med SSH, kan du også følge vores tutorial om, hvordan du administrerer server crons fra kommandolinjen på Kinsta. Alle vores hostingplaner inkluderer SSH-adgang.
Hvis du ikke er en Kinsta -klient, anbefaler vi at tjekke korrekt opsætning af WordPress Cron Jobs for at lære, hvordan du konfigurerer system crons.
Opret Cron Job i cPanel
Hvis du bruger en vært med cPanel, kan du også oprette en system-cron fra deres dashboard. Bemærk: Sørg for, at du først deaktiverer standard WP-Cron ovenfor.
Trin 1
Log ind på cPanel. Klik på Cron Jobs i afsnittet Avanceret.
Trin 2
Under afsnittet Tilføj nyt Cron-job kan du vælge mellem et antal forskellige foruddefinerede tidsplaner, f.eks. to gange i timen eller en gang om ugen. Din hostingudbyder har sandsynligvis en grænse for, hvor ofte de tillader at køre cron-jobs. To gange i timen er en fælles indstilling for delte værter.
Trin 3
Tilføj følgende kommando. Erstat https://domain.com
med dit domænenavn. Denne kommando kan variere lidt afhængigt af, hvordan din hosting er konfigureret. Klik derefter på “Tilføj nyt Cron-job.”
wget -q -O - https://domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
>/dev/null 2>&1
delen af kommandoen ovenfor deaktiverer e-mail-meddelelser.
Planlæg Crons med tredjepartsløsning
Hvis du ikke er tilpas med opsætning af cron-job på din server, eller din hostingudbyder ikke giver adgang, kan du også bruge en tredjepartsløsning som EasyCron.