Come risolvere il consumo di risorse di admin-ajax.php

Se sei qui, molto probabilmente è perché hai avuto problemi con il tuo sito web e l’assistenza ti ha mostrato un anomalo consumo di ricorse da parte del famigerato file “admin-ajax.php“. Spesso, gli Hosting tendono a limitare la velocità di accesso al tuo sito, con delle restrizioni, quando superi determinati secondi di uso della cpu del Server dove sei ospitato. Avere un sito lento può influire sull’esperienza degli utenti e ridurre il ranking SEO perché Google utilizza il tempo di caricamento della pagina nei propri criteri di classificazione.

L’eccessivo uso delle ricorse del Server, è spesso causato da un picco di chiamate al file admin-ajax.php. Qui ti spiegheremo a cosa serve admin-ajax.php e vedrai come risolvere l’eccesso di chiamate al file admin-ajax.php e ridurre la richiesta di callback, così da ottimizzare il tempo di caricamento del tuo sito web.

Cos’è e cosa fa admin-ajax.php?

L’API Heartbeat di WordPress utilizza il file admin-ajax.php per le comunicazioni tra il browser e il server. L’API Heartbeat serve per: il salvataggio automatico, ovvero quando scrivi un articolo su WordPress, lo salvi come bozza e continui a lavorarci su, WordPress salva automaticamente ogni aggiunta che fai.

Heartbeat viene utilizzato anche quando collabori con più persone su un sito WordPress e ti vengono notificate le azioni degli altri utenti, se qualcuno ha fatto questo e quell’altro su quell’articolo ecc. ovviamente queste sono tutte chiamate al file admin-ajax.php.

Ovviamente, come detto sopra, un eccessivo uso del serve e la conseguente penalizzazione e rallentamento, può portare il tuo sito ad essere letto con difficoltà e può causare problemi in vista SEO, a causa delle lentezza con la quale Google ha accesso alle pagine da scansionare.

In definitiva, i problemi sono causati o da plug-in di terze parti o dalle richiesta API Heartbeat di WordPress. Ma approfondiamo nel dettaglio.

Come verificare se un Plugin sta chiamando admin-ajax.php

I Plugin possono causare un eccesso di chiamate al file admin-ajax.php. Quindi, un Plugin che hai installato, che fino a ieri andava bene, dopo un aggiornamento può creare improvvisamente un picco nel Server e rallentare tutto il tuo sito Web.

Per verificare che tutto vada per il verso giusto, è necessario scoprire quale plug-in è “difettoso” e disabilitarlo o disabilitarne la funzione che causa il picco. Questo è importante per capire se un determinato plugin causa il problema del tempo di caricamento.

Come verificare quale Plugin chiama admin-ajax.php con GTmetrix

Per risolvere il problema, puoi disabilitare e riattivare piano piano tutti i Plugin, ma qui ti facciamo vedere come individuare esattamente quale di essi da problemi. Puoi verificare l’effettiva anomalia di caricamento del tuo sito web, utilizzando GTmetrix.

Tutto quello che devi fare è recarti sul sito web di GTmetrix, inserire il link del tuo sito web nell’apposita barra di ricerca(il link di un post, non la semplice homepage, se è possibile), cliccare su “Test your site” ed attendere l’analisi della pagina.

Finita l’analisi, vedrai il rapporto completo relativo ai tempi di caricamento del tuo sito web, e i relativi punteggi. Tutto quello che devi fare è andare nella sezioneWaterfall” ed individuarePOST admin-ajax.php” dalla colonna di sinistra.

Problema Plugin admin-ajax.php

Qui clicca sul pulsantino “+” ed espandi i dettagli di POST admin-ajax.php: avrai davanti quattro schede: Headers, Params, Post e Response. Quindi andiamo sulla scheda “Post” (il più delle volte, ma anche in “Response” se serve), nella prima dicitura, nell’intestazione, individuiamo il nome del Plugin difettoso e poi andiamo a disabilitarlo in WordPress. Una volta disabilitato, rifacciamo il test con GTmetrix e verifichiamo se è tutto ok.

Bene, ti abbiamo fatto vedere come risolvere il consumo di risorse di admin-ajax.php. Devi verificare la presenza del Plugin nella sezione Post o Response di POST admin-ajax.php in GTmetrix. In alternativa, se vuoi limitare solamente l’API Heartbeat, puoi scaricare il plugin Heartbeat Control e settare le varie opzioni. (leggi anche: come-limitare-numero-esecuzioni-wordpress-heartbeat). Speriamo di esservi stati di aiuto, ciao e alla prossima!