Descrição
O objetivo deste plugin é otimizar o desempenho de código incorporados, tais como tuítes, vídeos do YouTube, TikTok e outros.
As otimizações do momento incluem:
- Faz o carregamento diferido de incorporações logo antes delas aparecerem.
- Adding dns-prefetch links for embeds in the initial viewport.
- Reserva espaço para códigos incorporados que são redimensionados a fim de reduzir as mudanças bruscas de leiaute.
Usar carregamentos diferidos melhoram o desempenho porque, em geral, incorporações consomem muitos recursos, de maneira que carregá-las posteriormente garante que elas não sequestrem recursos enquanto a página está carregando. O carregamento diferido de incorporações que usam IFRAME é tratado simplesmente adicionando o atributo loading=lazy. Incorporações com carregamento diferido que incluam tags SCRIPT são tratadas usando um Observador de Interseção para monitorar o momento certo em que o contêiner FIGURE entrar na viewport para poder inserir dinamicamente a tag SCRIPT da integração.
Este plugin também recomenda que você instale e ative o plugin Optimization Detective, que desbloqueia várias otimizações além de apenas fazer o carregamento diferido. Sem o Optimization Detective, o carregamento diferido pode realmente degradar o desempenho e aumentar a métrica Maior exibição de conteúdo (LCP) quando uma incorporação é posicionada na viewport inicial. Isso ocorre porque a montagem da página é atrasada pela lógica enquanto determina se o elemento é visível. É por isso que o núcleo do WordPress faz o seu melhor para evitar o carregamento diferido de elementos IMG que aparecem na viewport inicial, embora a heurística do lado do servidor não seja perfeita. É aqui que o Optimization Detective entra, pois ele detecta se uma incorporação aparece dentro de qualquer uma das quebras específicas da viewport, seja no celular, em tablets ou no computador. (Veja também o plugin Image Prioritizer que melhora a funcionalidade do Optimization Detective para garantir que o carregamento diferido seja aplicado corretamente com base na presença de elementos IMG na viewport inicial.)
When Optimization Detective is active, it will start keeping track of which embeds appear in the initial viewport based on actual visits to your site. With this information in hand, Embed Optimizer will then avoid lazy loading embeds which appear in the initial viewport. Furthermore, for such above-the-fold embeds Embed Optimizer will also add dns-prefetch links for resources known to be used by those embeds. For example, if a YouTube embed appears in the initial viewport, Embed Optimizer with Optimization Detective will omit loading=lazy while also adding a dns-prefetch link for https://i.ytimg.com which is the domain from which YouTube video poster images are served. Such links cause the initial-viewport embeds to load even faster.
O outro recurso importante no Embed Optimizer fornecido pelo Optimization Detective é a redução nas mudanças de leiaute causadas por códigos incorporados que são redimensionados ao serem carregados. Isso é muito comum em posts do WordPress ou tuítes. O Embed Optimizer controla a altura destas integrações e, a partir destas medidas, o Embed Optimizer define a altura mínima para o elemento FIGURE adequada ao tamanho da viewport atual, para que a incorporação não cause uma mudança de leiaute quando carregada.
Como o Optimization Detective depende das visitas às páginas para aprender como elas são montadas, será necessário esperar até se ter visitas de dispositivos móveis e computadores para começar a ver as otimizações funcionando. Além disso, note que o Optimization Detective, por padrão, não aplica as otimizações para usuários administradores quando autenticados.
Observe que as otimizações são previstas para seren aplicadas a blocos Código Incorporado. Então, se você não notar diferenças, certifique-se de que suas incorporações não estejam dentro de um bloco de conteúdo “clássico”.
Seu site deve ter a API REST acessível para visitantes não-autenticados, pois é assim que são coletadas as métricas sobre como uma página deve ser otimizada. Atualmente, não existem configurações extras e nenhuma interface de usuário para este plugin, pois ele foi projetado para funcionar sem a necessidade de nenhum ajuste.
Instalação
Instalação a partir do WordPress
- Visite Plugins > Adicionar novo.
- Pesquise por Embed Optimizer.
- Instale e ative o plugin Embed Optimizer.
Instalação manual
- Faça upload de toda a pasta
embed-optimizerpara o diretório/wp-content/plugins/. - Visite Plugins.
- Ative o plugin Embed Optimizer.
Perguntas frequentes
-
Onde posso enviar os meus comentários sobre o plugin?
-
Comentários e sugestões são encorajados e muito apreciados, especialmente porque este plugin pode conter futuras funcionalidades para o núcleo do WordPress. Se tiver sugestões ou pedidos de novas funcionalidades, pode submetê-los como um issue no repositório GitHub da Equipe de desempenho do WordPress. Se precisar de ajuda para resolver problemas ou tiver uma pergunta sobre o plugin, crie um novo tópico no nosso fórum de suporte.
-
Onde posso relatar erros de segurança?
-
A equipe de desempenho e a comunidade WordPress levam as brechas de segurança a sério. Apreciamos os seus esforços para divulgar de forma responsável as suas descobertas e faremos nosso melhor para reconhecer as suas contribuições.
Para comunicar um problema de segurança, visite o programa WordPress HackerOne.
-
Como eu posso contribuir com o plugin?
-
Contribuições são sempre bem-vindas! Saiba mais sobre como se envolver com o projeto, consulte o Manual da equipe de desempenho do WordPress
O código-fonte do plugin está localizado no repositório WordPress/performance no GitHub.
Avaliações
Colaboradores e desenvolvedores
“Embed Optimizer” é um programa de código aberto. As seguintes pessoas contribuíram para este plugin.
ColaboradoresEmbed Optimizer” foi traduzido para 8 localidades. Agradecemos aos tradutores por suas contribuições.
Traduzir o “Embed Optimizer” para seu idioma.
Interessado no desenvolvimento?
Navegue pelo código, consulte o repositório SVN ou assine o registro de desenvolvimento por RSS.
Registro de alterações
1.0.0-beta5
Correções de erros
- Switch initial viewport embeds from preconnect to dns-prefetch links. (2256)
1.0.0-beta4
Security
- Add escaping for ID selector in styles added to reduce layout shifts. This fixes an XSS security vulnerability which required an authenticated user with at least a contributor role. Props to duc193 for responsible disclosure. (2397)
1.0.0-beta3
Melhorias
- Add URL Metric mutation helpers to extension initialization API. (1951)
- Improve construction of inline scripts with
sourceURL, hardened JSON encoding, and exporting JSON in separate script. (2169)
1.0.0-beta2
Melhorias
- Atualiza
OD_HTML_Tag_Processor::next_tag()para permitir a passagem do argumento$querye prepara para pular os visiting tag closers por padrão. (1872) - Expõe as funções de acesso às extensões do lado do cliente e contabiliza automaticamente o valor de
isDebug. (1895)
1.0.0-beta1
Melhorias
- Incrementa a versão para 1.0.0-beta1 para indicar uma graduação de ser experimental. Consulte 1846.
- Usa a sintaxe de intervalos CSS nas media queries. (1252)
0.4.1
Correções de erros
- Remove a exigência de coletar as métricas mobile e desktop de URLs para que sejam adicionados links
preconnect. (1764)
0.4.0
Melhorias
- Incorpora media queries em links “preconnect” para identificar se as incorporações estão na viewport. (1654)
- Serve scripts não minimizados quando
SCRIPT_DEBUGestiver habilitado. (1643)
0.3.0
Melhorias
- Usa o URL Metrics para reservar espaços para as incorporações e reduzir Mudanças Cumulativas no Leiaute (CLS). (1373)
- Evita fazer o carregamento diferido de imagens e incorporações, a menos que existam URL Metrics para “mobile” e “desktop”. (1604)
0.2.0
Melhorias
- Facilita integrações do Embed Optimizer. (1337)
- Aproveita funcionalidades do plugin Optimization Detective para otimizar as incorporações no Embed Optimizer. (1302)
0.1.2
Melhorias
- Melhora a qualidade geral do código com verificações de análise estática mais rigorosas. (775)
- Incrementa o requisito mínimo do PHP para 7.2. (1130)
Correções de erros
- Oculta iframes incorporados em posts
visibility:hiddenem vez de cortá-los. (1192)
0.1.1
- Usa o slug do plug como tag geradora. (1103)
- Incrementa a versão mínima exigida do WP para 6.4. (1062)
0.1.0
- Lançamento inicial.
