如何刪除WordPress網站靜態資源URL地址的查詢字串

remove-query-strings-static-resources

當談及WordPress效能的時候,靜態資源URL地址的查詢字串問題必不可少。網站的CSS和JavaScript檔案通常在其網址的末尾帶有檔案版本,例如domain.com/style.css?ver=4.6。某些伺服器和代理伺服器無法快取查詢字串,即時存在cache-control:public標頭。

刪除它們,有時可以改善快取。這也將修復您可能在GTMetrix和Pingdom等網站效能測試工具看到的警告,即“從靜態資源中刪除查詢字串”。

從靜態資源中刪除查詢字串

從靜態資源中刪除查詢字串

請記住,設定查詢字串通常是有原因的。WordPress開發人員使用檔案版本控制來解決快取問題。例如,如果他們為style.css更新了一個版本,從?ver=4.6迭代至?ver=4.7,則它將被視為全新的URL,並且不會被快取。如果刪除查詢字串並更新外掛,則可能導致瀏覽器繼續使用快取的版本。在某些情況下,這可能會影響到頁面的外觀,直到快取資源過期或快取完全重新整理為止。

查詢字串還用於開發工作流程中,以便於開發跟蹤版本。

刪除靜態資源URL地址查詢字串

您可以通過兩種不同的方式刪除查詢字串,一種是使用少量程式碼,另一種是使用WordPress外掛。

  1. 使用程式碼從靜態資源中刪除查詢字串
  2. 使用外掛從靜態資源中刪除查詢字串

1.使用程式碼從靜態資源中刪除查詢字串

您可以通過幾行程式碼即可刪除靜態資源URL地址的查詢字串。只需將以下內容新增到WordPress主題的functions.php檔案中即可。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
function remove_query_strings() {
if(!is_admin()) {
add_filter('script_loader_src', 'remove_query_strings_split', 15);
add_filter('style_loader_src', 'remove_query_strings_split', 15);
}
}
function remove_query_strings_split($src){
$output = preg_split("/(&ver|\?ver)/", $src);
return $output[0];
}
add_action('init', 'remove_query_strings');
function remove_query_strings() { if(!is_admin()) { add_filter('script_loader_src', 'remove_query_strings_split', 15); add_filter('style_loader_src', 'remove_query_strings_split', 15); } } function remove_query_strings_split($src){ $output = preg_split("/(&ver|\?ver)/", $src); return $output[0]; } add_action('init', 'remove_query_strings');
function remove_query_strings() {
   if(!is_admin()) {
       add_filter('script_loader_src', 'remove_query_strings_split', 15);
       add_filter('style_loader_src', 'remove_query_strings_split', 15);
   }
}

function remove_query_strings_split($src){
   $output = preg_split("/(&ver|\?ver)/", $src);
   return $output[0];
}
add_action('init', 'remove_query_strings');

重要提示:  如果操作不正確,編輯WordPress主題原始碼可能會影響網站執行。如果你對程式碼不熟悉,建議找開發代勞。或者,也可以利用免費的Code Snippets外掛,支援以外掛的方式新增上面的程式碼,你又不必擔心新增程式碼會使網站癱瘓,相對保險很多。

只需建立一個新程式碼段並新增上面的程式碼即可。選擇“僅在站點前端執行”,然後儲存程式碼段。查詢字串就會被刪除!可能需要清除WordPress網站快取,才能看到更改在前端生效。

刪除查詢字串程式碼段

刪除查詢字串程式碼段

帶查詢字串(程式碼前)
這是一個使用查詢字串載入指令碼的示例。

帶查詢字串的請求

帶查詢字串的請求

沒有查詢字串(程式碼後)
這是刪除查詢字串後的指令碼示例。

沒有查詢字串的請求

沒有查詢字串的請求

2.使用外掛刪除靜態資源URL地址查詢字串

如果你不想操作程式碼,另外一個替代方法是使用WordPress外掛。通過安裝啟用Perfmatters外掛,你只需要單擊按鈕即可實現一鍵刪除靜態資源URL地址的查詢字串。當然除了該功能,外掛還可以幫助你實現WordPress網站其他優化。

使用Perfmatters外掛刪除查詢字串

使用Perfmatters外掛刪除查詢字串

沒有更多的查詢字串

通過以上任一選項後,再使用GTMetrix或Pingdom等網站速度測試工具對網站執行測試,有關查詢字串的警告就完全消失了。

remove-query-strings-from-static-resources-warning-1

修復“刪除靜態資源警查詢字串”警告

評論留言

脣槍舌劍 (2)

  • 奶爸建网站笔记的頭像

    奶爸建网站笔记

    2020.6.13 12:06

    很多优化插件都带了这个功能了,不需要自己用代码了。

    回覆
    • wbolt的頭像

      wbolt

      2020.6.13 13:06

      不也提到插件办法啦,其实最好的方式就是自己手动执行。