papéisAdmin-ajax.php Desempenha um papel fundamental nos sítios Web WordPress, é o ficheiro central que gere os pedidos AJAX e lhe permite implementar funcionalidades dinâmicas, como notificações em tempo real, submissões assíncronas de formulários, scrolling infinito, etc., sem ter de atualizar toda a página.
(col.) chumbar (um aluno) admin-ajax.php Quando utilizado em excesso, pode tornar-seLeva à degradação do desempenho do sítio Webdos culpados. Este artigo irá aprofundar os admin-ajax.php e o impacto no desempenho da sua utilização excessiva, e ajudá-lo a diagnosticar e corrigir problemas relacionados para que possa manter o seu site WordPress com o melhor desempenho possível.
O que é admin-ajax.php?
admin-ajax.php é um ficheiro do núcleo do WordPress que trata de todos os AJAX Pedido. É o equivalente a um mensageiro que passa dados entre a página e o servidor sem recarregar a página inteira.
Função principal do ficheiro admin-ajax.php
- Suporta comunicação assíncronaAJAX (Asynchronous JavaScript and XML) permite que os sítios Web enviem e recebam dados de e para o servidor sem atualizar a página, melhorando assim a experiência do utilizador.
- multitarefaadmin-ajax.php Trata de uma variedade de tarefas de backend, tais como submeter formulários, carregar comentários, atualizar dinamicamente o conteúdo, ativar o scrolling infinito e apresentar notificações em tempo real.
- atuar como intermediárioQuando um plugin ou tema precisa de executar determinadas operações em segundo plano, envia pedidos AJAX através do admin-ajax.php, que os processa e devolve os dados necessários.
admin-ajax.php é a chave para muitas das funcionalidades dinâmicas do WordPress.
admin-ajax.php muito utilizado no sítio web WordPress
admin-ajax.php A funcionalidade dinâmica é crucial para os sites WordPress, mas o seu uso excessivo pode levar a sérios problemas de desempenho. Veja como a utilização excessiva pode afetar o seu sítio Web:
- Aumente a carga do servidorCada pedido AJAX iráConsumo de recursos do servidorO servidor pode não ser capaz de lidar com o número de pedidos, tal como a CPU e a memória. Quando o número de pedidos é demasiado elevado, o servidor pode não ser capaz de lidar com ele, resultando num tempo de resposta mais lento ou mesmo numa falha do sítio Web.
- Carregamento lento da páginaQuando o admin-ajax.php lida com muitos pedidos, o tempo de carregamento da página pode aumentar significativamente. Isto afecta negativamente a experiência do utilizador e pode prejudicar as suas classificações de SEO.
- Instabilidade do sítio WebUse excessivamente o admin-ajax.php para causar "500 Internal Server Error" ou problemas de tempo limite, o que pode tornar o site instável.
- Má experiência do utilizadorO site está a funcionar lentamente e não responde à funcionalidade de forma atempada, o que leva a uma degradação da experiência do utilizador, o que, por sua vez, pode aumentar a taxa de rejeição.
- conflito de plug-insAlguns plugins mal codificados podem desencadear demasiados pedidos AJAX, agravando o problema.
- falha de segurançaEmbora pouco frequentes, os pedidos AJAX não optimizados podem aumentar os riscos de segurança.
Como diagnosticar a utilização elevada de admin-ajax.php em sites WordPress?
Para saber admin-ajax.php A causa principal da utilização excessiva, há uma variedade de ferramentas que podem ser utilizadas para o ajudar a analisar o desempenho do seu sítio Web. Eis algumas ferramentas recomendadas:
1. GTmetrix
GTmetrix é uma ferramenta de análise de desempenho de sites que pode ser usada para ver se o admin-ajax.php está a afetar negativamente o desempenho do seu site. O procedimento é o seguinte:
- entrevistas GTmetrix e inicie sessão.
- Introduza o URL do sítio Web e clique em Teste agora.
- Depois de executar o teste de desempenho, aceda a Cascata(Diagrama em cascata), procure admin-ajax.php.
- Observe o tempo de carregamento deste pedido; se for significativamente mais longo do que os outros pedidos, significa que o script pode estar a causar problemas de desempenho.
2. Ferramentas de desenvolvimento do Chrome
A Consola de desenvolvimento do Chrome é também uma ferramenta muito eficaz que pode utilizar para detetar admin-ajax.php A utilização do
- Visite o seu sítio Web, clique com o botão direito do rato na página e selecione sonda.
- mudar para Rede(Rede) e volte a carregar a página.
- Na caixa de filtro, introduza admin-ajaxPode ver os pormenores do pedido.
Com estas ferramentas, é possível determinar quais os pedidos que estão a causar problemas de desempenho e começar a resolvê-los.
Como reduzir a utilização elevada de admin-ajax.php no WordPress?
A correção de problemas de utilização elevada com admin-ajax.php depende da causa exacta. Aqui estão algumas soluções comuns:
1. Desactive os plug-ins problemáticos
Se um plug-in estiver a gerar demasiados pedidos AJAX, o problema pode ser resolvido desactivando o plug-in. Pode desativar os plugins um a um e observar as alterações no desempenho do sítio para determinar o culpado. Se o plug-in problemático for encontrado, pode contactar o programador do plug-in ou procurar uma alternativa.
2. Ativar a cache
A ativação do armazenamento em cache reduz significativamente a carga do servidor e reduz a dependência dos pedidos admin-ajax.php. Ao armazenar versões estáticas das páginas do site, o armazenamento em cache pode reduzir as consultas repetitivas à base de dados e os pedidos AJAX. Uso recomendado W3 Total Cache talvez WP Super Cache para gerir a cache. Selecione "Atraso no carregamento da imagem" pode otimizar ainda mais o desempenho.
3. Controlar a API do WordPress Heartbeat
API do WordPress Heartbeat implementa a comunicação em tempo real entre o browser e o servidor, mas pode fazer com que o admin-ajax.php Utilização excessiva. Pode ser utilizado Controlo dos batimentos cardíacos talvez Cache LiteSpeed para limitar a frequência da API Heartbeat e reduzir o impacto no servidor.
deslocação::
- Instalação e ativação Cache LiteSpeed Plug-ins.
- No backend do WordPress, navegue até LiteSpeed Cache > Caixa de ferramentas > Heartbeat.
- Active o controlo Heartbeat e ajuste o TTL para controlar a frequência de comunicação.
- Ativar o controlo Heartbeat e ajustar o TTL
- existir Batimento cardíaco Pode ver várias opções de controlo nas definições:
- Ativar/desativar o HeartbeatAtivar ou desativar a API Heartbeat para o WordPress.
- Definições TTL (Time-to-Live)Ajusta a frequência das chamadas à API Heartbeat (ou seja, o tempo entre comunicações). Quanto maior for o valor TTL, maior será a comunicação HeartbeatQuanto mais baixa for a frequência.. Por defeito, a API Heartbeat do WordPress é chamada com uma frequência de 15-30 segundos.
- Ajustar a definição TTL::
- Defina o TTL para 60 segundos. ou mais para reduzir a frequência dos pedidos da API Heartbeat. Normalmente, recomenda-se uma definição de 60 segundos ou mais para reduzir a carga do servidor.
- Se achar que certas funcionalidades dependem de comunicação em tempo real (por exemplo, gravação automática de rascunho), pode manter o tempo TTL curto. Caso contrário, tempos TTL mais longos podem ser eficazes para reduzir o impacto no servidor.
- existir Batimento cardíaco Pode ver várias opções de controlo nas definições:
- Guardar definições
- Depois de concluir as definições, clique em Guardar alterações para garantir que o ajuste tem efeito.
4. Otimizar manualmente a API Heartbeat
Se não quiser utilizar o plugin, pode fazê-lo manualmente na pasta functions.php para adicionar código para restringir a API Heartbeat:
add_action( 'init', 'disable_heartbeat', 1 );
function disable_heartbeat() {
wp_deregister_script('heartbeat');
}
Com este método, é possívelCompletamente desativado API de batimento cardíaco.
- Limitar a frequência das chamadas à API Heartbeat
Se não quiser desativar completamente a API Heartbeat, mas apenas reduzir a frequência das suas chamadas, pode utilizar o seguinte excerto de código:
add_action( 'init', 'modify_heartbeat', 1 );
function modify_heartbeat() {
// Defina o intervalo do Heartbeat para 60 segundos
wp_deregister_script('heartbeat');
wp_register_script('heartbeat', admin_url('admin-ajax.php'), array('jquery'), false, true); wp_localize_script('heartbeat'); // Defina o intervalo do Heartbeat para 60 segundos.
wp_localize_script('heartbeat', 'heartbeatSettings', array('interval' => 60));
}
Este código alarga a frequência das chamadas à API Heartbeat dos 15-30 segundos predefinidos para 60 segundos. Pode ajustar o intervalo
(por exemplo, 120 segundos).
- Desactive a API Heartbeat apenas para backend ou frontend
Se apenas pretender restringir ou desativar as chamadas à API Heartbeat para uma determinada secção (por exemplo, backend ou frontend), pode utilizar o seguinte fragmento de código, conforme necessário:
Desactive a API Heartbeat no painel de controlo de backend::
add_action( 'admin_enqueue_scripts', 'disable_heartbeat_in_dashboard', 1 ); function disable_heartbeat_in_dashboard() { wp_deregister_ script('heartbeat'); }
Desativar a API Heartbeat no editor de posts(por exemplo, desativar a gravação automática de rascunhos):
add_action( 'admin_enqueue_scripts', 'disable_heartbeat_in_post_editor', 1 ); function disable_heartbeat_in_post_editor() { global $pagenow; if ( $pagenow ! = 'post.php' && $pagenow ! = 'post-new.php' ) return; wp_deregister_script('heartbeat'); }
Desativar a API Heartbeat nas páginas de Frontend::
add_action( 'wp_enqueue_scripts', 'disable_heartbeat_in_frontend', 1 ); function disable_heartbeat_in_frontend() { wp_deregister_script(' heartbeat'); }
- Depois de terminar de adicionar o código, clique na parte inferior da página no botão Documentos actualizados(Atualizar ficheiro). Certifique-se de que as alterações foram guardadas com êxito e visite o seu sítio Web para testar a utilização da API Heartbeat.
Otimização adicional das recomendações:
- Desactive os pedidos desnecessários da API HeartbeatSe o seu sítio não depende da API Heartbeat para a funcionalidade (como notificações em tempo real nas páginas de front-end), a opção Cache LiteSpeed talvez Controlo dos batimentos cardíacos Desactive as chamadas Heartbeat no frontend ou no painel de controlo do plug-in.
- Combinado com a otimização da cachePara além de limitar as chamadas à API Heartbeat, pode otimizar ainda mais o desempenho do seu site tirando partido das funcionalidades de cache fornecidas pelo LiteSpeed Cache (por exemplo, cache de páginas, cache de bases de dados, cache de objectos).
resumos
otimização admin-ajax.php O ficheiro é vital para manter o bom desempenho do seu site WordPress. Trata de todos os pedidos AJAX para funcionalidades dinâmicas, mas se não for gerido corretamente, pode levar a sites sobrecarregados e à degradação do desempenho. Utilizando ferramentas para diagnosticar e otimizar pedidos, activando o caching e limitando a API Heartbeat, pode reduzir drasticamente a carga em admin-ajax.php e melhorar a velocidade e a estabilidade do seu site.