Autoptimize

Descrição

Autoptimize makes optimizing your site really easy. It can aggregate, minify and cache scripts and styles, injects CSS in the page head by default but can also inline critical CSS and defer the aggregated full CSS, moves and defers scripts to the footer and minifies HTML. You can optimize and lazy-load images (with support for WebP and AVIF formats), optimize Google Fonts, async non-aggregated JavaScript, remove WordPress core emoji cruft and more. As such it can improve your site’s performance even when already on HTTP/2! There is extensive API available to enable you to tailor Autoptimize to each and every site’s specific needs.
If you think performance indeed is important, you should at least consider one of the many free page caching plugins (e.g. Speed Booster pack or KeyCDN’s Cache Enabler) to complement Autoptimize or even consider Autoptimize Pro which not only has page caching but also image optimization, CDN, critical CSS and more!

Autoptimize Pro
Autoptimize Pro is a premium Power-Up, adding image optimization, CDN, page caching, automatic critical CSS rules and extra “booster” options, all in one handy subscription to make your site even faster!!

Premium Support
We provide great Premium Support and Web Performance Optimization services with Accelera, check out our offering on https://accelerawp.com/!

(Speed-surfing image under creative commons by LL Twistiti)

Instalação

Apenas instale a partir da tela “Plugins > Novo ” e tudo correrá bem. Instalação manual é simples também:

  1. Faça upload do arquivo zip e o descompacte no diretório /wp-content/plugins/
  2. Ative o plugin por meio do menu “Plugins” no WordPress
  3. Vá para Configurações > Autoptimize e ative as opções que desejar. Geralmente isto significa “Otimizar HTML/ CSS/ JavaScript”.

FAQ

O que este plugin faz para ajudar a acelerar meu site?

Ele minimiza todos os scripts e estilos e configura seu servidor da web para comprimi-los com cabeçalhos de expiração adequados. O JavaScript padrão será feito sem bloqueio de renderização e o CSS também pode ser adicionado adicionando CSS crítico. Você pode configurá-lo para combinar (agregar) arquivos CSS & JS, caso em que os estilos são movidos para o cabeçalho da página e os scripts para o rodapé. Ele também minimiza o código HTML e também pode otimizar imagens e fontes Google, tornando sua página realmente leve.

Mas eu estou com HTTP/2, então não preciso de Autoptimize?

HTTP/2 certamente é um grande passo à frente, reduzindo o impacto de requisições múltiplas para o mesmo servidor ao usar a mesma conexão para realizar várias requisições simultâneas. Dito isto, concatenar CSS/JS ainda pode fazer muito sentido, como descrito neste artigo do css-tricks.com (em inglês) e neste post
de um dos engenheiros do Ebay
(em inglês). Conclusão: configure, teste, reconfigure, teste de novo, ajuste e veja o que funciona melhor no seu contexto. Talvez seja só HTTP/2, talvez seja HTTP/2 + agregação e minificação, talvez seja HTTP/2 + minificação (o que AO também faz, simplesmente desmarcando as opções “Agregar arquivos JS” e/ou “agregar arquivos CSS”). E o Autoptimize pode fazer muito mais que “apenas” otimizar seu JS & CSS, claro. 😉

Isto vai funcionar no meu blog?

Embora o Autoptimize venha sem nenhuma garantia, em geral vai funcionar sem falha alguma se você o configurar corretamente. Veja “Solucionando Problemas” abaixo para informação sobre como configurar, em caso de problemas. Se você quiser, você pode testar Autoptimize em um site de teste, cortesia do tastewp.com (em inglês).

Por que jquery.min.js não é otimizado ao agregar JavaScript?

Começando com AO 2.1, o jquery.min.js do WordPress core não é otimizada pela simples razão de que um monte de plugins populares adicionam JS em linha que também não são agregados (devido a possíveis problema de tamanho de cache com códigos únicos no JS em linha) que depende do jquery estar disponível, então excluir jquery.min.js garante que a maioria dos sites vão funcionar por padrão. Se você também quer otimizar o jquery.js, pode removê-lo da lista de exclusão de otimização de JS (você talvez tenha que habilitar “também agregar o JS em linha” ou ligar o “forçar JS no cabeçalho).

Por quê o JS Autoptimizado bloqueando renderização?

Isso acontece ao agregar o JavaSCript e marcar a opção “forçar em head” ou não estiver agregando e nem adiando. Considere alterar as configurações.

Porquê o CSS autoptimizado ainda é considerado como bloqueador de render.

Na configuração padrão do Autoptimize o CSS é linkado no elemento “head”, que é um padrão seguro mas vai fazer o Google PageSpeed Insights reclamar. Você pode dar uma olhada em “Colocar todo CSS inline?” (fácil) ou “CSS em linha e adiado?”(melhor) que também são explicadas nestas Perguntas Frequentes.

Qual é a função de “CSS em linha e adiado”?

Em geral, CSS deveria ir no <head> do documento. Recentemente, o Google começou a promover o adiamento de CSS não essencial, ao mesmo tempo que coloca em linha os estilos necessários para mostrar a área “acima da borda” da página. Isto é especialmente importante para renderizar as páginas o mais rápido possível em dispositivos móveis. Desde o Autoptimize 1.9.0 isto é fácil; selecion “CSS em linha e adiado”, cole o bloco de “CSS acima da borda” no campo de texto e e está tudo pronto!

Mas como posso saber o que é o “CSS acima da borda”?

Não há solução fácil já que “acima da borda” depende de onde a borda (inferior) é, o que depende do tamanho da tela. Entretanto, existem algumas ferramentas que tentam identificar o que é “acima da dobra”. Esta lista de ferramentas (em inglês) é um bom ponta de partida. http://jonassebastianohlsson.com/criticalpathcssgenerator/ (inglês) é uma solução básica boa e http://criticalcss.com/ (inglês) é uma ferramenta premium do mesmo desenvolvendor. Como alternativa este bookmarklet (inglês e apenas para Chrome) pode ajudar também.

Deveria colocar todo o CSS em linha?

A resposta curta: provavelmente não. Embora colocar todo o CSS em linha pode fazer o CSS não bloquear a renderização, vai resultar num HTML básico muito grande, e portanto requerer mais conexões. Além disso se, em uma sessão de navegação, forem acessadas múltiplas páginas, o CSS será enviado a cada vez, enquanto que se não for colocado em linha, seria servido do cache na segunda página visitada em diante. E finalmente, o CSS em linha vai enviar as meta-tags do HTML para uma posição mais para baixo onde o Facebook ou Whatsapp podem não ver, deixando de mostrar miniaturas nestas plataformas, por exemplo.

Meu cache está ficando enorme, o Autoptimize não esvazia o cache?

Autoptimize não tem um mecanismo próprio para limpar o cache, já que isto poderia remover CSS/JS otimizado que ainda estariam sendo referidos por outros caches, o que poderia quebrar seu site. Além disto, um cache aumentando muito rapidamente é indicação de outros problemas que você deveria evitar.

Você pode manter o tamanho do cache num nível aceitável das seguintes formas:

  • desativando as opções “agregar JS em linha” e/ou “agregar CSS em linha”
  • excluindo variáveis JS (ou seletores CSS em alguns casos) que mudam página à página (ou a cada carregamento. Você pode ler como fazer isto neste post (em inglês).

Apesar das objeções, há algumas soluções de terceiros para expurgar automaticamente o cache do AO, e.g usar este código (em inglês) ou este plugin, mas pelas razões acima isto deve ser considerado apenas se você realmente souber o que está fazendo.

“Limpar cache” aparentemente não funciona?

Quando clicar no link “Apagar CAche” no menu dropwdow Autoptimize na barra da administração, você pode ver a mensagem “Seu cache pode não ter sido limpo com sucesso”. Neste caso vá até a página de configuração do Autoptimize e clique no botão “Salvar mudanças & e limpar o cache”.

Ademais, não se preocupe se seu cache nunca cai para 0 arquivos / 0 KB, já que o Autoptimize (desde a versão 2.2) vai automaticamente pré carregar o cache imediatamente após ter sido limpo para acelerar ainda mais a minificação.

Meu site parece que quebrou quando limpei o cache do Autoptimize!

Ao limpar o cache do AO, nenhum cache de páginas deve conter páginas (HTML) que se refiram ao CSS/JS otimizado removido. Embora para essa finalidade haja integração entre Autoptimize e alguns caches de páginas, essa integração não cobre 100% das configurações, portanto, talvez seja necessário limpar o cache de páginas manualmente.

Eu ainda posso usar o Rocket Loader do Cloudflare?

O Rocket Loader da Cloudflare é uma forma bem avançada, mas invasiva, de fazer o seu JavaScript não bloquear a renderização, que a Cloudflare ainda considera BETA. Algumas vezes o Autoptimize & o Rocket Loader trabalham bem, algumas não. A melhor tática é desativar o Rocket Loader, configurar Autoptimize e re-ativar o Rocket Loader (se você achar que vai ajudar) depois disto e testar se tudo funciona.

No momento (Junho 2017) parece que o RocketLoader pode quebrar o “CSS em linha e adiado” do AO, que é baseado no loadCSS do Filamentgroup, resultando no CSS adiado não sendo carregado.

Eu tentei o Autoptimize mas meu placar Google Pagespeed mal melhorou

Autoptimize não é um plugin do tipo “arrume meus problemas com o Pagespeed”; ele “apenas” agrega & e minifica JS & CSS (local) e permite alguns extras como remover fontes do Google ou adiar o carregamento do CSS. Como tal, Autoptimize vai permitir que você melhore o desempenho (tempo de carregamento em segundos) e também provavelmente vai ajudar a resolver alguns avisos específicos do Pagespeed. Se você quer melhorar ainda mais, você também provavelmente vai querer dar uma olhada em, por exemplo, cache de página, otimização de imagens e a configuração de seu servidor, que vai melhorar desempenho pra valer (novamente, tempo de carregamento como medido por exemplo pelo https://webpagetest.org) e notas de “melhores práticas de desempenho” no Pagespeed.

O que posso fazer com a API?

Um monte; existem filtros que você pode usar para desabilitar o Autoptimize condicionalmente por requisição, mudar as exclusões de CSS e JS, para mudar o limite de imagens de fundo CSS para serem colocadas em linha no CSS, para definir quais arquivos JS são movidos para trás do que está agregado, para mudar o atributo “defer” na tag script do JS agregado… há muitos exemplos de diversos filtros no arquivo autoptimize_helper.php_example e nesta FAQ.

Como funciona uma CDN?

Desde a versão 1.7.0, a CDN é ativada ao digitar o diretório raiz da CDN do blog (e.g. http://cdn.example.net/wordpress/). Se esta URL está presente, será usada para todos os arquivos gerados pelo Autoptimize (i.e. CSS e JS agregado), incluindo imagens de fundo no CSS (quando não estiver usando data-uri’s).

Se você deseja que as imagens que fez upload estejam na CDN também, você pode mudar o upload_url_path na sua configuração do WordPress (/wp-admin/options.php) para coincidir com o diretório de upload da CDN (e.g. http://cdn.example.net/wordpress/wp-content/uploads/). Leve em consideração que isto só funciona para imagens que forem enviadas a partir deste momento, não para as que já foram feitas upload. Obrigado a BeautyPirate pela dica (em inglês)!

Por quê minhas fontes não são colocadas na CDN também?

Autoptimize suporta isto, mas não é habilitado por padrão por quê fontes não locais podem requerer alguma configuração extra (em inglês). Mas se você tem suas políticas de requisição de origem cruzada em ordem (CORS policies), você pode dizer ao Autoptimize para colocar suas fontes na CDN usando um “hook” da API, configurando autoptimize_filter_css_fonts_cdn para true desta forma;

add_filter( 'autoptimize_filter_css_fonts_cdn', '__return_true' );

Eu estou usando Cloudflare, o que devo usar como diretório raíz da CDN

Nada, quando está na Cloudflare, seu CSS/JS autotimizado vai para a CDN do Cloudflare automaticamente.

Como posso forçar os arquivos agregado serem CSS ou JS estáticos ao invés de PHP?

Se o seu servidor estiver configurado adequadamente para lidar com compressão (gzip ou deflate) e expiração de cache (expiração e controle de cache com “cacheabilidade” suficiente), você não deve precisar que o Autoptimize cuide disto por você. Neste caso você deve marcar a opção “Salvar scripts/CSS agregados como arquivos estáticos?”, o que vai forçar o Autoptimize a salvar os arquivos agregados como arquivos .css e .js (o que significa que PHP não é necessário para servir estes arquivos). Esta configuração é a padrão desde o Autoptimize 1.8.

Como funciona o “Excluir scripts do Autoptimize”?

Otimização tanto de CSS e de JS podem deixar de agregar e minimizar códigos ao se adicionar “identificador” para a lista de exclusão, separados por vírgulas. O texto identificador exato pode ser determinado da seguinte forma:

  • se você quer excluir um arquivo específico, e.g. wp-content/plugins/funkyplugin/css/style.css, você pode simplesmente excluir “funkyplugin/css/style.css”
  • se você deseja excluir todos os arquivos de um plugin específicos, e.g. wp-content/plugins/funkyplugin/js/*, você pode, por exemplo, excluir “funkyplugin/js/” ou “plugins/funkyplugin”
  • se você deseja excluir código em linha, você vai ter que achar uma sequência de texto de única e específica no bloco de código e adicionar à lista de exclusão. Por exemplo: para excluir´funky_data=’Won\’t you take me to, Funky Town’`, o identificador é “funky_data”.

Solução de problemas no Autoptimize

Dê uma olhada nas instruções de solução de problemas em https://blog.futtta.be/2022/05/05/what-to-do-when-autoptimize-breaks-your-site/ (em inglês)

Eu exclui os sites mas eles continuam sendo autoptimizados?

AO miniaturiza o JS/CSS se o nome do arquivo indica que não foi miniaturizado ainda. Desde o AO 2.5 você pode desativar isto na aba “JS, CSS & HTML” em opções diversas, desmarcando “arquivos excluídos do miniaturizar”

Socorro, apareceu uma página em branca ou “internal server error” depois de habilitar o Autoptimize!!

Certifique-se de não estar usando nenhum outro plugin de minificação de HTML, CSS ou JS (BWP Minify, WP Minify, …) ao mesmo tempo que o Autoptimize ou desabilite esta funcionalidade do seu plugin de cache (W3 Total Cache, WP Fastest Cache, …). Tente habilitar somente a otimização de CSS ou somente a de JS para ver qual delas causa erro no servidor e siga o passos de consertos gerais para encontrar uma solução.

Mas eu ainda tenho arquivos CSS ou JS “autoptimizados” em branco!

Se você está usando Apache, o arquivo .htaccess escrito pelo Autoptimize pode, em alguns casos, entrar em conflito com as configurações AllowOverrides da configuração de seu Apache (como no caso da configuração padrão de alguns Ubuntu), o que resulta em “internal server errors” nos arquivos CSS e JS do Autoptimize. Isto pode ser resolvido configurando AllowOverrides para All (em inglês).

Não consigo logar em multisite com domínios mapeados

Multisite utilizando mapeamento de domínio requerem que o Autoptimize seja inicializado numa ação diferente do WordPress, adicione esta linha de código ao seu wp-config.php para utilizá-lo junto ao setup_theme, por exemplo:

define( 'AUTOPTIMIZE_SETUP_INITHOOK', 'setup_theme' );

Não aparecem erros, mas minhas páginas não são otimizadas?

Autoptimize faz uma série de verificações antes de realmente otimizar. Quando uma das condições abaixas for verdadeira, suas páginas não serão otimizadas:

  • quando no personalizador
  • Se não tiver uma tag <html abrindo
  • se tiver <xsl:stylesheet na resposta (o que indica que a resposta não é HTML, mas XML)
  • se tiver <html amp na respostas (já que páginas AMP já são otimizadas)
  • Se o resultado é um feed RSS (função is_feed())
  • Se o resultado é uma página de administração do WordPress (função is_admin())
  • Se a página for solicitada com ?ao_noptimize=1 na URL
  • se o código se conecta ao Autoptimize para desabilitar otimização (veja o tópico sobre o Visual Composer)
  • Se outros plugins usarem o buffer de saída de forma incompatível (desative outros plugins seletivamente para identificar o causador)

Visual Composer, Beaver Builder e soluções similares para construir páginas estão quebradas!!

Desative a opção de Autoptimizar também para usuários logados e divirta-se arrastando e soltando 😉

Ajuda, o checkout/pagamento de minha loja não funciona!!

Desativa a opção de optimizar páginas carrinhos/checkout (funciona para WooCommerce, Easy Digital Downloads e WP eCommerce).

Revolution Slider está quebrado!

Certifique-se que js/jquery/jquery.min.js está na lista de exclusões de JS separadas por vírgulas (ele é excluído na configuração padrão).

Estou recebendo erros “jQuery não está definido”

Neste caso você tem um JavaScript não agregado que requer que o jQuery seja carregado, então você terá que adicionar js/jquery/jquery.min.js a uma lista de exclusão de JS separada por vírgula.

Eu uso NextGen Galleries e váriso JS não agregados/minificados?

O plugin NextGen Galleries faz algumas coisas estilosas para adicionar JavaScript. Para que o Autoptimize possa agregar isto, você ou desativa o gerenciamento de recursos do Nextgen Gallery com este trecho de código add_filter( 'run_ngg_resource_manager', '__return_false' ); ou você pode configurar o Autoptimize para inicializar mais cedo, adicionando isto a seu arquivo wp-config.php: define("AUTOPTIMIZE_INIT_EARLIER","true");

O que é noptimize?

A partir da versão 1.6.6 o Autoptimize exclui tudo dentro de tags noptimize, e.g.:
<!--noptimize--><script>alert(‘isto não será autoptimizado’);</script><!--/noptimize-->

Você pode fazer isto no conteúdo de sua página ou post, nos widgets e nos arquivos de seu tema (considere criar um tema filho par evitar que seu trabalho seja substituído quando houver atualização do tema).

Posso mudar o diretório & nome de arquivo dos arquivos do autoptimize em cache?

Sim, se você deseja servir arquivos de, por exemplo, /wp-content/resources/aggregated_12345.css ao invés do padrão /wp-content/cache/autoptimize/autoptimize_12345.css, então adicione isto ao seu wp-config.php

define('AUTOPTIMIZE_CACHE_CHILD_DIR','/resources/');
define('AUTOPTIMIZE_CACHEFILE_PREFIX','aggregated_');

Isto funciona com WP_CONTENT_URL que não é padrão?

Não, o Autoptimize não dá suporte a WP_CONTENT_URL que não seja padrão, mas você pode conseguir isto com algumas linhas de código através da API do Autoptimize.

O JS e o CSS gerados podem ser pré-gzippados?

Sim, mas isto é desligado por padrão. Você pode habilitar passando ‘true’ para ‘autoptimize_filter_cache_create_static_gzip’. Obviamente, você vai precisar configurar seu servidor para usar estes arquivos ao invés dos não-gzippados para evitar excesso de carga na compressão durante execução.

O que “remover emoji’s” faz?

Esta nova opção em Autoptimize 2.3 remove o CSS em linha, o JS em linha e o arquivo JS linkado pelo WordPress básico. E desta forma pode ter um impacto positivo no desempenho de seu site.

“Remover parâmetros da URL” é útil?

Embora algumas ferramentas de avaliação de desempenho coloquem “parâmetros de versão na URL” como um problema de performance, em geral este impacto é quase inexistente. Portanto, desde a versão o Autoptimize permite que você remova os parâmetros (ou mais precisamente, o parâmetro “ver”), mas marcar “Remover variáveis da url de recursos estáticos” vai ter pouco ou nenhum impacto no desempenho do seu site ao medir os (mili)segundos

(Como) devo otimizar as Fontes Google?

Tipicamente as Fontes Google são carregadas por um arquivo CSS linkado que bloqueia a renderização. Se você tiver um tema e plugins que usam Fontes Google, você pode acabar com vários destes arquivos. Autoptimize (desde a versão 2.3) agora deixa você diminuir o impacto das Fontes Google seja removendo elas totalmente ou otimizando o jeito que elas são carregadas. Estes são os dois “sabores” de otimização; o primeiro é “combinar e linkar”, que substitui todas as requisições para Fontes Google numa única requisição, o que ainda pode bloquear a renderização mas vai permitir as fontes serem carregadas imediatamente (significando que você não vai ver as fontes mudando enquanto a página está carregando). A alternativa é “combinar e carregar de forma assíncrona”, que usa JavaScript para carregar as fontes de forma a não bloquear a renderização mas que pode causar o texto a “piscar” quando a fonte for carregada.

Devo usar “preconnect”?

Preconnect é uma funcionalidade um tanto avançada que instrui navegadores (se eles suportarem) a fazerem uma conexão a domínios específicos, mesmo que a conexão não seja necessária de imediato. Isto pode ser usado, por exemplo, para diminuir o impacto de recursos de terceiros (já que requisições DNS, conexões TCP e negociação SSL/TLS são executadas mais cedo). Use com cuidado, já que pré conectar a muitos domínio pode ser contraprodutivo.

Quando (não)posso usar JS assíncrono?

Arquivos JavaScript que não são autoptimizados (por quê eles foram excluídos ou estão hospedados em outros lugares) tipicamente bloqueiam a renderização. Ao adicioná-los no campo “async JS”, Autoptimize irá usar o parâmetro async fazendo com o que o navegador carregue estes arquivos de forma assíncronamente (i.e. sem bloquear a renderização). Isto pode potencialmente quebrar o seu site (página), e.g. se você colocar “js/jquery/jquery.js” assíncrono você provavelmente verá erros do tipo “JQuery is not defined”. Use com cuidado.

Como a otimização de imagens funciona?

Quando a otimização de imagens está ligada, o Autoptimize vai procurar por arquivos png, gif, jpeg (.jpg) em tags “de imagens e nos seus arquivos CSS que são carregadas a partir de seu próprio domínio e mudam o atributo src (origem) destas para a CDN da ShortPixel. Importante: isto só funciona em imagens disponíveis publicamente, ou o intermediário de otimização de imagens não vai conseguir obter a imagen para otimizar, então firewalls, proxies, proteção por senha ou mesmo prevenção de hotlinking pode quebrar a otimização de imagens.

Posso usar otimização de imagens para minha intranet ou site protegido?

Não; a otimização de imagens depende de um serviço externo de otimização de imagens conseguir baixar a imagem original do seu site, otimizá-la e salvá-la em uma CDN. Se suas imagens não podem ser baixadas por visitantes anônimos (devido a firewall / proxy / senha / proteção contra hotlink), a otimização de imagens não vai funcionar.

Onde posso conseguir mais informações sobre otimização de imagens?

Dê uma olhada nas Perguntas Frequentes do Shortpixel.

Posso desabilitar que AO fique “ouvindo” a limpeza de cache de páginas?

A partir da versão 2.4, o Autoptimize “ouve” as limpezas de cache no WordPress para limpar o seu próprio cache. Você pode desabilitar usando este filtro.

add_filter('autoptimize_filter_main_hookpagecachepurge','__return_false');

Alguns dos caracteres que não são ASCII se perdem depois da otimização

Por padrão o AO usa métodos que não seguros para multibyte, mas se seu PHP tem a extensão mbstring você pode habilitar funções seguras para multibyte com este filtro;

add_filter('autoptimize_filter_main_use_mbstring', '__return_true');

Não consigo fazer o Critical CSS funcionar

Verifique a FAQ do plugin “melhoria” aqui, que será integrado nesta FAQ no futuro.

Eu ainda preciso da melhoria Critical CSS quando eu tenho Autoptimize 2.7 ou mais recente?

Não, o power-up do CSS Crítico não é mais necessário, todas as suas funcionalidades (e muitas correções/melhorias) agora fazem parte do Autoptimize.

O que “ativar contigências de 404” fazem? Por quê eu precisaria disto?

O Autoptimize guardaCSSon/JS agregados e otimizados e os links para estes arquivos são guardado no HTML, que será guardado num cache de página (que pode ser um plugin, pode ser no nível do servidor, pode ser um terceiro, cache do Google, ou em um navegador). Se houver HTML em uma cache de páginas que tem link para CSS/JS Autoptimized qu foi removido nom eio tempo (quando o cache foi limpo) então a página do cache não vai funcionarS/JS não foi encontrado (um erro 404).

Esta configuração busca servir um CSS ou JS de contigência para prevenir que coisas quebrem. Os arquivos de contigência são cópias dos primeiros arquivos CSS & JS Autoptimizados criados depois que o cache foi limpo e desta forma, serão baseados na página inicial. Isto significa que o CSS/JS pode não se aplicar 100% a outras páginas, mas ao menos o impact dos CSS/JS não encontrados serão diminuidos (frequentemente de forma significante).

Quando esta opção está ativada, o Autoptimize adiciona ErrorDocument 404 ao .htaccess (como usado pelo Apache) e também vai se conectar ao gancho template_redirect do núcleo do WordPress. Ao usar NGINX, algo como o que está abaixo deve funcionar (Não sou especialista em NGINX, mas funciona para mim);

location ~* /wp-content/cache/autoptimize/.*\.(js|css)$ {
    try_files $uri $uri/ /wp-content/autoptimize_404_handler.php;
}

E esta é uma boa abordagem alternativa (fornecida por fboylovesyou);

location ~* /wp-content/cache/autoptimize/.*\.(css)$ {
    try_files $uri $uri/ /wp-content/cache/autoptimize/css/autoptimize_fallback.css;
}
location ~* /wp-content/cache/autoptimize/.*\.(js)$ {
    try_files $uri $uri/ /wp-content/cache/autoptimize/js/autoptimize_fallback.js;
}

Que projetos ou programas de código aberto são utilizados em Autoptimize?

Os seguintes excelentes projetos de código aberto são usados no Autoptimize de uma forma ou outra:

Onde posso conseguir ajuda?

Você pode obter ajuda no fórum de suporte do wordpress.org (em inglês). Se você tem 100% de certeza que este é um problema que não pode ser resolvido usando a configuração do Autoptimize e que, de fato, descobriu um erro no código, você pode criar um incidente no Github (em inglês). Se você está em busca de suporte premium, consulte nossos Serviços de Suporte Profissional e Serviços de Otimização.

Desisti, como eu deveria remover Autoptimize?

  • Desabilita o plugin (isto vai remover as opções e o cache)
  • Remova o plugin
  • Limpe qualquer cache que talvez possa ter páginas que referenciam CSS/JS “Autoptimizadas” (e.g. de um plugin como o WP Super Cache)

Como posso ajudar/contribuir?

Apenas faça um fork do Autoptimize no Github e programe!

Avaliações

19 fevereiro, 2024 1 resposta
With Autoptimize the performance of my websites improves and in case of problems their assistance is very helpful.
12 fevereiro, 2024 1 resposta
Not that much to add. It's simply the best (free) plugin to optimize and speed up your website. It works well and has a lot of feature to go deeper and optimize even more. Plus: the support here on the wordpress.org forum is one of the best out here. Keep up the good work!
2 fevereiro, 2024 1 resposta
I was having a plugin conflict because of an unrelated plugin and the Autoptimize plugin author was extremely quick to reply to my support thread and help me work out an extensive series of steps to best optimize the website and work around this conflict. I deeply appreciated this selfless support that went above and beyond any initial expectations. I am happy to have Autoptimize working and speeding things up!
1 fevereiro, 2024 1 resposta
It does the opposite of what it purports to do. It made my site way slower.
Leia todas as 1.402 avaliações

Colaboradores e desenvolvedores

“Autoptimize” é um software com código aberto. As seguintes pessoas contribuíram para este plugin.

Colaboradores

“Autoptimize” foi traduzido para 32 localizações. Agradecemos aos tradutores por suas contribuições.

Traduzir “Autoptimize” para o seu idioma.

Interessado no desenvolvimento?

Navegue pelo código, dê uma olhada no repositório SVN ou assine o registro de desenvolvimento via RSS.

Registro de alterações

3.1.11

3.1.10

  • improvement: with “don’t aggregate but defer” and “also defer inline JS” on, also defer JS that had the async flag to avoid the (previously) asynced JS from executing before the inline JS has ran.
  • improvement: show option to disable the default on “compatibility logic”.
  • fix for regression in 3.1.9 which caused JetPack Image optimization not working even if image optimization was off in AO.
  • API: some extra hooks in critical CSS to enable others (and AOPro) to act on changes in critical CSS rules
  • some other minor changes/ improvements/ filters, see the GitHub commit log.

3.1.9

  • improvement: activate JS, CSS & HTML optimization upon plugin activation (hat tip to Adam Silverstein (developer relations engineer at Google))
  • improvement: also defer asynced JS (to ensure execution order remains intact; asynced JS should not execute before deferred inline JS which it might depend upon)
  • improvement: exclude images from being lazyloaded if they have fetchpriority attribute set to high (as done by WordPress core since 6.3)
  • bugfix: disable spellcheck on CSS textarea’s (above the fold CSS/ critical CSS) which in some cases caused browser issues
  • add tab to explain Autoptimize Pro.
  • confirmed working with WordPress 6.4 (beta 3)
  • some other minor changes/ improvements/ filters, see the GitHub commit log.

3.1.8.1

  • correção urgente de um erro PHP, desculpe por isto!

3.1.8

  • Imagens: melhora a lógica de otimização para imagens de fundo
  • CSS Crítico: não disparar a regra custom_post se a regra selecionada não for is_singular + adicionar debug logging
  • some other minor changes/ improvements/ filters, see the GitHub commit log.

3.1.7

  • security: improve validation (import) and sanitization (output) of critical CSS rules, to fix a medium severity Admin+ Stored Cross-Site Scripting vulnerability as reported by WP Scan Security.

3.1.6

  • CSS: removing trailing slashes in <link tags for more W3 HTML validation love
  • Extra: also dequeue WooCommerce block CSS if “remove WordPress block CSS” option is active
  • imgopt: also act on non-aggregated inline CSS
  • imgopt: added logic to warn users if Shortpixel can’t reach their site
  • backend: AO toolbar JS/ CSS is finally minified as well.
  • explicitamente desativa otimização nas páginas de acesso/login
  • some other minor changes/ improvements/ filters, see the GitHub commit log.

3.1.5

  • improvements to JSMin by Robert Ehrenleitner (big thanks Robert!).
  • do not consider jquery.js as minified any more (WordPress now uses jquery.min.js by default and jquery.js is the unminified version).
  • fix for “undefined array key” PHP errors in autoptimizeCriticalCSSCron.php
  • some other minor changes/ improvements/ filters, see the GitHub commit log.

3.1.4

  • Improvement: when all CSS is inlined, try doing so after SEO meta-tags (just before ld+json script tag which most SEO plugins add as last item on their list).
  • Img opt: also optimize images set in data-background and data-retina attributes (+ filter to easily add other attributes)
  • CSS opt: filter to enable AO to skip minification of calc formulas in CSS (as the CSS minifier on rare occasions breaks those)
  • Multiple other filters added
  • Some other minor changes/ improvements/ filters, see the GitHub commit log.

3.1.3

  • Multiple fixes for metabox LCP image preloads (thanks Kishorchand for notifying & providing a staging environment to debug on).
  • Fix in revslider compatibility (hat tip Waqar Ahmed for reporting & helping out ).
  • No image optimization or criticalcss attempts on localhost installations any more + notification of that fact if localhost detected.
  • Some other minor changes/ improvements/ filters, see the GitHub commit log.

3.1.2

  • Google Fonts: some more removal logic
  • fix for 404 fallback bug (hat tip to Asif for finding & reporting)
  • Some other minor changes/ improvements/ filters, see the GitHub commit log.

3.1.1.1

  • Quick workaround for an autoload conflict with JetFormBuilder (and maybe other Crocoblock plugins?) that causes a critical error on the AO settings page.

3.1.1

  • images: when optimizing images and lazyloading is on, then by default do not set an LQIP (low quality image placeholder) any more (reason: it might look nice but it comes with a small-ish perf. penalty). This can be re-enabled by returning true to the autoptimize_filter_imgopt_lazyload_dolqip filter.
  • security: further improvements to critical CSS settings page (again with the great assistance of WPScan Security).
  • some other minor changes/ improvements/ filters, see the GitHub commit log.

3.1.0

  • new HTML sub-option: “minify inline CSS/ JS” (off by default).
  • new Misc option: permanently allow the “do not run compatibility logic” flag to be removed (which was set for users upgrading from AO 2.9.* to AO 3.0.* as the assumption was things were working anyway).
  • security: improvements to the critical CSS settings page to fix authenticated cross site scripting issues as reported by WPScan Security.
  • bugfix: “defer inline JS” of very large chunks of inline JS could cause server errors (PCRE crash actually) so not deferring if string is more then 200000 characters (filter available).
  • some other minor changes/ improvements/ hooks, see the GitHub commit log

3.0.4

  • fix for “undefined array key ao_post_preload” on post/ page edit screens
  • fix for image optimization altering inline JS that contains an <img tag if lazyload is not active
  • improvements to exit survey
  • confirmed working with WordPress 6.0

3.0.3

  • fix for images being preloaded without this being configured when lazyload is on and per page/post settings are off.
  • ensure critical CSS schedule is always known.
  • when deferring non-aggregated JS, make the optimatization exclusions take the full script-tag into account instead of just the src URL.

3.0.2

  • rollback automatic “minify inline CSS/ JS” which broke more then expected, this will come back as a separate default off option later and can now be enabled with a simple filter: add_filter( 'autoptimize_html_minify_inline_js_css', '__return_true'); .
  • fix for “Call to undefined method autoptimizeOptionWrapper::delete_option()” in autoptimizeVersionUpdatesHandler.php

3.0.1

  • fix for minification of inline script with type text/template breaking the template (e.g. ninja forms), hat tip to @bobsled.
  • fix for regression in import of CSS-files where e.g. fontawesome CSS was broken due to being escaped again with help of @bobsled, thanks man!

3.0.0

  • fundamental change for new installations: by default Autoptimize will not aggregate JS/ CSS any more (HTTP/2 is ubiquitous and there are other advantages to not aggregating esp. re. inline JS/ CSS and dependancies)
  • new: no API needed any more to create manual critical CSS rules.
  • new: “Remove WordPress blocks CSS” option on the “Extra” tab to remove block- and global styles (and SVG).
  • new: compatibility logic for “edit with elementor”, “revolution slider”, for non-aggregated inline JS requiring jQuery even if not excluded (= auto-exclude of jQuery) and JS-heavy WordPress blocks (Gutenberg)
  • new: configure an image to be preloaded on a per page/ post basis for better LCP.
  • improvement: defer inline now also allowed if inline JS contains nonce or post_id.
  • improvement: settings export/ import on critical CSS tab now takes into account all Autoptimize settings, not just the critical CSS ones.
  • technical improvement: all criticalCSS classes were refactored, removing use of global variables.
  • technical improvement: automated unit tests on Travis-CI for PHP versions 7.2 to 8.1.
  • fix: stop Divi from clearing Autoptimize’s cache which is pretty counter-productive.
  • misc smaller fixes/ improvements, see the GitHub commit log

mais velho