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