Documentação amigável ao meio ambiente
Estimativas para o impacto climático da indústria web variam entre 2% e 4% da emissão global de carbono, aproximadamente equivalente as emissões da indústria aeronáutica. Há vários fatores complexos no cálculo do impacto ecológico de um website, mas este guia inclui algumas dicas para reduzir a pegada ambiental do seu site de documentação.
A boa noticía é, escolher Starlight é um bom começo. De acordo com o “Website Carbon Calculator”, este site é mais limpo que 99% das páginas web testadas, produzindo 0.01g de CO₂ por visita da página.
Peso da página
Quanto mais dados uma página web transfere, mais recursos energéticos são necessários. Em Abril de 2023, uma página web mediana necessitava que o usuário baixasse mais que 2,000 KB de acordo com dados do HTTP Archive.
Starlight constrói páginas que são o mais leve possível. Por exemplo, em uma primeira visita, um usuário vai baixar menos do que 50 KB de dados comprimidos — apenas 2.5% da mediana do HTTP Archive. Com uma boa estratégia de cacheamento, navegações subsequentes podem baixar tão pouco quanto 10 KB.
Imagens
Enquanto Starlight providencia uma boa base, imagens que você adiciona a sua documentação podem rapidamente aumentar o peso da sua página. Starlight usa o suporte a assets otimizados do Astro para otimizar imagens locais em seus arquivos Markdown e MDX.
Componentes de UI
Componentes construídos com frameworks de UI como React ou Vue podem facilmente adicionar grandes quantidades de JavaScript a uma página. Pelo Starlight ser construído com Astro, componentes assim carregam zero JavaScript no lado do cliente por padrão graças a Ilhas Astro.
Cacheamento
Cacheamento é usado para controlar por quanto tempo um navegador armazena e reutiliza dados já baixados. Uma boa estratégia de cacheamento garante que um usuário receba conteúdo novo o mais cedo possível quando ele muda, mas também evita baixar inutilmente o mesmo conteúdo de novo e de novo enquanto ele não mudou.
A forma mais comum de configurar cacheamento é com o header HTTP Cache-Control
.
Enquanto utiliza Starlight, você pode definir um grande tempo de cache para tudo no diretório /_astro/
.
Esse diretório contém CSS, JavaScript e outros assets em bundle que podem ser seguramente cacheados para sempre, reduzindo downloads desnecessários:
Cache-Control: public, max-age=604800, immutable
Como configurar cacheamento depende da sua hospedagem web. Por exemplo, a Vercel aplica essa estratégia de cacheamento para você sem nenhuma configuração necessária, enquanto você pode definir cabeçalhos customizados para Netlify ao adicionar um arquivo public/_headers
ao seu projeto:
/_astro/*
Cache-Control: public
Cache-Control: max-age=604800
Cache-Control: immutable
Consumo de energia
A forma com que uma página web é construída pode impactar a energia necessária para executá-la no dispositivo de um usuário. Por utilizar JavaScript ao mínimo, Starlight reduz a quantidade de poder de processamento que o celular, tablet ou computador de um usuário precisa para carregar e renderizar páginas.
Seja cuidadoso ao adicionar funcionalidades como scripts de rastreamento de analytics ou conteúdo cheio de JavaScript como embeds de vídeo já que estes podem aumentar o consumo de energia da página.
Se você precisa de analytics, considere escolher uma opção leve como Cabin, Fathom ou Plausible.
Embeds como vídeos do YouTube e Vimeo podem ser melhorados por esperar para carregar o vídeo conforme interação do usuário.
Pacotes como astro-embed
podem ajudar com serviços comuns.
Hospedagem
O lugar onde uma página web é hospedada podem ter um grande impacto no quão amigável ao ambiente seu site de documentação é. Centro de dados e fazendas de servidores podem ter um grande impacto ecológico, incluindo alto consumo de eletricidade e uso intensivo de água.
Escolher uma hospedagem que utiliza energia renovável significará menos emissões de carbono para o seu site. A Green Web Directory é uma ferramenta que pode ajudá-lo a encontrar empresas de hospedagem.
Comparações
Curioso para saber como outros frameworks de documentação se comparam? Esses testes com o Website Carbon Calculator comparam páginas similares construídas com diferentes ferramentas.
Framework | CO₂ por visita da página |
---|---|
Starlight | 0.01g |
VitePress | 0.05g |
Docus | 0.05g |
Sphinx | 0.07g |
MkDocs | 0.10g |
Nextra | 0.11g |
docsify | 0.11g |
Docusaurus | 0.24g |
Read the Docs | 0.24g |
GitBook | 0.71g |
Dados coletados em 14 de Maio de 2023. Clique num dos links para ver valores atualizados.
Mais recursos
Ferramentas
Artigos e palestras
- “Building a greener web”, palestra por Michelle Barker
- “Sustainable Web Development Strategies Within An Organization”, artigo por Michelle Barker
- “A sustainable web for everyone”, palestra por Tom Greenwood
- “How Web Content Can Affect Power Usage”, artigo por Benjamin Poulain e Simon Fraser