Descrición
LazyLoad é o mellor plugin gratuíto de carga diferida para WordPress para cargar de forma diferida imaxes, vídeos e iframes. En resumo, LazyLoad mostra imaxes, vídeos e iframes dunha páxina só cando son visibles para o usuario; é unha forma esencial de acelerar o teu sitio WordPress e optimizar as imaxes para Google PageSpeed.
Podes aplicar a carga diferida ás imaxes do contido das entradas ou do texto dos widgets, ademais de miniaturas, avatares e emoticonas. LazyLoad tamén se encarga da carga diferida de iframes: substituirás facilmente os iframes de Youtube por unha miniatura de vista previa para acelerar aínda máis o tempo de carga da túa web.
Non se usa ningunha biblioteca de JavaScript como jQuery, e o peso do script é inferior a 10 KB.
Por que é crucial a carga diferida para o rendemento?
A carga diferida é unha técnica de rendemento clave para que o teu sitio sexa máis rápido. Reducirás o tempo de carga, mellorarás a túa puntuación de rendemento en Lighthouse e optimizarás as túas notas de Core Web Vitals.
Aplicar a carga diferida ás túas imaxes en WordPress axudarate a conseguir unha mellor puntuación en PageSpeed Insights por tres motivos principais:
- Atenderás unha recomendación específica de PageSpeed Insights: [Defer offscreen images](https://wp-rocket.me/google-core-web-vitals-wordpress/defer-offscreen-images/, que significa a carga diferida de imaxes.
- Mellorarás o rendemento de dúas métricas clave: First Input Delay (Core Web Vital) e Total Blocking Time (métrica de Lighthouse).
- Farás menos solicitudes HTTP, outra forma de aumentar a velocidade do teu sitio e mellorar a puntuación de Largest Contentful Paint (outro Core Web Vital).
Bota un ollo á nosa lista completa de motivos para usar a carga diferida. Despois, activa LazyLoad e fai que a túa web de WordPress sexa máis rápida!
Dependencias
Script de LazyLoad: https://github.com/verlok/lazyload
Instalación
- Sube o cartafol completo
rocket-lazy-loadao directorio/wp-content/plugins/ - Activa o plugin a través do menú «Plugins» de WordPress
Preguntas frecuentes
-
Como podo usar a carga diferida nativa?
-
Para usar a carga diferida nativa nos navegadores que sexan compatibles con esta característica, tes que usar a seguinte liña:
add_filter( 'rocket_use_native_lazyload', '__return_true' );Os navegadores que non sexan compatibles coa carga diferida nativa usarán a solución baseada en JS como antes.
-
Como podo desactivar a carga diferida nalgunhas páxinas?
-
Podes usar o filtro
do_rocket_lazyload.Aquí tes un exemplo para poñer nos arquivos functions.php que desactiva a carga diferida nas entradas:
add_action( 'wp', 'deactivate_rocket_lazyload_on_single' ); function deactivate_rocket_lazyload_on_single() { if ( is_single() ) { add_filter( 'do_rocket_lazyload', '__return_false' ); } } -
Como podo desactivar a carga diferida nalgunhas imaxes?
-
Simplemente engade unha propiedade
data-no-lazy="1"na túa etiquetaimgouiframe.Tamén podes usar os filtros
rocket_lazyload_excluded_attributesourocket_lazyload_excluded_srcpara excluír padróns específicos.Para os iframes, o filtro é
rocket_lazyload_iframe_excluded_patterns. -
Como podo cambiar o límite para activar a carga?
-
Podes usar o filtro
rocket_lazyload_threshold.Exemplo de código:
function rocket_lazyload_custom_threshold( $threshold ) { return 100; } add_filter( 'rocket_lazyload_threshold', 'rocket_lazyload_custom_threshold' ); -
Como eliminar a etiqueta “
-
Podes usar o filtro
rocket_lazyload_noscriptpara desactivar a adición da etiqueta<noscript>que se usa por compatibilidade cando JS está desactivado.add_filter( 'rocket_lazyload_noscript', '__return_false' ); -
Como cambiar o marcador de posición das imaxes con carga diferida
-
Podes usar
rocket_lazyload_placeholderpara cambiar o marcador de posición por defecto das imaxes con carga diferida.function rocket_lazyload_custom_placeholder( $placeholder ) { return 'default.jpg'; } add_filter( 'rocket_lazyload_placeholder', 'rocket_lazyload_custom_placeholder' ); -
Como cambiar a saída HTML antes de enviala ao navegador
-
Podes usar o filtro
rocket_lazyload_htmlpara modificar a saída HTML xerada despois de aplicar a carga diferida e antes de enviala ao navegador. -
Como excluír vídeos de YouTube da carga diferida
-
Podes usar o filtro
rocket_lazyload_exclude_youtube_thumbnailpara excluír os padróns que coincidan cos vídeos de YouTube aos que non queres aplicar a carga diferida.function rocket_lazyload_exclude_youtube( $patterns ) { $patterns[] = 'string_to_match'; return $patterns; } add_filter( 'rocket_lazyload_exclude_youtube_thumbnail', 'rocket_lazyload_exclude_youtube' ); -
Uso o plugin X e as miñas imaxes xa non se mostran
-
Algúns plugins non son compatibles coa carga diferida. Abre un tema de soporte e veremos como resolver o problema excluíndo a carga diferida para ese plugin.
-
Como podo aplicar a carga diferida a unha imaxe de fondo?
-
O plugin aplicará automaticamente a carga diferida ás imaxes de fondo establecidas cun atributo
stylenun elementodiv:<div style="background-image: url(image.jpg);">Tamén podes aplicala manualmente. O elemento ao que queres aplicar a carga diferida debe ter este marcado específico:
<div class="rocket-lazyload" data-bg="url(../img/image.jpg)"></div>O elemento debe ter a clase
rocket-lazyloade un atributodata-bg, cuxo valor é a URL CSS da imaxe. -
Onde informo dos erros de seguridade atopados neste plugin?
-
Podes informar de calquera fallo de seguridade que atopes no código fonte do plugin site-reviews a través do Programa de divulgación de vulnerabilidades de Patchstack. O equipo de Patchstack axudarate coa verificación, a asignación de CVE e encargarase de avisar aos desenvolvedores deste plugin.
-
- Imagify: o mellor optimizador de imaxes para acelerar a túa web con imaxes máis lixeiras.
- WP Rocket: o mellor plugin de rendemento para acelerar a túa web de WordPress.
- Heartbeat Control by WP Rocket: o mellor plugin para controlar a API Heartbeat de WordPress e reducir o uso da CPU.
- RocketCDN: o mellor plugin de CDN para WordPress para impulsar o teu contido á velocidade da luz, estean onde estean os teus usuarios no mundo.
- Increase Max upload file size é o mellor plugin para aumentar o límite de tamaño dos arquivos subidos a calquera valor cun só clic.
Comentarios
Colaboradores e desenvolvedores
“LazyLoad Plugin – carga diferida de imaxes, vídeos e iframes” é un software de código aberto. As seguintes persoas colaboraron con este plugin.
Colaboradores“LazyLoad Plugin – carga diferida de imaxes, vídeos e iframes” foi traducido a 16 idiomas. Grazas aos desenvolvedores polas súas contribucións.
Traduce “LazyLoad Plugin – carga diferida de imaxes, vídeos e iframes” ao teu idioma.
Interesado no desenvolvemento?
Revisa o código, bota unha ollada aorepositorio SVN, ou subscríbete ao log de desenvolvemento por RSS.
Rexistro de cambios
2.4.1
Corrección: mellora a detección de atributos para imaxes de fondo e reforza a renderización das miniaturas de YouTube (rocket-lazyload-common 3.0.22)
2.4.0
Seguridade: corrixe unha vulnerabilidade de Cross-Site Scripting (XSS) almacenado e autenticado informada por Pathstack.
2.3.9
Versión actualizada para corrixir unha diferenza entre a etiqueta da versión en Github e a versión lanzada, que provocaba un problema de despregamento.
2.3.8
Mellora: compatibilidade con Launchpad (ver https://github.com/wp-launchpad)
Mellora: ampliada a compatibilidade con PHP > 7.3
Bug: eliminado wp-media/rocket-lazyload-common dos vendors
Mellora: actualizado wp-media/rocket-lazyload-common a 3.0
2.3.7
Corrección: eliminado o filtro rocket_lazyload_polyfill debido a unha vulnerabilidade en polyfill
2.3.5
Mellora: proba do plugin coa última versión de WordPress v5.9.3
Mellora: cambio do contido do readme de WP.
2.3.4
Mellora: permite que as etiquetas <a> apliquen a carga diferida a imaxes de fondo
Mellora: engade a etiqueta aos elementos picture con carga diferida
Corrección: evita un erro fatal relacionado co conflito do paquete League Container con WooCommerce 4.4
Corrección: actualiza a carga diferida para o soporte de imaxes de fondo coa nova versión do script de carga diferida
Corrección: aplica correctamente a clase rocket-lazyload en elementos cunha imaxe de fondo e un valor de clase baleiro
Corrección: aplica correctamente a clase rocket-lazyload en elementos con HTML mal formado
Corrección: evita un problema de visualización coas imaxes de fondo cando se usan distintos tipos de comiñas arredor da URL
Corrección: evita que o deseño se rompa cando o atributo alt ten caracteres codificados en HTML
2.3.3
Mellora: engade a clase data-skip-lazy e skip-lazy á lista de exclusións como parte da iniciativa de interoperabilidade entre plugins de carga diferida
Mellora: usa a carga diferida nativa só se o filtro rocket_use_native_lazyload é verdadeiro
Mellora: aplica a carga diferida a imaxes de fondo establecidas en elementos figure
Corrección: engade correctamente a clase rocket-lazyload cando o atributo class está baleiro nun elemento cunha imaxe de fondo
Corrección: substitúe correctamente o iframe de YouTube pola imaxe de vista previa cando se usa o protocolo relativo
Corrección: conserva youtube-nocookie.com durante LazyLoad
2.3.2
Corrección: caracteres incorrectos no código HTML da miniatura de Youtube
2.3.1
Corrección: evita un conflito con WP Rocket
Corrección: aplica loading=”lazy” á miniatura de Youtube
Corrección: engade o atributo autoplay ao iframe cargado coa miniatura de Youtube
2.3
Mellora: engade soporte para a carga diferida nativa do navegador
Corrección: evita imaxes rotas nalgúns casos no elemento picture
Corrección: evita atributos lazy incorrectos para srcset e sizes nunha imaxe dentro dun elemento picture
2.2.3
- Mellora: mellora a compatibilidade co elemento picture
- Mellora: aplica a carga diferida a imaxes de fondo establecidas en elementos section, span e li
- Mellora: pasa tamén os valores $width e $height ao filtro rocket_lazyload_placeholder
- Corrección: usa 0 en vez de 1 para as dimensións do marcador de posición por defecto para mellorar a compatibilidade
- Corrección: mellora o soporte do scroll infinito
- Corrección: exclúe da carga diferida as imaxes de fondo avia-background-fixed e data-large_image de Enfold
2.2.2
- Corrección: exclúe automaticamente o atributo data-height-percentage para evitar problemas de visualización
- Corrección: xestiona de novo correctamente os vídeos adaptables que usan fitVids
2.2.1
- Mellora: engade unha forma de personalizar as opcións do script de carga diferida
- Corrección: evita un erro en Internet Explorer 11
- Corrección: evita un conflito coas mostras de variación de WooCommerce
- Corrección: evita un
srcbaleiro cando a imaxe é un base64 integrado - Corrección: evita un problema cando o atributo
srcorixinal usa comiñas simples
2.2
- Mellora: actualiza o script de carga diferida á última versión
- Mellora: usa as dimensións da imaxe orixinal para o tamaño do marcador de posición cando sexa posible, para reducir o reflow do contido
- Mellora: ignora as imaxes que usan o novo atributo loading introducido por Chrome para a carga diferida nativa do navegador
2.1.5
- Corrección: evita coincidir cos datos incorrectos cando hai un atributo data-style nun div para imaxes de fondo
- Elimina data-cfasync=”false” por defecto
- Mellora: engade o filtro rocket_lazyload_script_tag para modificar o HTML do script de carga diferida se é necesario
- Mellora: engade o atributo data-no-minify á etiqueta do script de carga diferida para evitar que os combinadores de JS o combinen
- Mellora: mellora o código de MutationObserver para chamar ao método de actualización da carga diferida só se unha imaxe/iframe ou elemento con .rocket-lazyload está contido nos novos nodos engadidos ao DOM
2.1.4
- Corrección de regresión: exclúe de novo correctamente os scripts da carga diferida
2.1.3
- Corrección: ignora o contido dentro das etiquetas noscript para evitar modificalas e causar problemas de visualización
2.1.2
- Mellora: actualiza o script de carga diferida á última versión
- Mellora: engade unha forma de aplicar a carga diferida á imaxe en miniatura de Youtube
- Mellora: engade os atributos width e height á imaxe en miniatura de Youtube segundo a resolución
- Mellora: desactiva por defecto o polyfill para intersectionObserver e engade unha forma de activalo
- Mellora: engade data-cfasync=”false” á etiqueta do script de carga diferida
- Mellora: evita a carga diferida no editor de páxinas de Oxygen Builder
- Corrección: envolve o CSS sen JS nunha etiqueta noscript e elimina o identificador no-js
2.1.1
- Corrección: aplica correctamente a carga diferida aos elementos
picture - Corrección: evita a dobre carga dunha imaxe cando un elemento
imgdentro dun elementopicturesó ten un atributosrcsete ningún atributosrc
2.1
- Mellora: actualiza o script de carga diferida á última versión
- Mellora: aplica a carga diferida aos elementos picture atopados na páxina
- Mellora: aplica a carga diferida aos elementos div cunha imaxe de fondo atopados na páxina. Consulta as FAQ para obter máis información.
2.0.4
- Mellora: engade un filtro para a exclusión de padróns de carga diferida en iframes
- Mellora: exclúe automaticamente da carga diferida o padrón soliloquy-image
- Corrección: evita un problema cando unha imaxe/iframe está duplicada na mesma páxina
- Corrección: evita o erro de validación W3C para o marcador de posición SVG
2.0.3.2
- Corrección: ignora correctamente os scripts integrados con saltos de liña no seu interior
2.0.3.1
- Corrección: corrixe un problema que impedía o funcionamento da carga diferida
2.0.3
- Corrección: evita unha visualización incorrecta se JavaScript está desactivado
- Corrección: non aplica a carga diferida nas páxinas do editor de Divi/Extra/Beaver Builder
- Corrección: usa a URL correcta para cada iframe cando hai varios iframes na mesma páxina
- Corrección: ignora o contido dentro das etiquetas de script integrado para evitar aplicarlle a carga diferida
2.0.2
- Corrección: corrixe un erro na compatibilidade co plugin AMP
2.0.1
- Corrección: evita un erro fatal en sistemas operativos que distinguen entre maiúsculas e minúsculas
2.0
- Mellora: a carga diferida aplícase agora no gancho template_redirect, o que debería permitir ao plugin aplicar a optimización a máis imaxes e atopar menos conflitos á vez
- Mellora: dirixe especificamente o script de carga diferida aos elementos de imaxes/iframes cun atributo data-lazy-src
- Mellora: actualiza o script de carga diferida á última versión
- Mellora: posibilidade de aplicar a carga diferida a imaxes de fondo cun marcado específico, consulta as FAQ
- Mellora: usa unha imaxe svg como marcador de posición en vez dun gif en base64
- Corrección: usa MutationObserver só se está dispoñible no navegador
- Corrección: ao usar a opción de miniatura de Youtube, formatea correctamente a consulta de Youtube se a URL do vídeo está codificada
- Corrección: mellora a coincidencia de iframes para evitar resultados inesperados
- Corrección: actualiza o CSS da opción de miniatura de Youtube para evitar problemas co bloque de incrustacións de Gutenberg
1.4.9
- Mellora: actualiza o script de carga diferida á última versión dispoñible
- Mellora: usa lazy-sizes para evitar o erro de validación W3C cando se define sizes pero non srcset
- Mellora: analiza imaxes ou iframes só se o elemento está seleccionado para a carga diferida nas opcións
- Corrección: evita a advertencia para lazyload+v en Google Search Console
- Corrección: evita o aviso de PHP con WooCommerce para as imaxes de produto
1.4.8
- Notice: agora a versión mínima de WordPress requirida é a 4.7
- Mellora: actualiza a versión do script de carga diferida
- Mellora: elimina a imaxe do marcador de posición para mellorar o tempo de carga percibido
- Mellora: compatibilidade coa URL de privacidade de Youtube
- Mellora: actualiza a imaxe de reprodución para coincidir co logotipo de Youtube
- Mellora: soporte para os parámetros de URL de Youtube
- Mellora: carga diferida das imaxes mostradas con wp_get_attachment_image(). /!\ sen alternativa se JavaScript está desactivado
- Corrección: usa o tamaño correcto definido en srcset para a imaxe con carga diferida
- Corrección: evita a substitución da miniatura de Youtube nas listas de reprodución
- Corrección: evita a carga diferida de iframes nas páxinas AMP
- Corrección: corrixe o dominio de texto para as traducións (grazas a @ Chantal Coolsma)
1.4.7
- Corrixe a compatibilidade co scroll infinito
- Evita a carga diferida nas imaxes de masterSlider
1.4.6
- Inclúe correctamente a versión 8.5.2 do script de carga diferida
- Evita o erro 404 no script de carga diferida se a URL contén “-v”
1.4.5
- Cambia o nome da páxina de axustes no menú de WP
- Novo banner de produto na páxina de axustes
- Carga condicionalmente unha versión diferente do script segundo a compatibilidade do navegador con IntersectionObserver
- Corrixe un fallo polo que as imaxes inicialmente ocultas non se mostraban correctamente ao aparecer na vista (carruseis, pestanas, acordeóns)
1.4.4
- Redeseño da administración
1.4.3
- O plugin é compatible de novo con PHP < 5.4
1.4.2
- Actualiza o script de carga diferida para recuperar a compatibilidade con IE9/10
1.4.1
- Corrixe un fallo causado por unha limpeza demasiado agresiva
1.4
- Nova opción: substituír os vídeos de Youtube por unha miniatura. Esta opción pode mellorar moito o teu tempo de carga, especialmente se tes varios vídeos na mesma páxina
1.3.3
- 2017-09-16
- Evita que se eliminen scripts e estilos durante a análise do HTML
1.3.2
- 2017-09-12
- Corrixe imaxes que non se mostraban en certas condicións porque a exclusión de atributos de imaxe non funcionaba correctamente
1.3.1
- 2017-09-07
- Non aplica a carga diferida ao carrusel de Divi
1.3
- 2017-09-01
- Mellora a análise do HTML de imaxes e iframes para que sexa máis rápida e eficiente
- Fai que a carga diferida sexa compatible con fitVids para iframes
- Non aplica a carga diferida nas páxinas AMP (compatible co plugin AMP de Automattic)
- Usa about:blank como marcador de posición por defecto dos iframes para evitar advertencias na consola do navegador
- Non aplica a carga diferida á miniatura de upPrev
1.2.1
- 2017-08-22
- Corrixe a falta do script de carga diferida
- Non aplica a carga diferida ás imaxes nas solicitudes da API REST
1.2
- 2017-08-22
- Actualiza o script de carga diferida á última versión
- Cambia a forma de cargar o script
1.1.1
- 2017-02-13
- Bug fix: elimina o uso da etiqueta curta para evitar o erro 500 nalgunhas instalacións
1.1
- 2017-02-12
- Novo
- Biblioteca JS actualizada
- Soporte para iFrame
- Soporte para srcset e sizes
- Nova páxina de opcións
1.0.4
- 2015-04-28
- Bug Fix: resolto un conflito entre LazyLoad & Emoji desde WordPress 4.2
1.0.3
- 2015-01-08
- Bug Fix: non aplica LazyLoad ao captcha de Really Simple CAPTCHA para evitar conflitos.
1.0.2
- 2014-12-28
- Mellora: engade o filtro « rocket_lazyload_html » para xestionar a saída que se imprimirá.
1.0.1.1
- 2014-07-25
- Corrixe un erro parvo coa nova expresión regular na 1.0.1
1.0.1
- 2014-07-16
- Bug Fix: cando unha etiqueta IMG ou o contido (widget ou entrada) contén a cadea “data-no-lazy”, ignorábanse todas as etiquetas IMG en vez dunha soa.
- Security fix: preg_replace() podería levar a unha vulnerabilidade XSS, grazas a Alexander Concha
- Cumprimento do código
1.0
- 2014-01-01
- Versión inicial.
