Admin-ajax.php vertraagt de hele boel!

Inhoudsopgave van: Admin-ajax.php vertraagt de hele boel!

Categorie: Duurzaamheid , The quest for speed | Tags: admin, ajax, Caching, plugins, snelheid, w3tc, W3TotalCache

Als je wat meer van t web weet dan kijk je wel eens hoeveel verzoeken er naar de server gaan en welke lang duren. Heel goed!
Het kan gebeuren dat je admin-ajax.php op je site ziet en dat ie traag overkomt. Wij gaan hier dieper op in.

Schrijf je in voor onze nieuwsbrief

Ontvang ook onze laatste handige tips en WordPress nieuwtjes.

  • Maximaal 1x per week
  • Makkelijk uitschrijven

Schrijf je in voor onze nieuwsbrief

Een ogenblikje

Bedankt voor je inschrijving!

 

Kijken we dus in chromium naar het Net tabje, en dan de XHR verzoeken, dan zien we op deze voorbeeldsite inderdaad een aanroep van maar liefst 4.21 seconden.
Dat is lang.

ajax_call
homepage


Maar .. kijken we in hetzelfde Net tabje, en dan de Doc verzoeken (het eerste), dan zien we dat bij de initiele aanroep op site.nl/en/ je 10.28 seconden moest wachten. Dat is gewoon onacceptabel.
Want .. dan is enkel de HTML binnen, dan heb je nog geen CSS, JS, plaatjes enzovoorts. Geduld is dus het advies (of allang wegklikken).

En dat brengt ons tot de kern van de zaak:

Wat doet admin-ajax.php eigenlijk?

Vanalles.

Ja echt 🙂 Admin-ajax.php is een ingang voor je site om dingen 'onder water' te doen. Dat kan tijdens of na het laden van je webpagina gebeuren, en soms ook iedere seconde.

Een voorbeeld: Haal het aantal producten op dat in het winkelmandje van WooCommerce zit (en de totaal prijs).
Nog een voorbeeld: Laat iedere seconde aan WordPress weten dat ik nog op de pagina zit.

Doorgaans is de informatie die admin-ajax.php terugstuurt (of juist er heen wordt gestuurd) bezoekersgebonden en wil je het niet cachen.

Maar waarom is hij zo traag?

Dat is hij niet.

De uitleg: (gecopieerd van Met meer PHP geheugen wordt mijn WordPress site sneller! Toch ? )

Als je je WordPress site in je browser ophaalt of als je een bericht aan het werken bent gebeurt er onder water het volgende, in deze globale volgorde:

  1. De standaard WordPress onderdelen worden voor je verzameld en ingeladen
  2. Eventuele mu-plugins en multisite netwerk-geactiveerde plugins worden verzameld en ingeladen
  3. Alle plugins die actief zijn worden verzameld en ingeladen
  4. Je thema wordt ingeladen

Doorgaans zal admin-ajax.php in stap 2,3 of 4 pas "begrijpen" wat je browser van m vraagt en dat dan ook uitvoeren.

Dat betekent dat als jij een reeks hele zware en trage plugins hebt dat je site altijd al langzaam is. Dus ook als je in de WP-admin bezig bent. Het is dan onvermijdelijk dat admin-ajax ook traag is. Want .. je hele site is gewoon traag.
Dat zagen we ook in de voorbeeldplaatjes hierboven: het HTML stuk had al meer dan 10 seconden nodig, dus dat het ajax stuk iets meer dan 4 seconden nodig heeft, is niet heel gek.

Onze business hosting is minimaal 2x sneller dan je huidige hosting

Hoe maak je je admin-ajax weer snel?

Maak je site snel / sneller. Ongecached sneller bedoel ik hiermee. Dus niet (hoewel altijd goed) het optimaliseren van plaatjes, CSS en JavaScript.
Want hoe sneller de site inlaad terwijl je ingelogged bent, hoe sneller admin-ajax.php zal zijn.

Vaak zal dit betekenen dat je plugins uit zet, een goede WordPress host zoekt, object caching aanzet in W3TotalCache, zaken afvangt (zie ook Dynamische AJAX CSS en JavaScript, een performance killer) en een expert laat meekijken.

Laat ons kijken naar je site kijken en je site zal je meer opleveren:

  • Een korte vraag om massa robot inzendingen tegen te gaan.
    Bijvoorbeeld: Zoekmachine, via een vriend, via een andere site etc..

Geef je reactie

Je e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *



Als je dit artikel leuk vond, dan moet je deze speciaal geselecteerde artikelen ook lezen!


Ervaringen van anderen