[WordPress] 外掛分享: Lazyload, Preload, and More!

首頁外掛目錄 › Lazyload, Preload, and More!
WordPress 外掛 Lazyload, Preload, and More! 的封面圖片
90+
安裝啟用
★★★★★
5/5 分(1 則評價)
892 天前
最後更新
問題解決
WordPress 5.8+ PHP 7.4+ v1.0.4 上架:2023-05-02

內容簡介

這是一款簡易又輕量化的 WordPress 外掛,能夠滿足 Google PageSpeed Insights、 Lighthouse 和網站的整體使用者體驗。這個外掛能自動將頁面中未顯示的圖片、iframe 或影片進行懶載入 (lazyload)、預載首頁、內頁、產品頁等常見頁面的特色圖片,並將無需懶載入的圖片或有特定標籤的圖片加上 loading=”eager”。使用者可以使用篩選器來自訂某些預設設定,並且這個外掛是 Optimize More! – Images 的簡化版,如果使用者想使用 UI 來進一步控制設定,可以試試這個外掛。

問題與答案:

1. 這個 WordPress 外掛有哪些功能?

- 自動應用懶載入 (lazyload)、預載特定圖片、並加上 loading=”eager” 屬性。
- 支援懶載入的內容包括圖片、iframe 和影片,還有 CSS 背景圖片。
- 提供篩選器供使用者自訂部分預設設定。

2. 什麼是 Lazysizes?

Lazysizes 是一個高效能的懶載入 library,由 Alexander Farkas 用純 JavaScript 撰寫,並沒有其他的依賴關係。這個 library 檢測到基於使用者互動、CSS 或 JavaScript 觸發的任何可見度變化,並提供高度的效能與 SEO 友善的懶載入功能。

3. 這個 WordPress 外掛的篩選器提供哪些設定?

- lpam_extra_exclude_list: 提供自訂懶載入排除清單。
- lpam_lazysizes_js_before: 更改 Lazysizes 設定。
- lpam_preload_featured_images_image_size: 更改預載首頁或內頁的特色圖片大小。

4. 這個 WordPress 外掛有哪些特別需要注意的事項?

- 這個外掛只在啟用後自動運作,且不會對網站的資料庫進行修改。
- 如果需要進一步控制設定,可以使用 Optimize More! – Images 這個外掛較為完整版。

外掛標籤

開發者團隊

⬇ 下載最新版 (v1.0.4) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「Lazyload, Preload, and More!」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

A drop dead simple and lightweight image, iframe, and video optimization plugin to satisfy Google PageSpeed Insights, Lighthouse, and overall user experience.
This tiny little plugin (around 14kb zipped) will automatically

lazyload your below the fold images/iframes/videos,
preload your featured images (should also works well with WooCommerce product featured image),
add loading=”eager” to your featured image and all images that have no-lazy or skip-lazy class.
add missing image dimension to images that doesn’t have width and height attribute

Features

Lazy Load:

Images, iframes, and videos.
Inline background images.
CSS background image (simply put lazyload class to the background image container)

Preload Featured Images
Automatically preloading featured image from common page/post (homepage, pages except homepage, single post, and WooCommerce single product pages)
Add loading=”eager” attribute to to your featured image and all images that have no-lazy or skip-lazy class.
Add missing image dimension to images that doesn’t have width and height attribute [since 1.0.3]

Should works well with all page builders and theme builders. This plugin also able to lazy loading WooCommerce images and preloading WooCommerce product featured images.
Disclaimer

Lazy load feature are using Lazysizes library (around 3kb, gzipped and minified).
This plugin doesn’t add anything to your database since there’s no settings and options. Everything will automatically activated after you activate the plugin.
You can change some default settings using filter.
This plugin is the simplified version of Optimize More! – Images, if you don’t want to use filters and need to control the settings with UI, you can try that plugin instead of this one.

About Lazysizes
Lazysizes is highly performant lazy load library, written by Alexander Farkas in pure JS with no dependencies.
Taken from lazysize’s github description:
High performance and SEO friendly lazy loader for images (responsive and normal), iframes and more, that detects any visibility changes triggered through user interaction, CSS or JavaScript without configuration.
Filters
Example filter to add extra lazyload exclude list:
add_filter( 'lpam_extra_exclude_list', function($lpam_extra_exclude_list) {
return array(
'my-logo', 'my-hero-img', 'exclude-lazy'
);
} );

Example filter to change lazysizes config (Read the docs):
add_filter( 'lpam_lazysizes_js_before', function($lpam_lazysizes_js_before) {
return 'window.lazySizesConfig = {
expand: 500,
threshold: 500
};'
} );

Example filter to change the image sizes for preload featured image:
add_filter( 'lpam_preload_featured_images_image_size', function($image_size, $post) {
if ( is_singular( 'post' ) ) { return 'large'; }
elseif ( is_singular( 'product' ) ) { return 'full'; }
else { return $image_size; }
}, 10, 2 );

[new since 1.0.2] Example to disable the preload featured image feature in certain page-type:
add_filter('disable_featured_image_preload', function ($disable) {
if ( is_singular( 'post' ) ) {
return true;
}
});

[new since 1.0.3] Example to disable adding image dimension in certain page-type:
add_filter('disable_img_dimension', function ($disable) {
if ( is_singular( 'post' ) ) {
return true;
}
});

[new since 1.0.3] Example to disable this plugin completely in certain page using url:
add_filter('lazy_load_excluded_pages', function ($excludedPages) {
$excludedPages[] = '/page-1';
$excludedPages[] = '/page-2';
return $excludedPages;
});

[new since 1.0.3] Example to disable this plugin completely in certain page using page ID:
add_filter('lazy_load_excluded_page_ids', function ($excludedPageIDs) {
$excludedPageIDs[] = 3678; // Exclude page with ID 1
$excludedPageIDs[] = 3615; // Exclude page with ID 2
return $excludedPageIDs;
});

[new since 1.0.4] To disable the tag:
add_filter('disable_noscript', '__return_true');

 
USEFUL PLUGINS TO OPTIMIZE YOUR SITE’S SPEED:

Optimize More!: A Do It Yourself WordPress Optimization Plugin that give you the ability to:

Load CSS Asynchronously – selectively load CSS file(s) asynchronously on selected post/page types.

Delay CSS and JS until User Interaction – selectively delay CSS/JS load until user interaction on selected post/page types.

Preload Critical CSS, JS, and Font Files – selectively preload critical CSS/JS/Font file(s) on selected post/page types.

Remove Unused CSS and JS Files – selectively remove unused CSS/JS file(s) on selected post/page types.

Defer JS – selectively defer loading JavaScript file(s) on selected post/page types.

Advance Defer JS – hold JavaScripts load until everything else has been loaded. Adapted from the legendary varvy’s defer js method *recommended for defer loading 3rd party scripts like ads, pixels, and trackers

Load Gutenberg CSS conditionally

Remove Passive Listener Warnings

and many more

Other USEFUL PLUGIN:

Shop Extra – A lightweight plugin to optimize your WooCommerce & Business site that makes you able to:

add Floating WhatsApp Chat Widget (can be use without WooCommerce),
add WhatsApp Order Button for WooCommrece,
Hide/Disable WooCommerce Elements,
WooCommerce Strings Translations,
and many more.

Animate on Scroll – Animate any Elements on scroll using the popular AOS JS library simply by adding class names. This plugin helps you integrate easily with AOS JS library to add any AOS animations to WordPress. Simply add the desired AOS animation to your element class name with “aos-” prefix and the plugin will add the corresponding aos attribute to the element tag.

Optimize More!
Need to optimize more? Try my WordPress Page Speed Optimization’s Service.

延伸相關外掛

文章
Filter
Mastodon