Wordpress

Com diagnosticar l'ús elevat d'Admin-Ajax al vostre lloc de WordPress

Ajax és una tecnologia web basada en JavaScript que us ajuda a crear llocs web dinàmics i interactius. WordPress utilitza Ajax per impulsar moltes de les funcions bàsiques de l'àrea d'administració, com ara l'emmagatzematge automàtic de publicacions, la gestió de sessions d'usuari i les notificacions.

De manera predeterminada, WordPress dirigeix ​​totes les trucades Ajax a través de admin-ajax.php fitxer situat al lloc /wp-admin directori.

Nombroses sol·licituds simultànies d'Ajax poden provocar un alt nivell admin-ajax.php ús, el que resulta en un servidor i un lloc web considerablement alentits. És un dels problemes més comuns als quals s'enfronten molts llocs de WordPress no optimitzats. Normalment, es manifesta com un lloc web lent o un error HTTP 5xx (principalment errors 504 o 502).

En aquest article, aprendràs sobre WordPress' admin-ajax.php fitxer, com funciona, els seus avantatges i inconvenients, i com es pot diagnosticar i solucionar l'alt admin-ajax.php problema d'ús.

Llest per anar? Anem a desplegar!

Què és el fitxer admin-ajx.php?

L' admin-ajax.php El fitxer conté tot el codi per enrutar les sol·licituds Ajax a WordPress. El seu propòsit principal és establir una connexió entre el client i el servidor mitjançant Ajax. WordPress l'utilitza per actualitzar el contingut de la pàgina sense tornar-la a carregar, fent-la dinàmica i interactiva per als usuaris.

Una visió general bàsica de com funciona l'administrador Ajax a WordPress
Una visió general bàsica de com funciona l'administrador Ajax a WordPress

Com que el nucli de WordPress ja utilitza Ajax per alimentar les seves diverses funcions de backend, podeu utilitzar les mateixes funcions per utilitzar Ajax a WordPress. Tot el que heu de fer és registrar una acció, apuntar-la al vostre lloc admin-ajax.php fitxer i definiu com voleu que retorni el valor. Podeu configurar-lo per retornar HTML, JSON o fins i tot XML.

Fitxer admin-ajax.php a WordPress
Fitxer admin-ajax.php a WordPress

Segons WordPress Trac, el admin-ajax.php El fitxer va aparèixer per primera vegada a WordPress 2.1. També es coneix com Administrador Ajax a la comunitat de desenvolupament de WordPress.

 

Comprovant l'ús d'Ajax a MyBehmaster quadre de comandament
Comprovant l'ús d'Ajax a MyBehmaster quadre de comandament

El gràfic anterior només mostra la quantitat de admin-ajax.php sol·licituds, no d'on podrien venir. És una bona manera de veure quan es produeixen els pics. Podeu combinar-lo amb altres tècniques esmentades en aquesta publicació per reduir la causa principal.

Comprovació del nombre de sol·licituds admin-ajax.php a Chrome DevTools
Comprovació del nombre de sol·licituds admin-ajax.php a Chrome DevTools

També podeu utilitzar Chrome DevTools per veure a quantes sol·licituds s'envien admin-ajax.php. També pot revisar la Temporades fitxa sota el Xarxa secció per saber quant de temps es triga a processar aquestes sol·licituds.

Pel que fa a trobar el motiu exacte de l'alta admin-ajax.php ús, hi ha principalment dues causes principals: una a causa de la interfície i l'altra a causa del backend. A continuació parlarem de tots dos.

Ajax impulsa moltes funcions clau de WordPress... però quan arriben massa sol·licituds, també pot alentir significativament el vostre lloc. 😱 Obteniu informació sobre com solucionar aquest problema i optimitzar l'ús d'Ajax aquí 👇Feu clic aquí per Tweet

Com depurar l'ús alt admin-ajax.php a WordPress

Els connectors de tercers són un dels motius més comuns de l'ús elevat d'admin-ajax.php. Normalment, aquest problema es veu a la interfície del lloc i apareix amb freqüència als informes de proves de velocitat.

Però els connectors no són els únics culpables aquí, ja que els temes, el nucli de WordPress, el servidor web i un atac DDoS també poden ser el motiu de l'ús elevat d'Ajax d'administrador.

Explorem-los amb més detall.

Com determinar l'origen de l'ús alt admin-ajax.php per a connectors i temes

Connectors amb tecnologia Ajax al repositori de WordPress.org
Connectors amb tecnologia Ajax al repositori de WordPress.org

Els desenvolupadors de WordPress utilitzen sovint Ajax per crear complements i temes dinàmics i interactius. Alguns exemples populars inclouen l'addició de funcions com ara la cerca en directe, els filtres de producte, el desplaçament infinit, el carretó de la compra dinàmic i el quadre de xat.

El fet que un connector utilitzi Ajax no vol dir que alentiri el vostre lloc.

sol·licitud admin-ajax.php a l'informe WebPageTest
Visualització de la sol·licitud admin-ajax.php a l'informe WebPageTest

Normalment, Admin Ajax es carrega cap al final de la càrrega de la pàgina. A més, podeu configurar les sol·licituds d'Ajax perquè es carreguin de manera asíncrona, de manera que pot tenir poc o cap efecte en el rendiment percebut de la pàgina per a l'usuari.

Com podeu veure a l'informe WebPageTest anterior, admin-ajax.php es carrega cap al final de la cua de sol·licituds, però encara triga 780 ms. Això és molt de temps només per a una sol·licitud.

Informe de GTmetrix que indica un augment greu d'ús d'admin-ajax.php
Informe de GTmetrix que indica un augment greu d'ús d'admin-ajax.php

Quan els desenvolupadors no implementen Ajax correctament a WordPress, pot provocar problemes de rendiment dràstics. L'informe de GTmetrix anterior és un exemple perfecte d'aquest comportament.

També podeu utilitzar GTmetrix per investigar dades individuals de publicacions i respostes. Podeu utilitzar aquesta funció per identificar què és el que causa el problema.

Per fer-ho, aneu a l'informe de GTmetrix Cascada pestanya i, a continuació, cerqueu i feu clic a POST admin-ajax.php article. Veureu tres pestanyes per a aquesta sol·licitud: Capçaleres, Publicació i Resposta.

POST les dades de les capçaleres de la sol·licitud admin-ajax.php
POST les dades de les capçaleres de la sol·licitud admin-ajax.php

Consultant les sol·licituds posat resposta Les pestanyes us donaran alguns consells per esbrinar els motius del problema de rendiment. Per a aquest lloc, podeu veure pistes a la pestanya Resposta.

POST les dades de resposta de la sol·licitud admin-ajax.php
POST les dades de resposta de la sol·licitud admin-ajax.php

Podeu veure que part de la resposta té alguna cosa a veure amb una etiqueta d'entrada amb l'identificador establert a "fusion-form-nonce-656".

Una cerca ràpida d'aquesta pista us portarà al lloc web de ThemeFusion, els creadors del tema Avada. Per tant, podeu concloure que la sol·licitud prové del tema o de qualsevol dels connectors amb què s'inclou.

En aquest cas, primer heu d'assegurar-vos que el tema Avada i tots els seus connectors relacionats estiguin completament actualitzats. Si això no soluciona el problema, podeu provar de desactivar el tema i veure si això soluciona el problema.

A diferència de desactivar un connector, desactivar un tema no és factible en la majoria dels escenaris. Per tant, proveu d'optimitzar el tema per eliminar els colls d'ampolla. També podeu posar-vos en contacte amb l'equip d'assistència del tema per veure si poden suggerir una solució millor.

La prova d'un altre lloc web lent a GTmetrix va portar a trobar problemes similars amb el creador de pàgines de Visual Composer i els connectors de la barra de notificacions.

Dades de resposta d'una altra sol·licitud POST admin-ajax.php
Dades de resposta d'una altra sol·licitud POST admin-ajax.php
POST les dades de publicació de la sol·licitud d'admin-ajax.php
POST les dades de publicació de la sol·licitud d'admin-ajax.php

Afortunadament, si no podeu resoldre un problema amb el connector, més us agrada tenir molts connectors alternatius disponibles per provar. Per exemple, quan es tracta de creadors de pàgines, també podeu provar Beaver Builder o Elementor.

Com determinar l'origen de l'alta admin-ajax.php

De vegades, les dades de publicació i resposta que es presenten als informes de proves de velocitat poden no ser tan clares i senzilles. Aquí, trobant l'origen de l'alt admin-ajax.php l'ús no és tan fàcil. En aquests casos, sempre podeu fer-ho a la vella escola.

Desactiveu tots els connectors del vostre lloc, esborreu la memòria cau del vostre lloc (si n'hi ha) i torneu a executar una prova de velocitat. Si admin-ajax.php encara està present, llavors el culpable més probable és el tema. Però si no es troba enlloc, heu d'activar cada connector un per un i executar les proves de velocitat cada vegada. Mitjançant el procés d'eliminació, bloquejaràs l'origen del problema.

Consell: Ús d'un entorn d'escenificació (p Behmasterl'entorn de prova de) és una manera fantàstica d'executar proves al vostre lloc sense afectar el vostre lloc en directe. Un cop hàgiu determinat la causa i solucionat el problema a l'entorn de prova, podeu impulsar els canvis al vostre lloc en directe.

Diagnostic de problemes del servidor de backend amb admin-ajax.php

El segon motiu més comú d'alt admin-ajax.php l'ús és l'API de WordPress Heartbeat que genera trucades Ajax freqüents, la qual cosa comporta un ús elevat de CPU al servidor. Normalment, això es deu a que molts usuaris han iniciat sessió al tauler de control del backend de WordPress. Per tant, no veureu això a les proves de velocitat.

Cansat de tenir problemes amb el vostre lloc de WordPress? Obteniu el millor i més ràpid suport d'allotjament amb Behmaster! Consulta els nostres plans

De manera predeterminada, l'API Heartbeat enquestes admin-ajax.php fitxer cada 15 segons per desar automàticament publicacions o pàgines. Si utilitzeu un servidor d'allotjament compartit, no teniu molts recursos de servidor dedicats al vostre lloc. Si esteu editant una publicació o una pàgina i deixeu la pestanya oberta durant un temps important, pot acumular moltes sol·licituds d'administrador Ajax.

Per exemple, quan escriviu o editeu publicacions, un sol usuari pot generar 240 sol·licituds en una hora!

Sol·licituds freqüents de desat automàtic admin-ajax.php
Sol·licituds freqüents de desat automàtic admin-ajax.php

Són moltes sol·licituds al backend amb un sol usuari. Ara imagineu un lloc on hi hagi diversos editors connectats simultàniament. Aquest lloc pot acumular sol·licituds Ajax ràpidament, generant un ús elevat de CPU.

Behmaster De fet, es va trobar amb aquest problema mentre ajudava DARTDrones a escalar el seu lloc de WooCommerce per aparèixer a Shark Tank.

Van rebre més de 4,100 admin-ajax.php trucades en un dia amb només 2,000 visitants únics. Aquesta és una proporció feble de sol·licituds a visites.

Ús intens d'admin-ajax.php a dartdrones.com
Ús intens d'admin-ajax.php a dartdrones.com

BehmasterL'equip de s'ha adonat / Wp-admin URL de referència i va determinar correctament la causa arrel. Aquestes sol·licituds es van deure a que els administradors i editors de DARTDrones actualitzaven el lloc amb freqüència en previsió del programa.

WordPress ha solucionat aquest problema de l'API Heartbeat fa molt de temps. Per exemple, podeu reduir la freqüència de sol·licituds generades per l'API Heartbeat en amfitrions amb recursos limitats. També es suspèn després d'una hora d'inactivitat del teclat/ratolí/tàctil.

Ús del connector de control de batecs cardíacs per reduir les sol·licituds Ajax

Podeu solucionar aquest problema fàcilment utilitzant el connector Heartbeat Control de WP Rocket. Us permet desactivar o modificar la freqüència de l'API Heartbeat amb només uns quants clics.

El connector Heartbeat Control
El connector Heartbeat Control

Amb el connector Heartbeat Control instal·lat i activat, podeu gestionar la freqüència de l'API Heartbeat al tauler de control de WordPress, a la interfície del lloc i a l'editor de publicacions.

Tauler de control "Configuració general" del connector Heartbeat Control
Tauler de control "Configuració general" del connector Heartbeat Control

Si el vostre servidor té recursos limitats de CPU, us recomano que ho feu Desactiva el batec del cor tant al tauler de control com al front-end de WordPress. Tu pots també Modificar el batec del cor freqüència de l'opció "Editor de publicacions" i augmenta-la a 30 segons (o fins i tot 60 segons). Com més gran sigui la freqüència, més gran serà l'estalvi dels recursos del servidor utilitzats.

La configuració exacta que haureu d'utilitzar variarà d'un lloc a un altre. Si no esteu segur de què utilitzar, podeu consultar el vostre desenvolupador web.

Trànsit elevat a causa d'un atac DDoS o d'un bot de correu brossa

Aclaparar el vostre lloc amb un atac DDoS o robots de correu brossa també pot provocar un alt nivell admin-ajax.php ús. Tanmateix, un atac d'aquest tipus no s'adreça necessàriament a l'augment de les sol·licituds Ajax de l'administrador. Només són danys col·laterals.

Si el vostre lloc està sota un atac DDoS, la vostra prioritat hauria de ser posar-lo darrere d'un CDN/WAF robust com Cloudflare o Sucuri. Cada pla d'allotjament amb Behmaster també inclou Behmaster CDN, que us pot ajudar a descarregar els recursos del vostre lloc web en gran mesura.

Per obtenir més informació sobre com podeu protegir els vostres llocs web d'atacs maliciosos com aquests, podeu consultar la nostra guia detallada sobre com aturar un atac DDoS.

Si veieu un servidor i un lloc web alentits, és possible que es degui a massa sol·licituds Ajax. ⏳ Prepareu-vos per diagnosticar i solucionar-ho amb aquesta guia!Feu clic aquí per Tweet

resum

WordPress utilitza Ajax a la seva API Heartbeat per implementar moltes de les seves funcions bàsiques. Tanmateix, pot augmentar els temps de càrrega si no s'utilitza correctament. Això sol ser causat per una freqüència elevada de sol·licituds al admin-ajax.php arxiu.

En aquest article, heu après les diferents causes de l'alta admin-ajax.php ús, com diagnosticar què és el responsable d'aquest símptoma i com podeu solucionar-lo. En la majoria dels casos, seguir aquesta guia hauria de recuperar el lloc i funcionar sense problemes en molt poc temps.

Tanmateix, en alguns casos l'actualització a un servidor amb més recursos és l'única solució viable. Especialment per a casos d'ús exigents com ara el comerç electrònic i els llocs de membres. Si esteu executant un lloc d'aquest tipus, penseu a actualitzar-lo a un amfitrió de WordPress gestionat que tingui experiència en tractar aquest tipus de problemes de rendiment.

Si encara estàs lluitant amb l'alta admin-ajax.php ús al vostre lloc de WordPress, feu-nos-ho saber a la secció de comentaris.

Articles Relacionats

답글 남기기

이메일 주소는 공개되지 않습니다.

Torna al botó superior