最近有幾個用戶遇到了網址鏈接被刷廣告詞的問題,?? 然后鏈接竟然還被百度收錄了...
比如正常的鏈接應該是:https://www.xintheme.cn ,被刷了廣告詞的鏈接就是:https://www.xintheme.cn?ad=違規(guī)詞違規(guī)詞違規(guī)詞違規(guī)詞違規(guī)詞違規(guī)詞。
如果剛好這樣的鏈接被收錄了,那么當訪客從搜索引擎通過這個鏈接進入你網站的時候,瀏覽器中的網址欄就會出現(xiàn)這樣的違規(guī)詞,用戶體驗很差,訪客有被誤導的風險,存在重復頁面對網站SEO優(yōu)化也非常不好。
因此,移除這些查詢參數(shù)也是優(yōu)化WordPress網站的一個重要步驟,下面直接上代碼,添加到當前使用的WordPress主題的functions.php中。
//移除網址鏈接中的參數(shù),避免被刷廣告
function dhz_remove_query_strings() {
//跳過后臺和搜索頁面
if (is_admin() || is_search()) {
return;
}
if (strpos($_SERVER['REQUEST_URI'], '?') !== false) {
//獲取當前鏈接
$current_url = home_url(add_query_arg(array()));
//301重定向至不帶參數(shù)的鏈接
wp_redirect(strtok($current_url, '?'), 301);
exit();
}
}
add_action('template_redirect', 'dhz_remove_query_strings');
這段代碼的作用是在WordPress的template_redirect
鉤子上運行一個回調函數(shù),用于移除當前頁面的所有查詢參數(shù)并將用戶重定向到沒有查詢參數(shù)的新URL。
具體來說,該函數(shù)執(zhí)行以下操作:
- 檢查當前頁面是否是后臺頁面或搜索頁面。如果是,則不進行任何操作,直接返回。
- 檢查當前URL是否包含查詢參數(shù)。如果沒有,則不進行任何操作,直接返回。
- 如果當前URL包含查詢參數(shù),則使用
home_url()
函數(shù)獲取當前站點的主頁URL,并使用add_query_arg()
函數(shù)獲取當前頁面的完整URL。 - 然后,使用
strtok()
函數(shù)將所有查詢參數(shù)從當前URL中刪除,并使用wp_redirect()
函數(shù)將鏈接301重定向到新的沒有任何查詢參數(shù)的URL,最后使用exit()
函數(shù)終止執(zhí)行。
新主題官方微信公眾號
掃碼關注新主題(XinTheme)官方公眾號,本站動態(tài)早知道。
發(fā)布本站最新動態(tài)(新主題發(fā)布、主題更新)和WordPress相關技術文章。