Otimize seu WordPress com um subdomínio para imagens

por Convidado em 14/04/2011

na categoria Webmaster

Construtor de sites wix
velocidade

Este é um guest post escrito por Janio Sarmento da empresa de hospedagem de sites Porto Fácil (mesma empresa que administra o servidor dedicado do CriarSites.com).

Quando se fala de otimizar um site em WordPress, a primeira coisa que vem à mente é a necessidade de um bom plugin de cache. Realmente é algo extremamente importante de se fazer, mas não é tudo.

Utilizando-se um subdomínio para hospedar as imagens do WordPress podemos conseguir uma grande economia de recursos, e consequente valorização do investimento feito em hospedagem.

Em tese, servir imagens deveria ser algo fácil para o servidor web: como são arquivos estáticos, e não scripts que precisam ser interpretados, o processamento é o mínimo do mínimo: só ler o arquivo do HD do servidor e entregar na placa de rede. Em tese.

Acontece que o WordPress funciona de uma maneira um tanto peculiar, para que os permalinks amigáveis sejam possíveis: toda e qualquer requisição que seja feita ao servidor web primeiro é comparada com os arquivos gravados no disco; se o recurso solicitado não existir, então o WP é carregado na memória, para fazer o tratamento daquela URL.

No caso específico das imagens, elas não pesam tanto no servidor, até serem apagadas. Uma imagem que seja solicitada e não exista, fará com que o WordPress inteiro seja carregado na memória do servidor, que diversas consultas ao banco de dados sejam feitas, apenas para mostrar uma página de erro 404.

A situação piora: essa página de erro nem será vista por ninguém, porque ela será “carregada” normalmente em uma tag , causando apenas o aparecimento de um ícone padrão do navegador (isso quando estivermos servindo a página 404 para um visitante e não para um bot).

Agora, multiplique a quantidade de imagens que um dia foram linkadas e indexadas, e que agora podem ser requisitadas, pelo potencial de processamento necessário para carregar o WP. Pense que nenhuma dessas páginas se beneficiará de cache (páginas 404 não são tratadas pelo Super Cache nem por nenhum outro plugin).

Mas calma, isso não é tudo! Imagine que um site de grande visitação tenha feito hotlink para uma imagem no seu site, e você tenha tido de apagá-la dos uploads. Não fará muita diferença (até fará, para pior), porque o WP ainda precisará ser rodado a cada chamada para mostrar o erro 404.

Mas não mude de canal ainda! Há alguns bots que simplesmente “inventam” nomes de arquivos para tentar puxar do servidor (muitas vezes por erros de programação do próprio bot), ocasionando dezenas de erros 404 em imagens que nunca sequer existiram em seu site!

Se você tiver, contudo, um subdomínio para as imagens, que não esteja subordinado diretamenet ao WordPress, esses erros 404 todos passarão a ser tratados pelo próprio servidor HTTP (normalmente o Apache). Em vez de carregar o WP com todos os seus plugins e temas, e todas as suas chamadas ao banco de dados, a página 404 padrão do servidor será muitas vezes mais leve, e praticamente não pesará nada em termos de processamento.

Para obter esse benefício e dar um refresco ao servidor, são apenas dois passos: primeiro, configurar corretamente o subdomínio das imagens; segundo, fazer um redirecionamento no .htaccess para desviar todas as requisições de imagens para o novo subdomínio.

Configurando o subdomínio

O segredo para a fácil configuração do site para beneficiar-se das imagens em um subdomínio, é fazer com que a raiz deste seja exatamente o diretório de uploads do WordPress. Em uma instalação típica, você deve configurar o subdomínio para algo do tipo:

/home/username/public_html/wp-content/uploads

Tenho por critério sempre utilizar i.seudominio.com, para facilitar.

Se não souber ou puder fazer a criação do subdomínio, peça ao suporte do seu provedor de hospedagem para fazer ou indicar como se faz.

Configure o subdomínio e aguarde pela propagação do DNS.

Configurando o redirecionamento

Agora que o subdomínio está criado e o DNS propagado, é hora de configurar o .htaccess para fazer com que todas as requisições de imagens sejam desviadas imediatamente para o novo subdomínio. Para isso, basta acrescentar no início do .htaccess da raiz do domínio:

Redirect 301 /wp-content/uploads http://i.seudominio.com (o “i” representa o subdomínio).

Pronto!

Não há necessidade de mexer na configuração de uploads do WordPress (deixe o caminho dos uploads em wp-content/uploads) porque se por algum motivo esse processo precisar ser desfeito em algum momento do futuro o máximo que se perde é o benefício de desviar as imagens para o subdomínio, mas nem por isso os posts ficarão quebrados ou com as imagens faltando.

Conclusão
Esta é uma das técnicas que empregamos ao otimizar sites na PortoFácil. Porém, aqui levamos a otimização um passo adiante, ao criar o subdomínio diretamente no Nginx, sem passar pelo Apache, promovendo assim uma otimização ainda mais notável. Porém, a técnica apresentada acima é compatível com praticamente qualquer host, o que justifica a sua simplificação.

Este é um guest post escrito por Janio Sarmento da empresa de hospedagem de sites Porto Fácil (mesma empresa que administra o servidor dedicado do CriarSites.com).

Escrito por Convidado

Este artigo foi escrito por um colaborador convidado (guest post).


{ 2 trackbacks }

As melhores postagens de Abril/2011 | Informática Inteligente
02/05/2011 às 4:11 pm
Aproveite melhor seu VPS otimizando suas imagens | PortoFácil
03/05/2011 às 6:24 am

{ 10 comentários… leia abaixo ou deixe o seu }

1 Fabio Destro 14/04/2011 às 5:49 pm

Está é uma dica realmente boua parra que possemos almentar a velocidade de carregamento e etc…
Abraços Celso e Janio

Responder

2 Vagas Emprego 14/04/2011 às 6:12 pm

Gostei desta dica. Não conhecia.

Responder

3 rodolfo 14/04/2011 às 7:28 pm

meu amigo gostaria que você se concentrasse um pouco mais no Blogger…
no mais, parabéns sou seu seguidor…
grato
abç
rodolfo

Responder

4 Celso Lemes 15/04/2011 às 3:10 am

Rodolfo,
O problema neste caso é que a plataforma que eu uso diariamente é o WordPress. No Blogger eu apenas faço testes.
Mas o seu comentário pesou na cuca. Vou procurar escrever mais artigos sobre o Blogger. Obrigado.

Abraço!

Responder

5 Classificados grátis 14/04/2011 às 8:25 pm

Gostei da dica. Há outra vantagem que é a de você poder processar as suas imagens offline. Você pode correr um script que comprime as imagens e não precisa andar procurando pelo disco fora :)
Por outro acho que devia explicar melhor a questão do DNS. Eu tive de ler 2 vezes para entender que você cria um registo novo do tipo images.dominio.com que irá servir as imagens.

Responder

6 Israel 15/04/2011 às 6:42 pm

muito boa avaliação

Responder

7 Ivan Junior 19/04/2011 às 4:42 am

Requisições HTTP demais, para formar uma página também é fator de velocidade, correto?
Também é bom controlar a quantidade de requisições HTTP, para não sofrer com a demora no carregamento de uma página. O que pode prejudicar até em termos de SEO.
Mas acho que vale a pena sim, fazer a com que as imagens fiquem em um subdomínio.

Responder

8 Lucas 24/06/2011 às 5:23 pm

bem, não funciona bem se você tiver um site que tem um conteudo atualizado contantemente, porque tem que ficar fazendo copias ou movendo as imagens da wp-content/uploades/ para o seu subdominio. que pena mas se alguem souber um outro modo de fazer me fala =D

Responder

9 Fabinho Almeida 10/07/2011 às 5:10 am

Amigos,

Podemos usar esta técnica também para os arquivos do tema e css e js?
Ajudaria na velocidade?

Responder

10 Marcos Aurelio 13/05/2012 às 11:04 pm

Muito bom esse questionamento. Também tenho essas mesmas dúvidas…

Responder

Deixe um comentário

Atenção antes de Deixar um Comentário!
- Se o seu comentário for relacionado ao post, tenha certeza de que o leu.
- Todo comentário obsceno, ilegal, ofensivo, anônimo, escrito todo em maiúscula, contendo gírias em excesso ou estritamente publicitários, serão "apagados".
- Somente inclua links no comentário se ajudar a explicar o seu comentário.
- Se precisa de ajuda, procure deixar o máximo de informação possível.
- Não peça para adicionar ao MSN.
- Spam não será tolerado.


Este site lhe foi útil? Então ajude na divulgação clicando aqui.

Post Anterior:

Próximo Post

aprenda a ganhar dinheiro na internet com blogs lucrativos