Image Prioritizer

Descrição

Este plugin optimiza o carregamento de imagens (e vídeos) com priorização para melhorar o Largest Contentful Paint (LCP), carregamento diferido e a selecção de tamanhos de imagem mais precisa.

As optimizações actuais incluem:

  1. Adicione ligações com pré-carregamento com fetchpriority=high específicas para cada ponto de quebra (tal como elementos LINK[rel=preload] e cabeçalhos de resposta Link) para URL de imagens de elementos LCP:
    1. Um elemento IMG, incluindo os atributos srcset/sizes fornecidos como imagesrcset/imagesizes em LINK.
    2. O primeiro elemento SOURCE com um atributo type num elemento PICTURE. (Não são suportados elementos PICTURE com direcção de arte através de media queries.)
    3. Um elemento com um atributo style em linha que define a propriedade CSS background-image.
    4. Um elemento com a propriedade CSS background-image definida através de uma folha de estilos (quando a imagem for proveniente de uma origem permitida)
    5. Imagem poster de um elemento VIDEO
  2. Garanta que fetchpriority=high só é adicionado a um IMG quando for o elemento LCP em todos os pontos de quebra.
  3. Adicione fetchpriority=low aos elementos IMG que aparecem na janela inicial, mas não estão visíveis, como quando são diapositivos subsequentes de um carrossel.
  4. Carregamento diferido:
    1. Aplica carregamento diferido aos elementos IMG com base em se aparecem ou não na janela inicial de qualquer ponto de quebra.
    2. Implementa o carregamento diferido de imagens de fundo de CSS adicionadas através de atributos style em linha.
    3. Carrega em diferido os elementos VIDEO através dos atributos adequados com base na sua presença na janela inicial. Se um VIDEO for o elemento LCP, tem preload=auto. Se estiver na janela inicial, mantém-se o valor por omissão preload=metadata. Se não estiver na janela inicial, tem preload=none. Os vídeos carregados em diferido também terão os atributos iniciais preload, autoplay e poster repostos quando o VIDEO entrar na janela.
  5. Tamanhos de imagem responsivos:
    1. Calcule o atributo sizes utilizando as larguras de uma imagem recolhidas a partir das métricas de URL para cada ponto de quebra (quando não for carregada em diferido, pois, nesse caso, é gerido por sizes=auto).
    2. Assegure que sizes=auto está definido nos elementos IMG após definir correctamente o carregamento diferido (acima).
  6. Reduza o tamanho da imagem poster de um VIDEO do tamanho completo para um tamanho adequado à largura máxima do vídeo (em ecrã de computador).

This plugin requires the Optimization Detective plugin as a dependency. Please refer to that plugin for additional background on how this plugin works as well as additional developer options.

👉 Atenção: Este plugin optimiza as páginas para visitantes reais e depende destes para as optimizações. Por isto, não verá as optimizações aplicadas imediatamente após activar o plugin. Aguarde que as métricas de URL sejam recolhidas para visitas em dispositivos móveis e computador. E, como os utilizadores administradores não são, normalmente, visitantes comuns, por omissão estas optimizações não são aplicadas aos administradores.

O seu site deve ter a API REST acessível para visitantes do frontend não autenticados, pois é assim que são recolhidas as métricas sobre como uma página deve ser optimizada. Actualmente, não existem definições nem interface de utilizador para este plugin, pois foi concebido para funcionar sem qualquer configuração.

Instalação

Instalação a partir do WordPress

  1. Visite o menu Plugins > Adicionar novo
  2. Procure por Image Prioritizer.
  3. Instale e active o plugin Image Prioritizer.

Instalação manual

  1. Carregue toda a pasta image-prioritizer para o directório /wp-content/plugins/.
  2. Visite plugins.
  3. Active o plugin Image Prioritizer.

Perguntas frequentes

Onde posso submeter os meus comentários sobre o plugin?

Feedback is encouraged and much appreciated, especially since this plugin may contain future WordPress core features. If you have suggestions or requests for new features, you can submit them as an issue in the WordPress Performance Team’s GitHub repository. If you need help with troubleshooting or have a question about the plugin, please create a new topic on our support forum.

Onde posso comunicar erros de segurança?

A equipa de Desempenho e a comunidade WordPress levam a sério os problemas de segurança. Agradecemos os seus esforços em divulgar as suas descobertas de forma responsável e faremos todos os esforços para reconhecer as suas contribuições.

Para comunicar um problema de segurança, visite o programa WordPress HackerOne.

Como posso contribuir para o plugin?

As contribuições são sempre bem-vindas! Saiba mais sobre como participar no Manual da Equipa de Desempenho.

O código-fonte do plugin está localizado no repositório WordPress/performance no GitHub.

Avaliações

Este plugin não tem avaliações.

Contribuidores e programadores

“Image Prioritizer” é software de código aberto. As seguintes pessoas contribuíram para este plugin:

Contribuidores

“Image Prioritizer” foi traduzido para 7 locales. Obrigado aos tradutores pelas suas contribuições.

Traduza o “Image Prioritizer” para o seu idioma.

Interessado no desenvolvimento?

Consulte o código, consulte o repositório SVN, ou subscreva o registo de alterações por RSS.

Registo de alterações

1.0.0-beta2

Melhorias

  • Update OD_HTML_Tag_Processor::next_tag() to allow $query arg and prepare to skip visiting tag closers by default. (1872)
  • Expose the logging functions to client-side extensions and automatically account for the value of isDebug. (1895)

Correcções de erros

  • Fix URL encoding in Link HTTP response header. (1907)
  • Fix unpredictable LCP element being identified in a URL Metric Group. (1903)

1.0.0-beta1

Melhorias

  • Bump version to 1.0.0-beta1 to indicate graduation from being experimental. See 1846.
  • Compute responsive sizes attribute based on the width from the boundingClientRect in captured URL Metrics. (1840)

0.3.1

Correcções de erros

  • Remove erroneous check for resource initiator type when considering whether to submit LCP background image. (1760)

0.3.0

Melhorias

  • Add preload links LCP picture elements. (1707)
  • Harden validation of user-submitted LCP background image URL. (1713)
  • Lazy load background images added via inline style attributes. (1708)
  • Preload image URLs for LCP elements with external background images. (1697)
  • Serve unminified scripts when SCRIPT_DEBUG is enabled. (1643)

0.2.0

Melhorias

  • Lazy load videos and video posters. (1596)
  • Prioritize loading poster image of video LCP elements. (1498)
  • Choose smaller video poster image size based on actual dimensions. (1595)
  • Add fetchpriority=low to occluded initial-viewport images (e.g. images in hidden carousel slides). (1482)
  • Avoid lazy-loading images and embeds unless there are URL Metrics for both mobile and desktop. (1604)

0.1.4

Melhorias

  • Move Auto Sizes logic from Enhanced Responsive Images to Image Prioritizer. (1476)

0.1.3

Correcções de erros

  • Fix handling of image prioritization when only some viewport groups are populated. (1404)

0.1.2

  • Update PHP logic to account for changes in Optimization Detective API. (1302)

0.1.1

  • Fix background-image styled tag visitor’s handling of parsing style without background-image. (1288)

0.1.0

  • Lançamento inicial.