É muito comum quem utiliza sites em wordpress reclamar de lentidão em alguns momentos. Um dos principais vilões nesse quesito é o wp-cron, em alguns casos a função chega utilizar 100% da CPU e com isso o site fica muito lento, quase inacessível.
1 – Para que server o wp-cron?
Para que o wordpress funcione é necessário que ele tenha um mecanismo de realização de tarefas como posts programados, newsletters ou backups além de outras tarefas.
Sendo assim ele utiliza um script próprio chamado “wp-cron.php”.
2 – Para que desabilitar o wp-cron?
O wordpress usa um truque para rodar este script, ele é executado cada vez que alguém acessa o site ou que algo no painel seja modificado, o que acarreta em um uso desordenado e muitas vezes desnecessário causando mais processamento e uso de recursos no servidor e trazendo também lentidão ao site.
- Aumenta o uso de recursos do servidor principalmente se tiver muitos visitantes no blog/site
- É desnecessário muitas vezes, principalmente se utiliza um plugin de cache ou se o blog/site tem poucos visitantes.
- Tem alguns bugs, as vezes roda diversos processos simultâneos causando inclusive execução de funções duplicadas.
3 – Como desabilitar o wp-cron e rodar apenas como cronjob.
Devemos editar o arquivo “wp-config.php” na home do blog/site e inserir o seguinte código:
Agora em seu cPanel crie uma tarefa cron para rodar o wp-cron.
Dica:
Rodar o script wp-cron.php cerca de 3 vezes por dia é o suficiente, porém se você utiliza muitos agendamentos de posts que precisam ser feitos com mais precisão de horário pode colocar para que rode o cron 1 vez por hora.
Segue o cron:
/usr/bin/php -f /home/USERNAME/public_html/wp-cron.php >/dev/null
Altere USERNAME pelo seu usuário do cpanel e o caminho se for necessário, por exemplo se o blog/site estiver instalado em outro diretório como /site ou /blog.
4 – Como configurar o cron no caso de usar o Multiple-Sites do WordPress:
Neste caso em especifico o cron não pode ser feito da mesma maneira pois não vai rodar todos os agendamentos dos diferentes sites no mesmo wordpress.
Sendo assim é necessário fazer o agendamento POR SITE no cron do cpanel da seguinte maneira:
Site 1:
/usr/bin/curl http://SEUSITE-1.COM/wp-cron.php
Site 2:
/usr/bin/curl http://SEUSITE-2.COM/wp-cron.php
Qualquer dúvida consulte nosso suporte.
5 – Conclusão.
O WordPress é uma boa ferramenta, porém devida a gama de templates, plugins e por sua vez opções agregadas a ele se torna uma ferramenta pesada e pouco otimizada, sendo necessário ajustes por parte dos usuários.
Com estas alterações e mais algumas outras opções de cache é possivel ter um blog mais leve e rápido sem causar problemas ao servidor.
É claro que em alguns casos de sites muito grandes e acessados será necessário um ambiente mais especifico com Hardware Dedicado e grande escalabilidade de recursos.