il file admin-ajax.php Rallenta il sito: 3 metodi per risolvere

admin-ajax-php

Stai cercando di mettere il boost al tuo sito wordpress velocizzando e ottimizzando il tutto, hai completato tutte le opzioni del caso, ma ti sei reso conto, analizzando il sito con un tool come gtmetrix, che un file denominato admin-ajax.php rallenta il tuo sito web. Come puoi risolvere questo problema? Vediamo insieme come poter fare e come ottimizzare il nostro sito.

Cos’è il file Admin-ajax.php

Prima di vedere come sistemare questa problematica, vediamo prima cos’è e a cosa serve il file in questione. Era l’anno 2013 quando WordPress, con l’aggiornamento 3,6, introduce il file admin-ajax.php insieme alle API Heartbeat. Le Heartbeat API sono costruite per una corretta comunicazione tra il broswer e il server.

Il file admin-ajax.php viene utilizzato per mandare le varie richieste al server e far si che, tra i due elementi, avvenga una corretta comunicazione. A cosa serve nella pratica? In sostanza questo file si occupa del miglioramento dell’autosalvataggio, della comparsa del messaggio di allerta quando ci sono più amministratori collegati sulla stessa pagina, il monitoraggio delle revisioni e simili.

Questo file, quindi, è utilissimo per WordPress (che, non dimentichiamo, rimane principalmente una piattaforma di blogging) e per i siti che hanno molti editor/amministratori.

Quali problemi può causare un file admin-ajax.php lento nel caricamento?

I problemi possono essere abbastanza gravi in base alla lentezza che il file porta con se. Un sito non reattivo e lento a caricare rimane un segno molto grave, sia per gli utenti che lo navigano, che per i motori di ricerca che lo analizzano. Un utente, ad esempio, potrebbe non acquistare sul tuo sito se i passaggi che servono per compierli sono troppo lenti, oppure un bot potrebbe non scannerizzare una pagina se questa impiega troppo tempo a caricarsi.

In definitiva i problemi possono essere parecchi, e anche molto gravi, tra cui:

  • Mancata Indicizzazione del sito
  • Diminuzione del Crawl Budget
  • Pessima User Experience
  • Rallentamento del Back-end del nostro sito

Cosa può causare questo problema? Molto spesso possono essere le chiamate effettuate da una pagina o articolo di wordpress, ma, spesso, sono anche plugin di terze parti che fanno un uso eccessivo di questo file, vediamo come scoprirle e risolvere il problema.

Come velocizzare il caricamento del file admin-ajax.php

Per trovare il problema di un admin-ajax.php lento dobbiamo effettuare una scansione del nostro sito su gtmetrix (o simili) e andare sul pannello waterfall per analizzare il tempo di caricamento di ogni risorsa.

Scendendo nella pagina potremmo notare un tempo alto proprio per la risorsa in questione. In questo caso ci troveremo difronte a due possibilità:

  • Troviamo esclusivamente la scritta admin-ajax.php: il rallentamento, probabilmente, deriva da articoli/pagine del vostro sito
  • Troviamo la scritta POST admin-ajax.php: In questo caso il file è rallentato da un plugin di terze parti.

Analizziamo prima il secondo caso. Andando più nel dettaglio, cliccando sulla voce POST admin-ajax.php si aprirà un menu con tre schede, quelle più interessanti sono sempre POST e RESPONSE. In questo caso troviamo una soluzione al nostro dilemma cliccando su POST, qui potremmo ottenere maggiori informazioni sul plugin che sta rallentando il nostro sito.

Nel caso del sito del mio cliente troviamo questa voce:

POST action=

In genere dopo la scritta action= potremo trovare la sigla di una classe CSS collegata al plugin colpevole del rallentamento, con un copia e incolla su Google potremmo arrivare velocemente alla soluzione del problema.

ricerca del plugin su google

Nel mio caso, entrando nel primo post (proprio sul supporto di WordPress) ho capito che il problema derivasse dal plugin Spam protection, AntiSpam, FireWall by CleanTalk.

In questo caso le possibilità sono 3:

  • Aggiornare il plugin e verificare che il problema sia risolto (nel caso l’aggiornamento sia disponibile)
  • Aprire un ticket con lo sviluppatore del plugin e riferirgli la presenza di questo problema
  • Oppure (semplicemente) cambiare plugin

Altri casi noti

Molti sono i plugin che in passato (o in futuro, chissà) sono stati afflitti da questa problematica. Uno su tutti, molto celebre, è il famosissimo Visual Composer.

Anche in questo caso con un Waterfall potremmo notare il rallentamento del sito dovuto al nostro file admin-ajax.php. Cliccando nuovamente su POST admin-ajax.php e successivamente su RESPONSE potremo notare come si aprirà a noi un tag style contenente del codice css.

lentezza post admin-ajax.php
Per l’immagine si ringrazia Kinsta

Per chi lo usa abitualmente riconoscerà sicuramente la classe css appartenente al visual composer, per chi, invece, non fosse cosi abituato al suo utilizzo può utilizzare il nome del plugin andando ad effettuare una ricerca su google della classe css incriminata.

codice in RESPONSE
Per l’immagine si ringrazia Kinsta

Anche in questo caso, le soluzioni sono le 3 precedentemente descritte.

Cosa fare se il problema non deriva da un plugin

Se il problema del sito riguarda il back-end allora il rallentamento del admin-ajax.php è dovuto all’Heartbeat del vostro sito e alla frequenza delle chiamate che effettua sul vostro server.

Questo problema può causare la fastidiosissima allerta di “connessione persa” all’interno di una pagina o articolo di WordPress. In questo caso, per risolvere il tutto, ci viene incontro un noto plugin.

Velocizzare Back-end WordPress con Heartbeat Control

Heartbeat Control è un comodo plugin gratuito che ci consente di impostare o disabilitare la connessione tra server e broswer. Installate il plugin, attivatelo e spostatevi in impostazioni e poi Heartbeat Control.

settare il controllo di Heartbeat control

Qui avrete a disposizione diverse opportunità che vi permetteranno di disabilitare o ritardare la frequenza di chiamata. In genere ti consiglio di lasciare l’heartbeat solamente su pagine e post e di ritardarlo a 200 in modo da diminuire il numero di chiamate.

Conclusione

Abbiamo visto che il file admin-ajax.php che prima era praticamente sconosciuto, in realtà compie tantissime azioni utili e può essere croce e delizia del nostro sito, salvandoci quando dimentichiamo di salvare un file, oppure rallentando in maniera incredibile il nostro back-end.

Fortunatamente con una buona ricerca possiamo velocizzare il nostro sito (nel caso il problema derivi da un plugin) o velocizzare il nostro back-end (nel caso il problema derivi da troppe chiamate al server per colpa di articoli/pagine) in pochi passaggi.

Ed ora dimmi, sei riuscito finalmente a completare l’ottimizzazione del tuo sito? Il tuo Back-end è ancora lento? Fammelo sapere con un commento!

,