Aprenda a deixar seu blog mais rรกpido
www.brunodesouza.com
Guia para otimizar o carregamento do Wordpress
O trabalho Guia de otimização para Wordpress de Bruno de Souza foi licenciado com uma Licença Creative Commons - Atribuição 3.0 Brasil. Com base no trabalho disponível em www.brunodesouza.com. Podem estar disponíveis autorizações adicionais ao âmbito desta licença em http://www.brunodesouza.com/contato.
Você tem a liberdade de: •
Compartilhar — copiar, distribuir e transmitir a obra.
•
Remixar — criar obras derivadas.
•
fazer uso comercial da obra
Sob as seguintes condições: •
Atribuição — Você deve creditar a obra da forma especificada pelo autor ou licenciante (mas não de maneira que sugira que estes concedem qualquer aval a você ou ao seu uso da obra).
Ficando claro que: •
Renúncia — Qualquer das condições acima pode ser renunciada se você obtiver permissão do titular dos direitos autorais.
•
Domínio Público — Onde a obra ou qualquer de seus elementos estiver em domínio público sob o direito aplicável, esta condição não é, de maneira alguma, afetada pela licença.
•
Outros Direitos — Os seguintes direitos não são, de maneira alguma, afetados pela licença:
•
•
Limitações e exceções aos direitos autorais ou quaisquer usos livres aplicáveis;
•
Os direitos morais do autor;
•
Direitos que outras pessoas podem ter sobre a obra ou sobre a utilização da obra, tais comodireitos de imagem ou privacidade.
Aviso — Para qualquer reutilização ou distribuição, você deve deixar claro a terceiros os termos da licença a que se encontra submetida esta obra. A melhor maneira de fazer isso é com um link para esta página.
1
Guia para otimizar o carregamento do Wordpress
Sumário Introdução ..........................................................................................................................3 1. Eliminar plug-ins desnecessários ......................................................................................4 2. Otimize seu banco de dados .............................................................................................5 3. Desativar a revisão de post e apagá-las do banco..............................................................6 4. Use um plug-in de cache ..................................................................................................7 5. Otimize as suas imagens ..................................................................................................9 6. Hospede as imagens de seu blog/site em outro servidor ou em um subdomínio ............. 10 7. Comprimir seu conteúdo ................................................................................................ 12 8. Desabilitar hotlinking ..................................................................................................... 12 9. Problemas com o gravatar.............................................................................................. 13 10. Otimize seus arquivos css e javascript ........................................................................... 14 11. Reduzir uso de scripts externos .................................................................................... 15 12. Utilize o php flush ........................................................................................................ 16 13. Minimizar o php e consultas de banco de dados ........................................................... 17 14. Otimizando o wordpress pelo wp-config.php ................................................................ 18 15. Limpar o banco de dados.............................................................................................. 20 16. Utilizando um CDN (content delivery network) para otimizar o carregamento .............. 23
2
Guia para otimizar o carregamento do Wordpress
Introdução Otimizando a velocidade de nosso site não só o fazemos feliz, mas também seus leitores, afinal um site que carrega rápido sempre terá vantagens em relação a um site que demora muito para carregar, além de economizar banda e os custos de hospedagem. Uma web mais rápida é sempre melhor para todos, especialmente para os usuários, e isso pode significar mais visitas a qualquer site que possa se adaptar às novas exigências. Aumentar a velocidade de carregamento de um site aumenta a taxa de conversão, aumentando a experiência do usuário. Por que se preocupar com a otimização em termos de carregamento? Matt Cutts da Google já confirmou oficialmente que o Google leva em conta o tempo de carregamento para posicionar um site. Se você tem um site de carregamento lento, isso pode significar rankings mais baixos no Google e menos tráfego. Antes de começar a otimizar seu site, você precisa saber quais as partes que têm de melhorar, quais levam mais tempo para carregar e qual é o peso total do mesmo. Para fazer isso eu recomendo que você use ferramentas como Pingdom ou Firebug (para Firefox) com os plugins PageSpeed ou YSlow. Existem diferentes maneiras de otimizar a velocidade do Wordpress, deixo aqui 15 dicas testadas para você otimizar a velocidade do seu blog no Wordpress e deixa-lo tão rápido como um relâmpago. Se você implementar algumas das dicas descritas abaixo, você vai notar uma melhora dramática no desempenho do seu site Wordpress.
3
Guia para otimizar o carregamento do Wordpress
1. Eliminar Plug-ins Desnecessários Se você está usando 20 plug-ins no seu blog você precisa verificar se isso realmente é necessário, se não os apague. Certifique também se os plugins que estão em uso, estão atualizados. Uma das melhores formas de descobrir quais plug-ins estão deixando o carregamento do seu blog lento é utilizar o P3 (Plug-in Performance Profiler), um plug-in que faz uma análise da performance de todos os plug-ins permitindo que você veja se o problema está em algum plug-in.
Este plug-in, criado pela GoDaddy, faz uma análise do carregamento de várias páginas do seu blog, vê quais são os tempos de carregamento de cada plug-in, o tempo de carregamento do site sem plug-ins, mostra o número de queries feitas à base de dados, entre outros. Todos os relatórios são guardados para que depois você possa comparar com relatórios mais recentes e pode também enviar os resultados por email (útil se pedir ajuda a alguém para resolver a lentidão).
4
Guia para otimizar o carregamento do Wordpress
2. Otimize seu banco de dados Um Banco de dados Mysql não se limpa sozinho. Otimizar o banco de dados é um passo importante para acelerar o seu blog. Para otimizar seu banco de dados, você pode fazer isso manualmente ou usar um plugin. Eu prefiro manualmente, e sem necessidade de plugins desnecessários. Você ficará surpreso com o quanto você pode diminuir o tempo de carregamento de seu site, você irá perceber uma melhora significativa no carregamento do site, além de parecer que você tirou um fardo do seu banco de dados. Se você quiser fazer isso da forma mais fácil, instalar o plug-in Optimize DB ou WP Optimize. Se você quiser fazer isso manualmente faça o seguinte:
1. 2. 3. 4. 5.
Você deve abrir o gerenciador de banco de PHPMyAdmin Selecione o seu banco de dados. Ao clicar em "Marcar Tudo" na parte inferior da página. Escolha a opção "Otimizar tabela" na lista suspensa ao lado. E pronto!
Faça backup do seu banco de dados antes de realizar qualquer teste nele, pois se der algo errado, você poderá voltar o banco normalmente.
5
Guia para otimizar o carregamento do Wordpress
3. Desativar a revisão de Post e apagá-las do Banco A revisão de Posts foi introduzida no Wordpress a partir da versão 2.6, mas será que elas são realmente necessárias. Estas revisões são criadas para caso você queira restaurar algum artigo, voltar para uma revisão antiga. Porém se você modificar um A no texto e salvar, será criada uma nova revisão e quanto mais você editar o artigo, mais revisões serão criadas. Com isso o tempo de carregamento do seu blog vai para o espaço, pois o tempo usado para consultar o banco de dados será maior devido ao número de revisões que estão armazenadas nele. Se você não precisa deste recurso, você deve adicionar a seguinte linha no arquivo wp-config.php na sua instalação do Wordpress: define('WP_POST_REVISIONS', FALSE); Se você deseja eliminar todas as revisões do Banco de dados basta realizar a seguinte consulta: DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision'; Se você não tem habilidade em gerenciar banco de dados mysql, você pode usar o Plug-in Delete Revision que faz todo o trabalho para você ele pode ser baixado aqui ou através de uma busca na página Plug-ins > Adicionar Novo em seu painel de administração. Depois de instalado, vá a Configurações > Delete-Revision e clique em Verificar Artigos de Revisão.
6
Guia para otimizar o carregamento do Wordpress
4. Use um plug-in de Cache O Wordpress é um sistema de gestão abrangente e muito flexível, mas também faz um uso excessivo de recurso de CPU. Para aliviar este fardo para os servidores, o Cache tem um papel importante e cada instalação do Wordpress deve ter um. A função dos plugins de cache é criar páginas estáticas (somente HTML) de cada página do seu blog e, quando um visitante acessa o seu blog, o próprio plugin de cache se encarrega de fazer poucas consultas básicas ao banco e dados central do Wordpress e compara os resultados com as páginas que já estão armazenadas em cache. Caso o resultado seja semelhante, o plugin de cache interrompe essas consultas ao Wordpress e simplesmente entrega ao visitante uma página estática que não irá gerar nenhum tipo de consulta ao banco de dados. Isso diminui o tempo de acesso do visitante ao site, fazendo com que os elementos do site (imagens, css, Javascript) carreguem mais rápidos e assim poupando recursos de banda e CPU. Existem vários plug-ins para gerenciar o cache do Wordpress Wp Super Cache, W3 Total Cache, Hyper Cache, Db Cache, etc., mas vou citar aqui a mais completa deles, o W3 Total Cache, uma solução bastante completa, bem como a criação de um cache estático, fornece várias ferramentas para acelerar o carregamento de um site em Wordpress. O W3 Total Cache faz jus ao seu nome e é a mais completa solução de cache. Suas vantagens são: • Apoio simples, bom e documentação completa. • Compatível com hospedagem compartilhada, VPS e dedicada. • As diferentes opções para o cache de páginas: no disco (por padrão) com PHP Cache Alternativo (APC), eAccelerator, XCache e Memcache. • Minificação do HTML, CSS e arquivos Javascript para acelerar o local de carregamento. • Opção para cache do Banco de Dados.
7
Guia para otimizar o carregamento do Wordpress
• Compatível com CDN (Content Delivery Network), Amazon CloudFront, Amazon S3 ou qualquer outro sistemas. Falarei do CDN mais abaixo. Não vou entrar em detalhes sobre a configuração do W3 total cache, mas sua configuração é muito simples, o EscolaWp escreveu um manual que ensina a configurar o plug-in. Como instalar e configurar o plugin W3 Total Cache no WordPress.
O que não fazer cache? Existem alguns elementos em um blog que você deve evitar o cache. Como anúncios, feeds ou qualquer conteúdo dinâmico obtido usando php ou um sistema de servidor. O ponto inteiro de cache é para poupar tempo, evitando processos do lado do servidor. Se você tiver qualquer conteúdo que precisa mudar para cada visitante, então você deve evitar o cache dessa página ou conteúdo. Não se preocupe com seus anúncios do Google ou BuySellAds. Esses anúncios são entregues usando Javascript e o cache não afetará a entrega desses anúncios. A maioria dos sistemas baseados em Javascript não serão afetados pelo cache, uma vez que são scripts do lado do cliente, e não os scripts no servidor. Embora seja sempre uma boa prática verificar para garantir que o seu conteúdo dinâmico não está sendo armazenado em cache.
Você saiba! 1. Se você já estiver usando o plug-in PHP Speedy certifique-se de removê-lo antes de instalar qualquer plug-in de cache que eu mencionei acima. O PHP Speedy pode causar conflitos com os plugins. Em minha opinião um plugin de cache supera os benefícios do PHP speedy. Plug-in de Cache é uma escolha melhor e o PHP speedy já passou a sua vida útil. 2. É preciso tempo e esforço para configurar corretamente W3 cache total por causa das muitas opções disponíveis. 3. Se você decidiu usar o plugin Hyper cache, será preciso usar com ele o plugin DB Cache Reloaded, eles se complementam, e você obterá um bom impulso no desempenho. Fiz alguns testes e gostei bastante, mas particularmente prefiro o W3 Total Cache. 8
Guia para otimizar o carregamento do Wordpress
5. Otimize as suas imagens As Imagens se tornam um fardo muito pesado em um site e consomem largura de banda em nosso servidor. Para evitar estes efeitos, é essencial otimizar as imagens e de preferencia utilizar apenas arquivos JPEG. Se você editar suas imagens no Photoshop, use sempre a opção "Salvar Web e dispositivos” ou usar algumas ferramentas para otimizar suas imagens que apresento abaixo: Ferramentas Online: • • •
Punyp Smush.it ( Possui plug-in para Wordpress) Online Image Optimizer
Ferramentas para Desktop • • •
Shrink O'Matic RIOT PNGGauntlet
Existe também um plugin para Wordpress chamado Lazy Load, o trabalho dele é carregar imagens somente quando elas se tornam visíveis no browser. Com o efeito fade você faz um retoque bem interessante para o site. Faz algo sofisticado que alguns blogs famosos, como o Mashable, estão usando. O plug-in proporciona uma dupla redução: 1- No tempo de carregamento da página para o usuário final; 2- No consumo de recursos do servidor, principalmente do LOAD da máquina.
9
Guia para otimizar o carregamento do Wordpress
6. Hospede as imagens de seu blog/site em outro servidor ou em um subdomínio Quando você tem um site muito popular, tende a usar uma grande quantidade de banda. Para reduzir esta largura de banda e fazer que seu site carregue rapidamente, a solução é salvar suas imagens em outro servidor. Existem muitos serviços populares que permite hospedar essas imagens: • • •
Amazon S3 Flickr PicasaWeb
Outra maneira de otimizar o carregamento do seu blog é transferir todas as imagens do seu domínio principal (ex: seudominio.com) para um subdomínio (ex: cache.seudominio.com) você estará aumentando o poder de carregamento do seu blog, já que cada domínio, por padrão, só carrega dois arquivos simultaneamente. Após criar o subdomínio, você precisa configurar o Wordpress para que, a partir deste momento, todo upload seja realizado diretamente para cache.seusite.com. Para isto, basta ir a Configurações e clicar em Mídia, conforme ilustrado a seguir:
Agora como caminho para upload alterado, é necessário que você transfira as imagens que estão no domínio principal, mais precisamente na pasta wp-content/uploads, será necessário realizar uma migração completa, via FTP ou via Cpanel, para o subdomínio, já que o Wordpress não vai mais reconhecer este local. Também vai ser necessário atualizar o caminho das imagens em todos os posts antigos através do phpMyAdmin. Para isso, basta selecionar seu banco de dados no menu lateral e clicar na aba SQL. 10
Guia para otimizar o carregamento do Wordpress
Copie e cole o código abaixo e clique em Executar: UPDATE wp_posts SET post_content = REPLACE(post_content,'http://www.seusite.com/wpcontent/uploads/','http://images.seusitecom/') Também será necessário atualizar os links da biblioteca de imagens rodando mais um comando SQL, mas com o código abaixo: UPDATE wp_posts SET guid = REPLACE(guid,'http://www.seusite.com/wpcontent/uploads/','http://images.seusite.com/') Todas estas dicas vão ajudar seu blog a carregar rapidamente. Importante às dicas que forem ser executadas no Banco de dados, criem um backup antes caso algo sai errado.
11
Guia para otimizar o carregamento do Wordpress
7. Comprimir seu conteúdo Isto se faz mediante ao Arquivo .htaccess que está na raiz do seu FTP , se não tive crie-o, este arquivo permite comprimir os arquivos do seu blog (css, JavaScript, php, html y xhtml). Existem várias maneiras de fazê-lo dependendo da versão do seu apache. Para versões do apache inferiores a 2.x, use o seguinte código:
Se a versão do seu servidor Apache é 2.x, você pode utilizar o mod_deflate também:
Os dois códigos podem ser baixados em http://migre.me/8GZOO
8. Desabilitar Hotlinking O hotlinking, também conhecido como roubo ancora de banda, é quando alguém copia a URL da sua imagem, e a utilizando sem seu próprio site, o que faz utilizar banda do seu servidor. Existem várias formas de evitar isto colocando um pequeno código no .htaccess, que está na raiz do seu servidor.
Ó código pode ser baixado em http://migre.me/8GZNR 12
Guia para otimizar o carregamento do Wordpress
9. Problemas com o Gravatar Pode parecer estranho, mas um dos grandes problemas de velocidade no meu blog estava sendo o Gravatar. O Gravatar é o serviço que adiciona automaticamente as imagens avatar ao lado dos comentários. Uma solução simples seria a de desativar avatares completamente, mas que provavelmente irá fazer a sua seção de comentários ficarem com olhar um pouco triste. Além disso, os avatares ajudam a manter o controle de quem está dizendo em discussões, por isso são mais do que pura vaidade. A melhor solução é colocar o avatar padrão para "em branco". Desta forma, os usuários que criaram um avatar o terão exibido junto ao seu comentário, mas os usuários sem um Gravatar associado ao seu email terão um avatar em branco. Com avatar padrão ativado, seu site precisa para fazer uma chamada externa ao Gravatar para cada imagem exibida e isso pode ser um assassino de velocidade real. Uma segunda opção é adicionar seu avatar próprio padrão e hospedá-lo no seu site Para fazer isso, abra o arquivo functions.php e adicione o seguinte código: add_filter( 'avatar_defaults', 'newgravatar' ); function newgravatar ($avatar_defaults) { $myavatar = get_bloginfo('template_directory') . '/images/seuicone.png'; $avatar_defaults[$myavatar] = "NomedoAvatar"; return $avatar_defaults; }
Envie sua própria imagem para o Gravatar novo padrão para a pasta do tema que você está usando (/ wp-content/themes/seutema). E a Terceira opção seria usar o FV Cache Gravatar, que acelera o seu site, certificando-se que os Gravatars estão armazenados em seu site e não carregar a partir do servidor do Gravatar. 13
Guia para otimizar o carregamento do Wordpress
10. Otimize seus arquivos CSS e JavaScript Os arquivos CSS e Javascript pode ser otimizados para reduzir o tamanho dos mesmos. Por exemplo, as linhas em branco e classes CSS sem uso, devem ser eliminadas. Ao otimizar estes arquivos, você pode reduzir efetivamente o uso de banda do seu servidor para comprimir o css existem várias ferramentas: • • • •
WP CSS: É um plug-in para Wordpress CSSOptimizer CSS Compressor Clean CSS
Para ajudar a otimizar seus arquivos Javascript existem as seguintes ferramentas: • •
JavaScript Compressor Another JavaScript Compressor
Coloque o JavaScript (jquery, mootools, prototype e outros) no fim do código. “Ah, mas me disseram que tem que colocar dentro da tag <head>” você agora está aprendendo algo novo. Coloque o JS antes de fechar a tag </body>. Motivo: o JavaScript não carrega simultaneamente com o css. Então carregue primeiro o seu design e depois o JS. • Coloque o css entre as tags <head> • Coloque o JavaScript antes do fechamento do <body> Se for usar bibliotecas JS como Jquery, Mootools e outros. Utilize bibliotecas que esteja hospedado em outro site (exemplo Dropbox). Assim os usuários não precisam carregar o script, já vai estar no cache. O Google fornece essa biblioteca externa: http://code.google.com/intl/ptBR/apis/ajaxlibs/documentation/index.html
14
Guia para otimizar o carregamento do Wordpress
11. Reduzir uso de scripts externos Quando seu blog carrega lentamente, você deve pensar seriamente e remover os Widgets de Páginas de Fãs, últimas atualizações do Twitter, botões do Twitter, pois estes estão fazendo que o carregamento de seu site dependa de outro site. Se você vai usar tweet Button procure usar o plug-in ao invés de um script externo. Confira um exemplo prático: A maioria dos blogueiros utilizar o Tweet Button para os usuários publicarem seus artigos no Twitter. Normalmente adicionamos ao código do Wordpress o seguinte código do Twitter: <a href="http://twitter.com/share" class="twitter-share-button" dataurl="<?php the_permalink(); ?>" data-text="<?php the_title(); ?>" datacount="vertical" data-via="mktdigitalblog">Tweet</a></script> <script type="text/JavaScript" src="http://platform.twitter.com/widgets.js"> Normalmente no Home do Wordpress, colocamos para serem visualizados 10 artigos, você sabia que adicionando o código como ele está, fará 10 requisições ao: <script type="text/JavaScript"src="http://platform.twitter.com/widgets.js">.
A dica é, adicione apenas a parte em vermelho ao seu arquivo (index.php, Archive.php, etc.) e coloque o comando que se refere ao JavaScript no Rodapé, assim o WordPress fará apenas uma requisição e carregará todos os botões. Coloque o JavaScript em arquivos externos sempre que possível, ao invés de colocar o código diretamente no HTML. Com essa técnica o browser não precisa carregar novamente o código da página, pois o mesmo estará no cache. Reduza a quantidade de arquivos externos, combinando os códigos em um único arquivo. Isso economiza diversas requisições HTTP, cruciais para o desempenho do site. (Combinar determinados arquivos às vezes pode causar erros, caso o tenha feito, verifique todo o seu blog).
15
Guia para otimizar o carregamento do Wordpress
12. Utilize o PHP Flush Ao usar a função PHP flush, você vai melhorar um pouco a velocidade do seu site Wordpress. Quando os usuários solicitarem uma página da Web, pode levar até 0,5 segundo para o servidor para exibir a página HTML. Durante este tempo o navegador permanece inativo. A função flush () ajuda a carregar o HTML parcialmente para o navegador, enquanto o servidor está ocupado com o resto do conteúdo. Para inserir a função flush () no seu código do Wordpress, abra o arquivos header.php localizado na pasta do seu tema e insira a única linha de código imediatamente após a tag </ head> e antes da tag <body> <?php flush(); ?>
//inserir depois de head
Se você estiver usando o plugin W3 Total Cache em seu site, provavelmente é mais seguro não usar o flush (). Eu estava usando ambos por várias semanas e tudo estava funcionando bem, sem problemas, mas eu decidi remover o flush () função apenas para ser seguro. Não tenho certeza sobre a compatibilidade da função flush () com outros plugins de cache. Dando uma pesquisada sobre o Flush, encontrei a seguinte dúvida no FAQ do wp total cache. Eu vejo caracteres estranhos em vez do site normal, o que pode estar acontecendo? Se um tema usar o php_flush call () ou flush function (), a função irá interferir no funcionamento do plugin; fará o plugin enviar arquivos em cache antes que as operações essenciais terminem. Sendo assim, o flush não é mais necessário e deve ser removido. Realizei alguns testes e o tempo de carregamento reduziu em cerca de 1,5 segundos. Acreditem, na Internet, 1 segundo e meio é muito tempo.
16
Guia para otimizar o carregamento do Wordpress
13. Minimizar o PHP e consultas de banco de dados Uma das coisas mais importante para otimizar seu Wordpress é reduzir consultas (queries) para os arquivos PHP e banco de dados. Cada vez que uma página do nosso site é carregada, o navegador tem que executar determinadas consultas ao banco de dados e ao PHP, o que aumenta o tempo de carregamento do site e aumenta o consumo de recursos para o serviço de hospedagem. <?php <?php <?php <?php
bloginfo('name'); ?> bloginfo('description'); ?> language_attributes(); ?> bloginfo('html_type'); ?>
Uma solução para este problema é substituir as consultas PHP por código HTML estático, que, cada vez que uma página é carregada, o navegador só tem que ler o código HTML. Algumas dessas chamadas de banco de dados são inevitáveis, mas algumas podem ser evitadas simplesmente usando um Plug-in de Cache. No entanto, as chamadas de banco de dados ainda serão necessários para gerar o arquivo estático após uma cache está sendo limpo. Tente remover o máximo possível de consultas queries PHP. Aqui está uma dica de como verificar quantas consultas de banco de dados o seu tema / blog está fazendo. Você pode inserir esse trecho de código no seu arquivo footer.php (ou em qualquer lugar) para torná-lo exibir o número de consultas: Num_queries <php echo $ wpdb de?>;?> <Php _e ('consultas');?>. Abaixo está um exemplo de consulta com o respectivo PHP que podem ser substituída por HTML: <link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" /> A consulta acima deve ser substituída por: <link rel="stylesheet" type="text/css" media="all" href=”http://seusite.com/wp-content/themes/seutema/style.css" />
17
Guia para otimizar o carregamento do Wordpress
14. Otimizando o Wordpress pelo Wpconfig.php Há muitas maneiras de otimizar o Wordpress e uma maneira fácil de otimizá-lo é através do arquivo wp-config.php neste arquivo estão às configurações que tornam o nosso trabalho com Wordpress mais fácil. Para começar só temos que editar esse arquivo com qualquer editor de texto e fazer os ajustes necessários. Cada porção de código que você adicionar o arquivo wp-config.php deve ser colocado em uma nova linha no final do arquivo e verificar se há código repetitivo. Antes de fazer qualquer alteração no arquivo wpconfig.php , faça um backup no caso de algo der errado. Adicione os seguintes códigos ao seu wp-config: Endereço da Home do Blog define('WP_HOME', 'http://seusite.com'); Endereço do site define('WP_SITEURL', 'http://seusitecom'); Caminho do tema define('TEMPLATEPATH', '/absolute/path/to/wpcontent/themes/seutema); Caminho para o style.css define('STYLESHEETPATH', '/absolute/path/to/wpcontent/themes/seutema); Desabilitar a revisão de artigos define('WP_POST_REVISIONS', false); Habilitar o cache define('WP_CACHE', true); 18
Guia para otimizar o carregamento do Wordpress
define('ENABLE_CACHE', true); Configurar tempo de expiração do cache define('CACHE_EXPIRATION_TIME', 1800); // em segundos Desabilitar o cache define('WP_CACHE', false); define('DISABLE_CACHE', true); Esta opção permite que você especifique o número de dias que leva para remover artigos da lixeira. define ('EMPTY_TRASH_DAYS', 30), / / 30 dias O código a seguir otimiza automaticamente o banco de dados MySQL. define ('WP_ALLOW_REPAIR', true); Há muitos ajustes, mas só descrevi os mais importantes e, por enquanto isso é tudo.
19
Guia para otimizar o carregamento do Wordpress
15. Limpar o Banco de Dados Recentemente notei que a tabela wp-options estava ficando muito grande e estava cheio de entradas de plug-ins que tinha instalado há meses ou mesmo anos. Para aqueles que não têm um conhecimento muito avançado do Wordpress, excluir entradas desnecessárias diretamente no PhpMyAdmin pode ser perigoso porque pode limpar algo necessário para executar o WordPress ou até mesmo algo danos vezes que nosso blog não funciona. Por isso, eu procurei na Internet alguma solução que encontrasse entradas órfãs e que as removesse da tabela wp-options no banco de dados. No final, eu consegui encontrar um plug-in muito útil e prático chamado CleanOptions. É um simples usar com o qual podemos facilmente limpar as entradas que estão consumindo nosso banco de dados. Dependendo do caso pode nos ajudar a economizar alguns KB ou MB, dependendo de quantas entradas órfãs encontrar. Segundo os especialistas, uma tabela wp_options menor e otimizada pode melhorar o desempenho do site e reduzir o consumo de recursos. No entanto, antes de usar o plug-in é recomendado fazer um backup do banco de dados em caso de exclusão de uma entrada importante. Com isto, no caso de quaisquer problemas você poderá recuperar o banco. Uma vez instalado o plug-in e ativo, o procedimento a ser aplicado é o seguinte: •
Clique em Ferramentas (Tools) e depois em CleanOption.
20
Guia para otimizar o carregamento do Wordpress
•
É melhor usar a configuração regular do plug-in, para, em seguida, clique em "Buscar opções Orfãs".
•
O plug-in irá buscar entradas órfãs que estão sobrando na tabela. Se você tiver plug-ins desativados, eles também podem aparecer. Em seguida, selecione "Opções Exibir informações" (Veja informações sobre as opções selecionadas).
•
Analise cuidadosamente os dados apresentados para cada entrada órfã apresentada pelo plug-in a fim de determinar se importante ou não.
21
Guia para otimizar o carregamento do Wordpress
•
Se você tem certeza absoluta de que deseja excluir entradas, selecione Sim e clique no botão Enviar, mas caso contrário é melhor selecione Não e clique no botão que diz que não. Neste plug-in não existe a opção "undo" (desfazer) uma vez que você executar a limpeza, ela é permanente, por isso que é essencial fazer o backup do banco de dados antes de começar.
•
Opções removidas. Uma vez feito irá exibir uma lista como apresentado abaixo:
Antes de otimizar e reparar a tabela wp_options, você deve rever o blog para verificar se tudo funciona corretamente, incluindo plug-ins. Se um plug-in não está funcionando, você precisa desativá-lo, excluí-lo e reinstalá-lo. Se tudo funciona corretamente, podemos fazer um backup do banco de dados no phpMyAdmin e usar os recursos desta otimização e reparar bancos de dados.
22
Guia para otimizar o carregamento do Wordpress
16. Utilizando um CDN (Content Delivery Network) para otimizar o carregamento O CDN (Content Delivery Network) é um sistema de distribuição de arquivos de conteúdo por vários servidores espalhados na rede de Internet. O CDN pode aumentar o desempenho e a capacidade de entrega do servidor web, oferecendo ainda redundância dos servidores de conteúdo. Por que usar o CDN? Na ultima década houve um crescimento explosivo da Internet, seja pelo aumento do conteúdo de alta qualidade como o vídeo, vide exemplo Youtube ou pelos meios alternativos de se consumir Internet como os celulares, tablets e Ipads. Oferecer conteúdo hoje exige servidores robustos, caros, distribuídos em larga escala e muita quantidade de banda. Principais Benefícios Entre os principais benefícios de uma CDN podemos citar: • Aumento na capacidade de entrega dos servidores atuais; • Redução da necessidade de investimentos em hardware nos servidores de origem; • Infraestrutura de servidores com 99,99% de disponibilidade (hoje esse SLA só é quebrado caso a origem fique indisponível); • Redução do consumo de banda; • Distribuição por Geolocalização entregando o conteúdo na rede mais próxima do cliente ou na rede com melhor desempenho. • Escalabilidade - facilidade de ampliação da capacidade em caso de aumento de tráfego. • Ganho de velocidade de carregamento em casos de site com gargalo pelo grande número de acessos.
23
Guia para otimizar o carregamento do Wordpress
Depois que o Google adicionou a velocidade de carregamento da página como um fator determinante resultados da pesquisa, webmasters estão em uma missão para melhorar a velocidade de seus sites. Muitos já estão experimentando plug-ins de cache e técnicas de otimização de imagem. Se está procurando mais formas de otimização de velocidade, em seguida, uma coisa que você tem que considerar é o uso de um Content Delivery Network ou CDN. Vou ensinar a configurar um CDN para seu blog em Wordpress utilizando o Speedy Mirror que oferece 5GB de banda gratuitamente.
Como configurar o Speedy Mirror 1 - Primeiro, vá para SpeedyMirror.com e crie uma conta. 2 - Depois de confirmado o endereço de e-mail. Faça login na sua conta e inicie a criação de espelhos. Você pode ter quantos servidores quiser para que você possa usá-lo para vários blogs. Clique no link Mirror e no botão Add New mirror.
24
Guia para otimizar o carregamento do Wordpress
Agora dê um nome para o espelho, digite a URL do seu blog colocando o / no final do endereço e clique em Detectar salvar. Agora o seu espelho está pronto para usar. Cada espelho (alias) recebe um subdomínio gratuito no seguinte formato: seumirror.speedymirror.com. Se você gosta de deixar as coisas mais ajeitadas, você pode configurar um CNAME para o seu espelho. Conforme imagem abaixo:
Meu é espelho brunodesouza.speedymirror.com. Eu criei um CNAME cache.brunodesouza.com e o apontei para o meu espelho.
Como configurar Speedy Mirror para WordPress? Primeiro você precisa ter plug-in W3 Total cache ou o WP Super cache instalado no seu blog (eu sei que a maioria deve usar o W3, é o melhor plug-in cache que eu já usei). Agora vá para as configurações gerais de W3 Cache Total. Desça até CDN e Ative o CDN e Escolha o tipo de CDN como Generic Mirror.
25
Guia para otimizar o carregamento do Wordpress
Outra opção gratuita de CDN e o Cloudflare que é um serviço que permite tornar o seu site mais seguro e ao mesmo tempo pode torna-lo mais rápido (se ainda não o conhece, leia o artigo o que é o Cloudflare e quais são os seus benefícios). Não vou entrar em detalhes no Cloudflare, pois nosso amigo Celso Azevedo publicou um tutorial para configurar o Cloudflare. Como Usar o Cloudflare. Não posso deixar de citar o CoralCDN que é uma rede de distribuição de conteúdo (Content Delivery Network) baseada em P2P que possui 206 servidores espalhados pelo mundo, inclusive no Brasil. Ele foi feito para evitar que o carregamento do seu site seja prejudicado quando uma grande quantidade de visitantes acessa a mesma página, fazendo todos caírem. Diferente do Cloudflare e do Speedy Mirror a configuração para utilizar o CoralCDN é simples, baixe o plug-in FREE CDN que substitui todos os links para scripts, estilos e imagens por endereços através da rede do CCDN. Isso significa que o que antes era carregado através de: http://brudesouza.com.com/wp-content/uploads/2012/04/imagem.jpg Agora passa a vir de: http://brunodesouza.com.net.nyud.net/wpcontent/uploads/2012/04/imagem.jpg Assim, a carga que iria somente para os servidores da HostGator, passa a ser distribuída pelo CoralCDN, acelerando o carregamento independente de que parte do globo você estiver. Junte isso ao sistema de cache que utilizo e você tem um site super leve que não sobrecarrega o servidor. Atualmente no meu blog, estou utilizando o CDN americano CDN777 que tem um preço bastante acessível e seu funcionamento é semelhante ao Speedy Mirror, cria uma URL dentro do sistema e depois adiciona um CNAME no seu host e pronto o conteúdo estático do seu blog já estará disponível em diversas partes do mundo. Quem quiser pode fazer um Trial de 14 dias, eu RECOMENDO.
26
Guia para otimizar o carregamento do Wordpress
Vocês podem estar se perguntando, existe algum serviço de CDN no Brasil? Sim, Existe CDN no Brasil, mas em relação aos CDNs estrangeiros a contração não vale a pena. Digo isso, pois os preços são totalmente fora de mão, os serviços oferecidos no Brasil são praticamente para grandes corporações, quando digo grandes, me refiro, a Globo.com, R7 entre outras empresas. Além de não serem nenhum pouco confiáveis, abaixo deixo uma lista de alguns CDN’s nacionais ou quase isso: • Distribui: Parece interessante uma vez que o foco deles é justamente CDN no Brasil. • Exceda: Akamai no Brasil. Muito bom e caro. • Global Crossing: Essa empresa é provedora de banda para as ISPs brasileiras. Possui quilômetros de fibra no território brasileiro. • Samba Tech: O R7 da Record fica lá. • Admotion: Interessante, porém somente 2 pontos de acesso por aqui (São Paulo e Buenos Aires). • UPX CDN: Pelo que pesquisei é uma empresa Brasileira que oferece o serviço Cloud Cache para acelerar seu site. Entrei em contato para ver os preços e são totalmente fora de mão. R$ 300,00 por 100 GB de transferência. Pago atualmente $ 4,99 por esta mesma quantidade de transferência.
27
Guia para otimizar o carregamento do Wordpress
Sobre o Autor Bruno de Souza é o CEO do Marketing Digital 2.0 e criador do primeiro blog sobre Educação Móvel do País, o MLearningPedia. Social Media and Mobile Learning Research e Amauter Roller nas Horas vagas. Colunista nos blogs: Papos na Rede, Midiaboom, Midiassociais.net, Webinsider e ResultsOn. Em 2010 citado como referencia nacional em mídias sociais, no livro “ A revolução das Mídias Sociais” Frase Favorita: “Ideias podem vencer crises” por Claúdio Nader. Contato: contato@brunodesouza.com Twitter: @brunounix @mktdigitalblog Facebook: facebook.com/blogmarketingdigital
28