我们的网站使用WordPress。当我们访问URL时https://www.datanumen.com/outlook-repair/?utm_source=adword 通过Chrome和FireFox等浏览器,我们可以看到一切都很好。然而,谷歌广告报道"Destination not working" URL错误,详细信息显示"HTTP error 403".
咨询谷歌专家后,他们使用https://httpstatus.io/ 并查找https://www.datanumen.com/outlook-repair/?utm_source=adword 将返回403代码。
但是,如果从URL中删除参数,则URLhttps://www.datanumen.com/outlook-repair/ 将返回200代码。
因此,URL中的参数似乎使其返回403代码以进行类似bot的访问。
我们找到了一个类似的帖子WordPress 403 issue when passing parameters in the URL, 但我们没有安装Cerber安全插件。我们使用WordFence Premium。我们试图禁用WordFence,但问题仍然存在。
我们尝试其他URLhttps://www.datanumen.com/outlook-repair-order/?utm_source=adword 它返回200。它和https://www.datanumen.com/outlook-repair/?utm_source=adword 后者是一个自定义帖子,我们使用Yoast SEO从永久链接中删除该类别。看来问题就出在这里。但我们不知道确切的原因。根据我们公司的要求,我们必须从permalink中删除该类别。
那么,如何解决这个问题呢?
Update:
我检查原始访问日志并找到以下相关行:
173.212.203.156 - - [22/Jun/2020:17:32:55 -0700] "HEAD /outlook-repair/?utm_source=adword HTTP/1.1" 403 - "https://www.datanumen.com/outlook-repair/?utm_source=adword" "WordPress/5.3.4; https://newproxylists.com"
173.212.203.156 - - [22/Jun/2020:17:32:56 -0700] "GET /outlook-repair/?utm_source=adword HTTP/1.1" 403 18394 "https://www.datanumen.com/outlook-repair/?utm_source=adword" "WordPress/5.3.4; https://newproxylists.com"
Update 2
更多测试:
禁用WordFense。仍然是403禁用WOrdFense并清除缓存。仍然是403禁用WordFense、Yoast SEO、WPfast缓存。仍然是403
Update 3
看来
https://webmasters.stackexchange.com/questions/128675/can-i-test-if-my-sites-urls-have-403-errors-for-google-ads-bot 提到了和我一样的问题。
Update 4
我使用UpdraftPlus Migrator克隆网站
https://www.datanumen.com/ 到
http://www.sybase-recovery.com/ , 然后在两个站点上进行测试,前者将返回403,后者将返回200。
Update 5
在更新4中,我对旧站点和新站点进行了更彻底的测试,最后在新站点中找到一个URL也返回403。新站点中的所有其他URL将继续返回200。stackexchange不再允许我在这篇文章中添加更多URL。无论如何,我可以从新站点中的特定URL开始查看问题所在。
SO网友:Michael Cropper
我可以保证,在您的技术堆栈(边缘CDN、防火墙、Web服务器、WordPress插件)的某个地方,您配置了一些东西,每当您尝试访问站点上的URL而未设置User Agent标头时,都会抛出403错误。因此,为什么当您在浏览器中访问时它会工作(因为它将包含用户代理标题),为什么当Google广告正在爬行时它会失败(可能是因为他们用于爬行的用户代理标题不在您的白名单中)。
用邮递员之类的东西进行测试以确认。
这些类型的“安全特性”都是胡说八道,欺骗用户代理头只需很少的知识,因此不可信。无论做什么,都要把它扔掉,因为它显然会带来更多的问题,而不是帮助。。。。然后得到一些提供实际安全性的东西。
事实上刚刚进行了一次快速播放(但将上述内容保留下来以供参考,因为听起来这不是您的问题,但知道它对于调试来说很方便……)。使用WordFence时,这样的插件在检测到“奇怪的查询字符串”时通常会发送403,这通常是设置之一。当你说关闭后问题仍然存在时,你是否也使用了缓存插件?如果是这样的话,请在使用它的任何地方关闭所有缓存(边缘CDN、防火墙、Web服务器、WordPress插件),然后我希望问题会消失。奇怪的是,它只发生在这一页上,这表明它要么被卡在缓存中,要么发生了更奇怪的事情。
调试的下一步,运行这些常用步骤,帮助您缩小问题范围,https://www.contradodigital.com/2016/08/12/how-to-debug-wordpress-problems/
猎得好!