Fremskynde WordPress Caching og Database Optimization

En av de mest populære snakkepunktene i WordPress-fellesskapet er å øke hastigheten på WordPress og optimalisere nettsider. Jeg tror ikke det er en WordPress-blogg uten en "X Tips for Speed ​​Up WordPress" artikkelen. Ikke misforstå, det er en god ting. Men vi trenger bedre artikler om dette emnet i stedet for kjedelige plugin run-ups.

Dette kan se ut som et annet "tips for å øke WordPress" -opplæringen, men i denne tredelte serien skal vi gå gjennom alle aspekter ved å optimalisere og øke hastigheten på WordPress-nettstedet ditt.

La oss starte med det mest populære og sannsynligvis det enkleste: caching.

Caching i WordPress

Jeg tror det er trygt å si at dette er det mest populære emnet når det gjelder å øke hastigheten på WordPress. Gitt, dette er på grunn av de populære og brukervennlige WordPress-caching-pluginene, men det er også en av de grunnleggende teknikker for å redusere databasebelastning og øke hastigheten på WordPress-nettsteder.

Vi kommer til å komme tilbake til caching-plugins, men la oss se på de to typer caching: server-side caching og klient-side caching.

Client-Side Caching

Client-side caching er typen caching de besøkende nettlesere gjør. Det betyr at når besøkende kommer til nettstedet ditt, vil nettleserne lagre data på bestemte deler av sidene dine. Mens nettlesere lagrer noen data automatisk (som caching JavaScript og CSS-filer), kan vi gjøre finjustering ved hjelp av .htaccess filer.

Ved finjustering av .htaccess fil, jeg mener å legge til "Utløper" header i den. Du har kanskje hørt begrepet "Utnyttelse av nettleservakking" fordi det ofte brukes i "webområdeoptimalisering" opplæringsprogrammer, og det er et høyt prioriterte kriterium i Google PageSpeed-tjenesten.

Heldigvis trenger vi ikke å komme opp med disse overskriftene selv - det er nok kode klar til å bli "lånt" på nettet. Jeg liker den i HTML5 Boilerplate, hvor overskriftene er delt opp etter kategorier av filtyper:

# ------------------------------------------------- ----------------------------- # | Utløper overskrifter | # ------------------------------------------------- ----------------------------- # Betjene ressurser med langt fremtid utløper overskrifter. # VIKTIG: Hvis du ikke kontrollerer versjonering med filnavnbasert cache # busting, bør du vurdere å senke buffertidene til noe som en uke.  ExpiresActive on ExpiresDefault "tilgang pluss 1 måned" # CSS ExpiresByType tekst / css "tilgang pluss 1 år" # Datautveksling ExpiresByType applikasjon / json "tilgang pluss 0 sekunder" ExpiresByType applikasjon / ld + json "tilgang pluss 0 sekunder" ExpiresByType application / vnd .geo + json "tilgang pluss 0 sekunder" ExpiresByType program / xml "tilgang pluss 0 sekunder" ExpiresByType tekst / xml "tilgang pluss 0 sekunder" # Favicon (kan ikke omdøpes!) og markørbilder ExpiresByType image / x-icon "tilgang pluss 1 uke "# HTML-komponenter (HTCs) ExpiresByType tekst / x-komponent" tilgang pluss 1 måned "# HTML ExpiresByType tekst / html" tilgang pluss 0 sekunder "# JavaScript ExpiresByType-applikasjon / javascript" tilgang pluss 1 år "# Manifest filer ExpiresByType / manifest + json "tilgang pluss 1 år" ExpiresByType applikasjon / x-web-app-manifest + json "tilgang pluss 0 sekunder" ExpiresByType tekst / cache-manifest "tilgang pluss 0 sekunder" # Media ExpiresByType audio / ogg "tilgang pluss 1 måned "ExpiresByType image / gif" tilgang plu s 1 måned "ExpiresByType video / mp4" tilgang pluss 1 måned "ExpiresByType video / ogg" tilgang pluss 1 måned "ExpiresByType video / webm" tilgang til 1 måned "ExpiresByType video / mp4" tilgang og 1 måned "ExpiresByType image / png" pluss 1 måned "# Web feeds ExpiresByType program / atom + xml" tilgang pluss 1 time "ExpiresByType program / rss + xml" tilgang pluss 1 time "# Webfonter ExpiresByType program / font-woff" tilgang pluss 1 måned "ExpiresByType program / font -woff2 "tilgang pluss 1 måned" ExpiresByType program / vnd.ms-fontobject "tilgang pluss 1 måned" ExpiresByType program / x-font-ttf "tilgang pluss 1 måned" ExpiresByType font / opentype "tilgang pluss 1 måned" ExpiresByType image / svg + xml "tilgang pluss 1 måned"  

Plasser disse kodelinjene i din .htaccess fil og du er god til å gå!

Server-side Caching

Når det gjelder server-side caching i WordPress, kan vi snakke om fire hovedtyper av caching: side caching, database caching, object caching og opcode (operasjonskode) caching. Sourav Kundu forklarer dette i sin artikkel på WP Explorer, men la oss ta opp:

  1. Side Caching: I hovedsak utfører WordPress sidene dine ved å spørre databaser og laster resultatene. Siden caching lagrer imidlertid hver side som HTML-filer i serverens lokale lagring (harddisk eller RAM), og serverer HTML-filene som svarer til sidene dine hver gang de besøkende besøker nettstedet ditt.
  2. Database Caching: Selv om databaser er "hjernen" på et WordPress-nettsted der alle data er lagret, er det ikke veldig effektivt når WordPress gjør det samme ikke-endrede spørsmålet igjen og igjen på hver side og for hver besøkende. Database caching lagrer og serverer resultatene av disse spørringene, og oppdaterer resultatene når en endring av spørringen er gjort.
  3. Objekt Caching: Dette er en intern API for WordPress som tillater plugins å lagre data om dyre spørringer i minnet. Det er litt irrelevant for serien vår - kanskje vi går gjennom dette i en egen opplæring i fremtiden.
  4. Opcode Caching: På samme måte som du legger til mel, vann, egg, sukker og hva som helst hver gang du bake en kake, er koderne i PHP-filene dine instruksjoner for å "kompilere" og gjøre dine forespørsler. Opcode caching er den typen caching som lagrer den kompilerte koden, og påskynder prosessen betydelig.

WordPress-plugins på caching

Våre hovedkapitler er aspekter for å øke hastigheten på WordPress, så det kan være off-topic å se gjennom plugins. Likevel er det en god ide å snakke om et par plugins i hvert kapittel. Når det gjelder caching, vet jeg at du allerede kjenner de to mest populære pluginene:

  1. WP Super Cache: Dette er den mest populære caching plugin for WordPress, med over 6 millioner nedlastinger og en 4,2 stjernerangering som jeg skriver denne artikkelen. Enkelt sagt, fungerer WP Super Cache ved å generere statiske HTML-filer på sidene dine og forfriske dem med et intervall du angir (en time som standard). Dette fungerer som magi ut av boksen, selv i delte verter, men kan ikke være nok for nettsteder med høy trafikk.
  2. W3 Total Cache: Å være den nest mest populære plugin med nesten 4 millioner nedlastinger og en 4,5 stjernerangering, W3 Total Cache er den typen plugin som er mer egnet for høy trafikk nettsteder som kjører fra en VPS eller et bedre hosting miljø. Med det brede spekteret av innstillinger og støtte for høy ytelse caching alternativer, kan det være den beste løsningen for deg hvis du vet hva du gjør. Hvis du ikke er kjent med sjargongen i innstillingene, kan du imidlertid også bruke den ut av boksen og ikke endre noen alternativer, eller du kan bryte frontendens.

Optimalisering av databasen i WordPress

Databaser er "hjernen" på nettstedet ditt: De lagrer de verdifulle dataene du viser på sidene dine. Statiske HTML-nettsteder lagrer dataene sine på sidene, men innholdsstyringssystemer må stole på databaser (SQL, NoSQL, XML, JSON og slik) for å lagre dataene våre. WordPress er ikke annerledes - det bruker MySQL til å lagre det statiske og dynamiske innholdet sammen med nettstedet ditt, WordPress-innstillinger, brukerdetaljer og så videre.

Databaser er en kraftig standard for å beholde, betjene og endre dataene dine, men hvis du bruker dem feil og glemmer å vedlikeholde dem, kan de få fett og oppblåst. Og som enhver annen programvare, trenger WordPress også vedlikehold. WordPress bygger ikke for mye oppblomstring i databasen, men det betyr ikke at det ikke vil redusere nettstedet ditt.

Du må holde øye med innleggsrevisjonene dine, søppel av innlegg, sider, kommentarer, etc., og andre typer "foreldede" data. Og nå og da må du sjekke "database overhead", som ofte sammenlignes med defragmentering av harddisken eller endring av bilens olje.

Det er mulig å opprettholde alle disse manuelt: Du kan tømme papirkurven, deaktivere "revisions" -funksjonen, slette spamkommentarer og optimalisere databasens overhead ved å logge på phpMyAdmin, men det er ikke en optimalisert teknikk for databaseoptimalisering. I stedet kan du bruke et WordPress-plugin for å gjøre alt arbeidet.

Det er flere enn noen få plugins som lar deg optimalisere databasen med ett klikk eller til og med automatisk. Den jeg liker mest er WP-Optimize: Den rydder automatisk opp og optimaliserer databasen uten å måtte ha problemer.

WP-Optimize viser hovedfunksjonene som følger:

  • Fjerning av foreldede innleggsrevisjoner
  • Fjerning av uaktuelle og spam-kommentarer
  • Fjerning av utskårne kommentarer
  • Fjerning av Akismet-metadata fra kommentarer
  • Fjerning av andre foreldede metadata fra kommentarer
  • Mobilt brukervennlig, nå kan du optimalisere nettstedet ditt på farten
  • Fjerning av alle trackbacks og pingbacks
  • Rengjøring av automatisk utkast innlegg
  • Fjerning av forbigående alternativer
  • Fjern utlegget
  • Automatisk opprydding av alle de integrerte alternativene (bruker også oppbevaring hvis aktivert)
  • Evne til å beholde valgt antall uker data når du rydder opp
  • Mulighet for å legge til eller fjerne kobling på wp admin bar.
  • Aktiver / deaktiver ukentlige tidsplaner for optimalisering
  • Bruk innfødte WordPress MySql optimaliser kommandoer på databasetabeller uten phpMyAdmin eller noen manuell spørring.
  • Vis tabelldatastatistikk. Viser hvor mye plass som kan optimaliseres og hvor mye plass som er blitt ryddet.
  • Aktivert bare for administratorer.

Pass på å sjekke ut andre databaseoptimeringsprogrammer, men vær ikke uaktsom om å opprettholde databasen.

På til del 2

I neste del av serien ser vi på aspekter av komprimering og minifisering, og bruker CDN-er for å gjøre WordPress-nettstedet ditt raskere.

Hva synes du om å øke hastigheten på WordPress? Del dine tanker nedenfor i kommentarfeltet. Og hvis du likte artikkelen, ikke glem å dele den.