如何防止谷歌抓取javascript中的部分url

How to prevent Google from crawling partial url found in javascript?

本文关键字:url javascript 何防止 谷歌 抓取      更新时间:2023-09-26

我最近在谷歌搜索控制台中添加了一个网站,显示了很多404个错误,所有错误都有相同的模式:

https://example.com/metas?some_id=247

该页面不存在,并且链接到网站上的任何位置。但当我检查要作为引用的页面的源代码时,我有一个带有以下代码的脚本标记:

$.ajax({
  url: "/products/" + productId + "/metas?some_id=247",
  dataType: 'script',
  success: function(data) {
    // ...
  },
  error: function(XMLHttpRequest, textStatus, errorThrown) {
    // ...
  }
});

为什么谷歌机器人会抓取这个url,我该如何防止这种情况发生(显然rel="nofollow"在这里是不可能的)?将脚本放在外部.js文件中,而不是页面html代码中的<script>标记,这会有帮助吗?

通常认为在不存在的URL上应用noindex标记是个好主意。

根据您的平台,只需编辑404页面模板以包含<meta name="robots" content="noindex, nofollow" />即可解决许多问题。

对于由于脚本、插件或其他原因而自动生成的棘手URL,您可以使用URL模式匹配来应用noindex标记。

以下是PHP中的一个示例:

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if (strpos($url,'YOURQUERY') !== false) {
echo '<meta name="robots" content="noindex, nofollow" /> '
}