Este plugin no se ha probado con las últimas 3 versiones mayores de WordPress. Puede que ya no tenga soporte ni lo mantenga nadie, o puede que tenga problemas de compatibilidad cuando se usa con las versiones más recientes de WordPress.

Native Lazyload

Descripción

Carga los medios de forma diferida utilizando la característica nativa del navegador. Aprende más sobre el nuevo atributo loading o revisa el ticket del núcleo de WordPress donde se está discutiendo la inclusión de una implementación similar en el núcleo de WordPress.

Si el navegador no es compatible con el atributo loading, el plugin recurre a una solución JavaScript basada en IntersectionObserver. Para el caso de que JavaScript esté desactivado, pero el atributo loading sea compatible con el navegador, se añadirá una variante noscript del elemento respectivo que también incluye el atributo loading sin más cambios.

«Nativo» significa «rápido»

Si has encontrado el camino hasta aquí, probablemente seas consciente de lo crucial que es el rendimiento para la experiencia y el éxito del usuario de una web. También puede que sepas que la carga diferida es una característica clave para mejorar dicho rendimiento. Sin embargo, las soluciones para la carga diferida hasta ahora todavía añaden un poco de sobrecarga por ellas mismas, ya que dependen de la carga, el análisis y la ejecución de una lógica JavaScript personalizada, que puede ser más o menos pesada en el rendimiento.

Este plugin elimina en gran medida este patrón. Se basa en el nuevo atributo loading, que hace que la carga diferida sea una funcionalidad nativa del navegador. El atributo ya es compatible con Chrome y se implementará en otros navegadores con el tiempo. La solución «nativa» significa que no se basa en una lógica de JavaScript personalizada y, por lo tanto, es más ligera. Y «más ligero» significa «más rápido».

Por último, pero no menos importante, una buena cosa a tener en cuenta es que este plugin mejorará esencialmente a sí mismo con el tiempo, a medida que más navegadores vayan siendo compatibles con el atributo loading.

Uso

Simplemente activa el plugin y todas tus imágenes e iframes en el contenido de las entradas se cargarán en diferido.

Agradecimientos

Este plugin está parcialmente basado en la lógica de WP Rig así como en las recomendaciones de web.dev y developers.google.com.

Instalación

  1. Sube la carpeta completa native-lazyload al directorio /wp-content/plugins/ o descárgalo a través del escritorio de WordPress.
  2. Activa el plugin a través del menú «Plugins» de WordPress.

FAQ

¿Dónde están los ajustes del plugin?

Este plugin no tiene una pantalla de ajustes. Con solo activarlo, el plugin funcionará.

¿Cómo puedo evitar que una imagen o un iframe se cargue en diferido?

Puedes añadir una clase skip-lazy para indicarle al plugin que te gustaría omitir la carga diferida para esta imagen o iframe.

¡Este plugin aún carga un archivo JavaScript adicional! No quiero eso.

Esto es perfectamente justo. Ten en cuenta que el plugin solo carga el archivo JavaScript como respaldo cuando el navegador del usuario aún no es compatible con el atributo nativo loading. El archivo incluye la lógica para seguir cargando la imagen automáticamente de forma no nativa. Si prefieres confiar únicamente en el atributo loading y no proporcionar ningún respaldo, puedes desactivarlo fácilmente añadiendo la línea add_filter('native_lazyload_fallback_script_enabled', '__return_false') en alguna lugar del código base de tu sitio.

¿Funciona con AMP?

Si usas AMP, en realidad no lo necesitas, puesto que AMP ya incorpora la carga diferida de medios. Aún así, el plugin está construido de manera que no rompa la compatibilidad con AMP, solo para asegurarse.

¿Dónde debo enviar mi solicitud de soporte?

Para solicitudes de soporte normales, por favor, usa los foros de soporte de wordpress.org. Si tienes un problema técnico con el plugin, del que ya tengas más información sobre cómo corregirlo, en su lugar, también puedes abrir el problema en GitHub.

¿Cómo puedo contribuir al plugin?

Si tienes algunas ideas para mejorar el plugin o para resolver un fallo, no dudes en plantear el problema o enviar una solicitud de extracción en el repositorio del plugin en GitHub. Por favor, atente a las directrices de contribución.

También puedes contribuir con el plugin traduciéndolo. Para comenzar, simplemente visita translate.wordpress.org.

Reseñas

31 de diciembre de 2020
This plugin adds loading="lazy" and then, the browser lazy loads the image. I think that native lazy loading performed by the browser is the only viable solution for lazy loading. For many years, I tried to implement lazy loading on my websites. I faced many issues. Once images were not crawled. Once my website was penalized because of cloaking. Versions differed depending on the client. I am enough with javascript scripts that slow down the pageload and negatively impact the pagespeed insight. I think that for now and in the future, the native lazy loading is the only way to go for lazy loading.
27 de febrero de 2020
First, did not break my site and it did lazyload most of the page images. It does not lazyload images if they are served from a different host. Example, unbounce, etc. I will add another caveat, all of my images and their versions are always carefully resized and highly compressed. Checked with lighthouse and my score took a hit downwards. 13 points down on performance score. I tested on my Staging area, uncached. FCP went from 2.1s to 4.2s, all of the other metrics, including time to interactive, CPU idle, speed index and First Meaningful Paint took a dive. I will chuck this to I was already hyperoptimized and lazy loading is not truly needed on my site/s. But I would advise others to try it out (not on their live site) and test speed with Google Lighthouse before and after.
17 de febrero de 2020
Seems to work well. On browsers that don't support lazy loading, it doesn't seem to load the images as soon as I would like. As in there can be a bit of a delay between scrolling and the image appearing on screen. Not to bad though. Not going to worry about it as native image loading is the way of the future and will be implemented into more browsers.
Leer todas las 31 reseñas

Colaboradores y desarrolladores

«Native Lazyload» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

«Native Lazyload» está traducido en 16 idiomas. Gracias a los traductores por sus contribuciones.

Traduce «Native Lazyload» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

1.0.2

  • Fix broken images which are using data URI scheme (e.g. base64-encoded images). Props ieim.
  • Fix images in IE 11 not being loaded until the user starts scrolling. Props Soean.
  • Fix image loading script not working in IE10 and other browsers that do not support dataset.

1.0.1

  • Improve compatibility with other plugins by using more specific class and only adding it for JS fallback.
  • Run lazy-load script on DOMContentLoaded when necessary to improve compatibility with plugins like Autoptimize.
  • Do not transform elements inside an AJAX response due to lack of predictability of the context and script execution.

1.0.0

  • Versión inicial