[WordPress] 外掛分享: Serve Static – Automatic WordPress Static Page generator

WordPress 外掛 Serve Static – Automatic WordPress Static Page generator 的封面圖片。

前言介紹

  • 這款 WordPress 外掛「Serve Static – Automatic WordPress Static Page generator」是 2024-04-30 上架。
  • 目前有 100 個安裝啟用數。
  • 上一次更新是 2025-02-08,距離現在已有 84 天。
  • 外掛最低要求 WordPress 5.0 以上版本才可以安裝。
  • 外掛要求網站主機運作至少需要 PHP 版本 7.4 以上。
  • 有 6 人給過評分。
  • 論壇上目前有 5 個提問,問題解答率 20%

外掛協作開發者

rajinsharwar |

外掛標籤

cache | caching | WP Cache | performance | Serve Static |

內容簡介

總結:Serve Static 提供了在 WordPress 中實現靜態頁面緩存的高效、簡單和快速的方法。使用這個外掛可以生成靜態 HTML 的網頁副本,並通過服務器重寫規則進行提供。這將繞過整個 PHP 過程,僅呈現簡單的 HTML 檔案,無需與 PHP 或 MySQL 互動來獲取頁面設計或內容。

1. Serve Static 提供了實珚、簡單和快速的方式,在 WordPress 中實現靜態頁面緩存。
2. 這個外掛將生成網頁的靜態 HTML 副本,並經由服務器的重寫規則進行提供,從而繞過整個 PHP 過程,僅呈現簡單的 HTML 檔案。
3. 如果你的網頁主要是靜態的,像是部落格、投資組合、公司簡介、服務等,此外掛非常有用。
4. 這個外掛也自帶自製的 HTML、CSS 和 JS 壓縮功能,可以自動壓縮靜態檔案,增加 HTML 頁面的輕便性和頁面速度的提升。
5. 使用此外掛,可以自動預熱緩存,以刺激對所有網頁的訪問,以在向訪客提供靜態檔案前創建靜態檔案。

問題與答案:
1. Serve Static 提供了什麼功能?
- 提供了一個實珚、簡單和快速的方法,實現在 WordPress 中靜態頁面緩存。
2. 這個外掛將生成哪種類型的網頁副本?
- 生成靜態 HTML 的網頁副本。
3. Serve Static 適合哪些網頁類型使用?
- 適用於主要是靜態的網頁,如部落格、投資組合、公司簡介和服務等。
4. 描述 Serve Static 外掛的 HTML、CSS 和 JS 壓縮功能。
- 外掛具有自製的 HTML、CSS 和 JS 壓縮功能,可以自動壓縮靜態檔案,提升網頁速度。
5. 如何自動預熱 Serve Static 的緩存?
- 可以使用外掛的「Warm」功能,模擬訪問所有網頁,以在向訪客提供靜態檔案前創建靜態檔案。

原文外掛簡介

Serve Static provides a very efficient, simple and fast way of implementing static page caching in WordPress.
It will generate static HTML copies of your webpages which will be then served using your server rewrite rules. This feature will bypass the whole PHP process and render only a simple HTML file without having to interect with the PHP, or MySQL for getting your page’s design or content.
This plugin is really handy and helpful if your webpages are mainly static, like websites of Blogs, portfolios, company portfolios, service, and many more. This plugin doesn’t support any dynamic content caching, that means, all none of your dynamic content will be showing in the frontend, rather, a static version of that content will be showing.
This plugin also comes with home-made HTML, CSS and JS minification features, which you can use to auto-minify the static files. This ensures more lightness of the HTML pages, and more boost to your page speed. Also, you can auto-warm the cache using the Warm feature, which will stimulate a visit on all your pages, to create the static files before they are served to your visitors.
Usage
After activating the plugin, it will try to modify your .htaccess file. If this is not possible for some reason, make sure to enter the rules by yourself. NOTE: without these .htaccess rules, the static files won’t be served or created. Note that, this is only applicable if you are using a Apache/Litespeed server.
# BEGIN Serve Static Cache
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} !(^|;\s*)wordpress_logged_in_.*$ [NC]
RewriteCond %{REQUEST_URI} !^/(elementor|vc_row|fl_builder|fl-theme-builder) [NC]
RewriteCond %{REQUEST_URI} !^/wp-admin/ [NC]
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} ^$ [NC]
RewriteCond %{DOCUMENT_ROOT}/wp-content/serve-static-cache/$1/index.html -f
RewriteRule ^(.*)$ /wp-content/serve-static-cache/$1/index.html [L]
# END Serve Static Cache

If you the website installed on a sub-folder, like such that “https://test.com/domain1”, is your main domain of your WordPress site, you need to use a different .htaccess code. The plugin will automatically do that for you, but incase you need to do it manually, below is the format you need to follow.
# BEGIN Serve Static Cache
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} !(^|;\s*)wordpress_logged_in_.*$ [NC]
RewriteCond %{REQUEST_URI} !^/(elementor|vc_row|fl_builder|fl-theme-builder) [NC]
RewriteCond %{REQUEST_URI} !^/wp-admin/ [NC]
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} ^$ [NC]
RewriteCond "WP_CONTENT_DIR"/serve-static-cache/"sub-folder domain without slashes"/$1/index.html -f
RewriteRule ^(.*)$ /"sub-folder domain without slashes"/wp-content/serve-static-cache/"sub-folder domain without slashes"/$1/index.html [L]
# END Serve Static Cache

The value of the WP_CONTENT_DIR should be something like: “/home/test.com/public_html/staging/wp-content”
The value of the “sub-folder domain without slashes” should be your folder where WordPress is installed. So, if the WordPress is installed in “https://test.com/staging”, you should enter “staging”.
When using a nginx server, make sure to add the following rules:
# BEGIN Serve Static Cache
location / {
if ($http_cookie !~* "wordpress_logged_in_") {
set $cache_uri $request_uri;

if ($request_uri ~* "^/(elementor|vc_row|fl_builder|fl-theme-builder)") {
set $cache_uri "null cache";
}

if ($request_uri ~* "^/wp-admin/") {
set $cache_uri "null cache";
}

if ($request_method = GET) {
set $cache_uri "null cache";
}

if (-f $document_root/wp-content/serve-static-cache$cache_uri/index.html) {
set $cache_file $document_root/wp-content/serve-static-cache$cache_uri/index.html;
}

if ($cache_file) {
rewrite ^ /wp-content/serve-static-cache$cache_uri/index.html break;
}
}
}
# END Serve Static Cache

This plugin creates static HTML versions of your pages/posts, or literally any custom post types, and serves them to your non-logged-in visitors. This is an awesome way to make your website blazing fast, and not even one request is made to PHP to request your pages.
Anytime a Static page/post/any custom post type is updated, the cache of that specific page is automatically cleared, and regenerated. So, you do not have to worry about regenerating the cache eac time after making changes to your content.
This plugin is also well-integrated with frontend post rating plugins as well, so that when any rating is added, the cache gets regenerated automatically. If you are using any rating plugins that are not working with this plugin, kindly let me know in the support forum.
This plugin heavily relies on CRON to process it’s functionalities. So please make sure either your server-level cron or WordPress Cron is running and working. If not, this plugin will show errors in the Admin Notices to help you direct to the problem. If there are still many issues, kindly share in the plugin support thread.
By default, this plugin automatically works with Apache and Litespeed servers, and everywhere .htaccess rules is functional. But to make this plugin work with NGINX, you will be needing to add some rules to your nginx.conf or site.conf file. An appropiate admin notice will be shown to you accordingly, kindly follow those instructions.
This plugin is supposed to work with all the form builder plugins like WP Forms, Ninja Forms. If you face any issues while using any form plugin, kindly let me know in the thread, and I will try to make it compitable.
Performance
Converting your website to a static webpage can drastically improve your performance and page speed. Serve Static eliminates all requests made to your database and ultimately reducing the first time to byte, total blocking time and many more.
This is especially impactful for websites that have mainly static pages, and use long pages with a lot of graphs, sliders, and other load-heavy resources like animations.
Reduce hosting bandwidth
Using Serve Static to serve static HTML pages of your website really cuts a great cost in your bandwidth usage, as this doesn’t hit the MySQL server for your visitors, but instead serves delivers a cached, minified HTML copy. This releases much of your cost, alongside the page boost.
We are working on features like “hosting your Static pages in a third party CDN, and serving those to your visitors”. If you are interested to see this feature in soon, let me know by opening a supprt thread!
NOTE
Caching is fully disabled for Administrators, or any logged-in users. Static Cache will only be served to logged-out visitors of your site.
Note that, the Static Cache can only be regenerated by using the buttons in the admin toolbar, or in the Settings page. After the cache is Flushed, the cache is NOT regenerated when someone visits the pages. This is done so that none of the personalized content gets saved in the HTML caches.
This plugin may not work as expected with a caching plugin like WP Rocket or W3 Total Cache. So make sure the URLs of the static pages are excluded from the specific plugins.
For example, when using WP Rocket, you need to navigate under Settings > WP Rocket > Advanced Rules > Never Cache URLs, and enter the URLs to the pages you want to serve as Static.
When using W3 Total Cache, navigate under Performance > Page cache > Advanced > Never cache the following pages.

各版本下載點

  • 方法一:點下方版本號的連結下載 ZIP 檔案後,登入網站後台左側選單「外掛」的「安裝外掛」,然後選擇上方的「上傳外掛」,把下載回去的 ZIP 外掛打包檔案上傳上去安裝與啟用。
  • 方法二:透過「安裝外掛」的畫面右方搜尋功能,搜尋外掛名稱「Serve Static – Automatic WordPress Static Page generator」來進行安裝。

(建議使用方法二,確保安裝的版本符合當前運作的 WordPress 環境。


1.1 | 2.0 | 2.1 | 2.2 | 2.3 | 2.4 | 1.0.1 | 1.0.2 | 1.0.3 | 1.0.4 | trunk |

延伸相關外掛(你可能也想知道)

文章
Filter
Apply Filters
Mastodon