Paralelizar downloads através de hostnames e servir conteúdo estático de um domínio cookieless

Criado: 27 de Junho, 2019 Wordpress

Já fizeste uma análise SEO com o Pingdom, GTMetrix ou Google PageSpeed Insights e apareceu o aviso: “Serve Static Content From a Cookieless Domain”?
Se não sabes como resolver isto, ou se o programador da tua empresa disse que não há nada que possas fazer então continua a ler.

Este aviso aparece como uma sugestão simples. Ele sugere que sirvas conteúdos estáticos (ex: imagens, fontes, ficheiros CSS) através de outro hostname que não seja o domínio principal do teu site.
Apesar de com o HTTP/2 isto mudar, os browsers limitam o número de downloads em paralelo (normalmente em 6) por cada domínio, e se dividires os conteúdos estáticos por hostnames consegues, na teoria, fazer mais downloads em simultâneo aumentando assim a velocidade do teu site.

Vamos ver um exemplo. O teu site quando é visitado carrega estes ficheiros:

  • https://site.pt/css/main.css
  • https://site.pt/css/main.js
  • https://site.pt/fontes/opensans.ttf
  • https://site.pt/fontes/montserrat.ttf
  • https://site.pt/imagens/banner.png
  • https://site.pt/imagens/body-bg.png
  • https://site.pt/imagens/logo.png
  • https://site.pt/imagens/artigo-1.png

São 8 ficheiros.
Caso o browser do utilizador limite o número de downloads por domínio (neste exemplo site.pt) ele não vai descarregar todos os ficheiros em simultâneo, tendo assim de esperar que os downloads vão acabando invididualmente para descarregar os restantes.

Neste exemplo apenas temos 8 ficheiros mas num site normal facilmente atinges 30/40 na página inicial se tiveres uma listagem de artigos, uma grelha de serviços, etc.

O que significa o Domínio Cookieless

Seguindo o exemplo de um site WordPress.
O teu site usa cookies e cada um destes pedidos é servido com cookies. Isto quer dizer que vais ter N pedidos com cookies por cada ficheiro estático.

Um pedido retornado com cookies demora mais a ser processado pelo browser do utilizador do que um domínio sem cookies.
Ẽntão é sugerido que estes ficheiros estáticos sejam servidos por um domínio que não utilize cookies.

Além de dimínuir o tempo de processamento do browser do utilizador também consome menos recursos no alojamento pois torna-se mais fácil aplicares uma cada de cache a estes ficheiros.

Começa por criar um novo sub domínio

Apesar de puderes ter um domínio estático para isto não é necessário, basta um sub domínio.
Cria um por exemplo: static.site.pt

Crias um registo A no editor de DNS do teu domínio e apontas para o mesmo endereço IP que o teu site principal.

Configurar o site

Agora precisas de configurar o teu site para apenas definir cookies no domínio principal.

No caso do WordPress edita o ficheiro wp-config.php e adiciona:

define('COOKIE_DOMAIN', 'site.pt');

Agora o WordPress só vai definir cookies para o domínio site.pt e o static.site.pt não.

Configura um plugin de cache ou uma CDN

Agora precisas que os ficheiros estáticos deixem de ter o link de site.pt e passem a ter static.site.pt

Para alcançares isto precisas de usar um plugin ou configurar uma CDN.

É algo fácil de fazer visto que os plugins de Cache que existem estão preparados, e também o podes alcançar aplicando filtros que alterem os URLs destes ficheiros, mas dependes do programador responsável pelo site ou da empresa que o vendeu.

Nota: O conteúdo deste blog é exclusivamente para ajudar e partilhar conhecimentos.
Qualquer erro que seja detetado por ti, por favor, avisa-me. Quanto melhor for o conteúdo, melhor para todos nós.

Partilhar este artigo