O README possui um guia sobre como fazer isso usando a versão 7.x-2.31 + atual do AdvAgg . Veja também esta página wiki no grupo Alto desempenho . A maioria dos sites pode alcançar uma pontuação perfeita de 100/100 em https://developers.google.com/speed/pagespeed/insights/ . Instruções sobre como alcançá-lo para uma nova instalação do AdvAgg abaixo.
Verifique o site após cada seção para garantir que a alteração não atrapalhe o site. As alterações no AdvAgg Modifier geralmente são as mais problemáticas, mas oferecem as maiores melhorias.
Agregação avançada de CSS / JS
Vamos para admin/config/development/performance/advagg
- Selecione "Usar configurações recomendadas (otimizadas)"
AdvAgg Compactar Javascript
Instale o AdvAgg Compact Javascript se não estiver ativado e vá para
admin/config/development/performance/advagg/js-compress
- Selecione JSMin, se disponível; caso contrário, selecione JSMin +
- Selecione Remover tudo (arquivos menores)
- Clique no link de compactação em lote para processar esses arquivos
Carregador de fontes AdvAgg Async
Instale o AdvAgg Async Font Loader se não estiver ativado e vá para
admin/config/development/performance/advagg/font
- Selecione Arquivo local incluído no agregado (versão: XXX). Se essa opção não estiver disponível, siga as instruções logo abaixo das opções de instalação.
- Marque "Use localStorage para que o flash de texto sem estilo (FOUT) aconteça apenas uma vez".
- Marque "Definir um cookie para que o flash de texto sem estilo (FOUT) aconteça apenas uma vez".
AdvAgg Bundler
Instale o AdvAgg Bundler se não estiver ativado e vá para
admin/config/development/performance/advagg/bundler
Configurações HTTP / 2.0
- Em "Número alvo de pacotes CSS por página", selecione 25
- Em "Número de destino de pacotes JS por página", selecione 25
- Em "Lógica de agrupamento", selecione "Tamanho do arquivo"
Configurações HTTP / 1.1 (padrão)
- Em "Número alvo de pacotes CSS por página", selecione 2
- Em "Número de destino de pacotes JS por página", selecione 5
- Em "Lógica de agrupamento", selecione "Tamanho do arquivo"
25 pacotes vs 2 e 5 tem a ver com o cache do navegador. Mais arquivos é igual a uma chance maior de o navegador ter essa combinação em seu cache, mas mais arquivos significa que mais conexões sejam estabelecidas e abertas no HTTP 1.1. Use 2 para CSS, pois esse número não espera por novas conexões; JS é 5, pois a maioria dos navegadores tem um limite de conexões simultâneas de 6. Esse número de pacotes configuráveis foi escolhido após muitos testes. No HTTP 2.0, há uma conexão de streaming e a penalidade para vários arquivos CSS e JS é quase inexistente; otimizar para o cache do navegador é a melhor opção; portanto, 25 devem ser usados para CSS e JS ao servir HTTP / 2.0.
Mudança de AdvAgg
Instale o AdvAgg Relocate se não estiver ativado e vá para
admin/config/development/performance/advagg/relocate
- Selecione "Usar configurações recomendadas (otimizadas)"
Modificador AdvAgg
Instale o AdvAgg Modifier se não estiver ativado e vá para
admin/config/development/performance/advagg/mod
- Selecione "Usar configurações recomendadas (otimizadas)"
Gerando arquivos CSS críticos
Acesse https://www.sitelocity.com/critical-path-css-generator e insira quantas páginas de destino forem necessárias para css críticos; o top 10 é geralmente um bom começo. Se você possui o Google Analytics, mostrará como encontrar as principais páginas de destino https://developers.google.com/analytics/devguides/reporting/core/v3/common-queries#top-landing-pages
ou no Piwik https: //piwik.org/faq/how-to/faq_160/ . Se você não souber em qual página começar, faça a página inicial do seu site. Você também pode nos gerar este arquivo https://chrome.google.com/webstore/detail/critical-style-snapshot/gkoeffcejdhhojognlonafnijfkcepob?hl=pt-BR
Os nomes de arquivos e caminhos de exemplo abaixo são para o tema "bootstrap"; todos eles começam com sites/all/themes/bootstrap/critical-css/
; no seu tema, crie o critical-css/
diretório O próximo diretório é baseado no usuário; anonymous/
,, all/
ou authenticated/
pode ser usado.
O próximo diretório pode ser urls/
ou type/
. Olhando para urls/
; front é um caso especial para a página inicial, todos os outros caminhos usam current_path () como o diretório e o nome do arquivo .css
adicionados ao final; Consulte https://api.drupal.org/api/drupal/includes%21path.inc/function/current_path/7.x
Observando type/
isso, é um caso especial para tipos de nós. Use o nome da máquina e adicione .css
até o final. Qualquer nó desse tipo terá esse arquivo css crítico aplicado e embutido. Abaixo estão alguns exemplos mostrando como isso funciona.
localizações válidas de arquivos de exemplo para a página "frontal":
sites/all/themes/bootstrap/critical-css/anonymous/urls/front.css
locais de arquivo de exemplo válidos para a página "node / 1" current_path ():
sites/all/themes/bootstrap/critical-css/anonymous/urls/node/1.css
locais de arquivo de exemplo válidos para o tipo de nó de "página":
sites/all/themes/bootstrap/critical-css/anonymous/type/page.css
Se você deseja algum tipo de maneira automatizada de gerar esses arquivos css, o fourkitchens possui um excelente artigo sobre como configurar isso:
https://fourword.fourkitchens.com/article/use-grunt-and-advagg-inline-critical-css -drupal-7-theme