# 怎么移除WordPress网站链接中的参数？

- 原文链接：https://www.xintheme.com/wpjiaocheng/173348.html
- 发布日期：2023-04-16
- 更新时间：2023-10-16
- 作者：大胡子 | XinTheme
- 分类目录：WordPress教程
- 标签：优化WordPress网站、移除WordPress链接参数

## 摘要

最近有几个用户遇到了网址链接被刷广告词的问题，🙄 然后链接竟然还被百度收录了... 比如正常的链接应该是：https://www.xintheme.cn ，被刷...

## 正文

最近有几个用户遇到了网址链接被刷广告词的问题，🙄 然后链接竟然还被百度收录了...

比如正常的链接应该是：https://www.xintheme.cn ，被刷了广告词的链接就是：https://www.xintheme.cn?ad=违规词违规词违规词违规词违规词违规词。

[![](https://www.xintheme.com/wp-content/uploads/2023/04/WX20230416-145433@2x.png)](https://www.xintheme.com/wp-content/uploads/2023/04/WX20230416-145433@2x.png)如果刚好这样的链接被收录了，那么当访客从搜索引擎通过这个链接进入你网站的时候，浏览器中的网址栏就会出现这样的违规词，用户体验很差，访客有被误导的风险，**存在重复页面对网站SEO优化也非常不好。**

因此，移除这些查询参数也是优化WordPress网站的一个重要步骤，下面直接上代码，添加到当前使用的[WordPress主题](https://www.xintheme.com/)的functions.php中。

```
//移除网址链接中的参数，避免被刷广告
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重定向至不带参数的链接
        wp_redirect(strtok($current_url, '?'), 301);
        exit();
    }
}
add_action('template_redirect', 'dhz_remove_query_strings');
```

这段代码的作用是在WordPress的`template_redirect`钩子上运行一个回调函数，用于移除当前页面的所有查询参数并将用户重定向到没有查询参数的新URL。

**具体来说，该函数执行以下操作：**

1. 检查当前页面是否是后台页面或搜索页面。如果是，则不进行任何操作，直接返回。
2. 检查当前URL是否包含查询参数。如果没有，则不进行任何操作，直接返回。
3. 如果当前URL包含查询参数，则使用`home_url()`函数获取当前站点的主页URL，并使用`add_query_arg()`函数获取当前页面的完整URL。
4. 然后，使用`strtok()`函数将所有查询参数从当前URL中删除，并使用`wp_redirect()`函数将链接301重定向到新的没有任何查询参数的URL，最后使用`exit()`函数终止执行。