Back-End

25 jun, 2014

Otimizando o WordPress – carregando imagens em subdomínio

Publicidade

Para você que já se deparou com “demoras” no carregamento de imagens em seu blog/site WordPress, principalmente em imagens de qualidade ou resolução alta, poderíamos dar uma amenizada nisso ou, melhor dizendo, uma otimizada para economizar recursos em sua hospedagem web e em seu WordPress.

O WordPress é meio complicado em relação aos requerimentos na hora de solicitar algo no servidor, ele faz uma requisição para comparar tudo que tem gravado no disco, para que se o que está sendo solicitado não existir ele carregar na memória e tratar a URL retornando o que foi solicitado.

Quando se trabalha com imagens não é muito diferente, mesmo elas não pesando muito, pois ele acaba fazendo a requisição e carregando o WordPress por completo na memória do servidor e ainda faz um monte de consultas no DB só para mostrar que a página não existe (Erro 404). O pior é isso não serve para nada, pois ninguém vai ver esse Erro 404 que estará escondido em uma tag.

Agora imagine se você tem um portal ou um blog com 10 mil ou mais imagens linkadas e indexadas, que estão ali livres para serem requisitadas. Você logo pensaria em um plug-in de cache, mas não adianta pensar em plug-in de cache, pois páginas de 404 não são visíveis ou tratadas pelos plug-ins de cache na grande maioria. Podemos piorar um pouco, se seu site possuir uma gigantesca quantidade de acessos como o iMasters, e você precisar remover uma imagem do servidor, deletar mesmo, a cada visita o WordPress será obrigado a rodar para mostrar o Erro 404. Não vou nem falar naqueles Bots “feitos nas coxas” que saem inventando nome de arquivos para puxar algo no servidor, gerando vários 404 de arquivos que nunca existiram no servidor. É triste, mas é a realidade, pois testei para ver se isso ocorria mesmo.

Poderíamos resolver tudo isso ou amenizar, “hospedando” as imagens em um subdomínio de uma forma que os Erros 404 e as imagens fossem tratadas diretamente pelo Apache, no caso o servidor HTTP, em vez de fazer o WordPress “soltar fumaça” nas requisições, carregando plug-ins, chamadas em banco de dados, entre outras necessidades.

Para quem não imagina o que seria hospedar as imagens em um subdomínio, ficaria desta forma: http://imagens.imasters.com.br/imagem-hospedada.jpg, (clique que você colocara o WordPress do iMasters para trabalhar hahaha, ou melhor, não clique!).

Os grandes portais, mesmo não usando WordPress, em sua maioria trabalham dessa forma. É algo que não faz milagre, mas ajuda muito na otimização do seu WordPress. Então, vamos à mágica.

Criação do subdomínio

A principal configuração para usar as imagens em um subdomínio é não precisar criar uma pasta fora da instalação do WordPress, e sim utilizar a pasta padrão uploads que se encontra dentro da wp-content. Então, configuramos o subdomínio para acessar diretamente a pasta, ficando algo como /public_html/wp-content/uploads (caminho em cpanel, lembrando que em Plesk ou outro gerenciador é ou pode ser diferente). Se você não souber como criar um subdomínio em sua hospedagem, peça para o suporte técnico fazer, ou indicar como fazer.

imagem 1

Após criar um subdomínio, basta aguardar a propagação, que é quase que imediata.

Configurando o redirecionamento

Agora que você já possui um subdomínio criado e propagado para suas imagens, você deve configurar o arquivo .htaccess que está localizado na raiz do seu servidor ou instalação do WordPress – é o mesmo arquivo onde se armazena a estrutura para a formação das URL amigáveis no WordPress. Fazendo isso, todas as imagens e requisições serão desviadas para o subdomínio que você criou. Lembrando que não há necessidade alguma de mexer na estrutura de pastas do WordPress, você não precisa mudar nenhuma pasta de lugar.

Redirect 301 /wp-content/uploads http://imagens.dominio.com.br

Lembrando que “imagens” é seu subdomínio.

imagem 2

Feito isso, salve e reenvie o arquivo para o servidor, e está pronta sua otimização, que é algo simples mas que pode ajudar muito o funcionamento de seu site/blog WordPress.

Espero que tenha ajudado vocês de alguma forma.