Академический Документы
Профессиональный Документы
Культура Документы
O problema
Duvida?
Tem Soluo?
Vejamos algumas boas prticas para otimizar o tempo de carregamento de uma pgina e aliviar a carga do servidor
ndice
Querys PHP e Acesso ao BD Compresso Zlib Uso de Plugins W3 Total Cache CDN Compresso de .js e .css Otimizao de Imagens CSS Sprites Permalinks
Quase todo tema WordPress distribudo de forma que sua configurao seja da forma mais simples possvel. Estes temas vem com alguns cdigos genricos (chamadas de funes do WP), que podem ser facilmente substitudos depois de instal-lo em nosso blog. Isso feito para temas distribudos livremente mas infelizmente muito desenvolvedores acabam fazendo seu uso em projetos especficos tambm, ao invs de otimizar tais itens removendo Querys que fazem chamadas ao BD e retornam sempre o mesmo valor. Remover (ou no fazer uso de) algumas consultas php lhe ajudar a diminuir a carga do servidor e tambm fazer o seu site mais rpido.
Vejamos na prtica!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>> <head profile="http://gmpg.org/xfn/11"> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> <link rel=stylesheet type=text/css media=screen href=<?php bloginfo(stylesheet_url); ?>/> <link rel=shorcut icon type=image/png href=<php bloginfo(template_url); ?>/favicon.jpg /> <link rel=alternate type=application/rss+xml title=RSS Feed href=<?php bloginfo(rss_url); ?> />
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="pt-BR"> <head profile="http://gmpg.org/xfn/11"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel=stylesheet type=text/css media=screen href=http://www.seusite.com.br/wp-content/themes/SeuTema/style.css/> <link rel=shorcut icon type=image/png href=http://www.seusite.com.br/favicon.jpg /> <link rel=alternate type=application/rss+xml title=RSS Feed href=http://www.seusite.com.br/feed/rss />
S nesse pequeno exemplo, temos 21 requisies a menos ! 21 ? Sim a funo bloginfo() faz 4 requisies a cada chamada !
Compresso Zlib
O WordPress, por padro, envia HTML no compactado para o navegador do visitante. Com algumas simples linhas de cdigo adicionado ao seu cabealho, voc pode comprimir a sada do WordPress em at 75% usando tecnologia de compresso Zlib!
Compresso Zlib
- Verifique se seu servidor tem o Zlib ativo atravs do phpinfo();
- Adicione o comando abaixo na 1 linha do header.php <?php ini_set('zlib.output_compression', 'On'); ini_set('zlib.output_compression_level', '1'); ?>
Compresso Zlib
Plugins no WordPress
Quando o WordPress solicita o processamento do wp_header(); e chama tais arquivos e a menos que existam condicionais corretos no cdigo do plugin, informando se deve ser carregado ou no o plugin para determinada pgina/post, o WordPress vai continuar a processar o plugin, chamando consultas de banco de dados para recuperar parmetros que voc definiu no painel, recuperar arquivos PHP adicionais e carregar arquivos .js e .css quando no so necessrios a todos.
Portanto, ative apenas os plugins que forem realmente usados e evite o uso de plugins para funes simples demais. Para funes mais simples, prefira sempre criar suas funes no functions.php e as chamar apenas quando necessrio no seu tema, ok?
#FikDik !
Uso de Plugins
Resumindo: Use plugins apenas quando necessrio! No est usando um plugin temporariamente? Desative-o e evite insero de arquivos .css e .js que no esto sendo usados. No vai mais usar tal plugin? Apague-o da pasta! Achas que pode vir a precisar de um plugin novamente? Crie um arquivo .txt, salve na pasta wp-content/plugins e anote nele seus nomes. Se precisar novamente dele, s instalar de novo!
Redirection Redirecionamentos 301 de maneira rpida (mas se forem poucos redirecionamentos, faa na mo mesmo, no .htaccess)
W3 Total Cache
CDN
Content Delivery Network (CDN ou Rede de Fornecimento de Contedo) sistema de computadores interligados em rede atravs da Internet, que cooperam de modo transparente para fornecer contedo (particularmente grandes contedos de mdia) a usurios finais.
Voc pode fazer a compresso pelo plugin e depois copiar os arquivos gerados por ele para usar manualmente, sem o plugin precisar o chamar
Otimizao de Imagens
WP Smush.it
Usar imagens nos posts sempre uma boa ttica para dar mais vida a matria e aumentar a converso, mas imagens pesadas podem comprometer o tempo de carregamento. O plugin WP Smush.it faz uma compresso automtica de toda imagem enviada pelo Uploader do WP
CSS Sprites
Tcnica que consiste em se colocar as vrias imagens de fundo usadas no template do site em um arquivo nico e com a declarao CSS background-position mostrar em cada elemento que recebe uma imagem de fundo uma parte da imagem.
CSS Sprites
Exemplo:
Menu da Apple.com
CSS Sprites
Sprite.me
Estrutura da URL
Configurando Permalinks
Estrutura de Permalinks
Como afirma o Codex, podem existir alguns problemas de desempenho com estruturas de permalink comeando com %category%, %postname%, %tag% e %author% O Desempenho seria melhor quando a estrutura da URL tivesse o ID do post, ou comear com uma coisa esttica, como /posts/postname%/ Entretanto...
Estrutura de Permalinks
Para ser honesto, eu no me preocuparia projetos de pequeno e mdio porte.
com isso em
Utilizando uma hospedagem decente e um plugin de cache configurado corretamente, tais problemas de desempenho deixaro de existir.
Estrutura de Permalinks
O que costumo usar:
/%category%/%postname%/
/%postname%/
/materias/%postname%/
Estrutura de Permalinks
Bnus: O que est por vir no WordPress 3.3? http://migre.me/5qY3d
Ferramentas
Firebug
Yslow
(tools.pingdom.com)
Pingdom Tools
Page Speed
Prova dos 9
Funciona mesmo?
DEPOIS ANTES
Bibliografia Recomendada
Sobre o autor: Steve Souders trabalha no Google com web performance e iniciativas open source
E ai, curtiu?
Contatos: twiter.com/GugaAlves twitter.com/TudoParaWP (Pessoal) (Site)
http://br.linkedin.com/in/gugaalves/pt http://www.slideshare.net/gugaalves