0

我网站的每个页面上都有一个表单,您需要从下拉列表中选择 4 个选项才能提交(由 jquery 验证)。

但是,似乎 googlebot 能够成功提交表单,循环遍历第一个下拉列表中的每个选项。

更奇怪的是,它在生成 404 的当前 Url 的末尾附加了查询字符串。准确地说是 118,000,因为我有很多页面都在上面。

这是我得到的 404 类型的示例。提交表单后,它应该转到网站根目录中的 /car.php,而不是将其附加到末尾或当前 url

在此处输入图像描述

这是我的表格

<form id="getData" action="<?php echo $root; ?>/car.php" method="GET">
<?php
$result = mysql_query("SELECT DISTINCT model_year FROM car_query_models_full ORDER By model_year DESC");
echo "<select name=\"model_year\" class=\"span2\" id =\"model_year\">";
echo "<option>Year</option>";
while ($row = mysql_fetch_array($result)) {
echo "<option value=\"" . $row['model_year'] . "\">" . $row['model_year'] . "</option>";
}
echo "</select>";
?>
  <select name="model_make_display_name" class="span3" id="model_make_display_name">
    <option>-</option>
  </select>
  <select name="model_name" class="span3" id="model_name">
    <option>-</option>
  </select>
  <select name="model_id" class="span2" id="model_id">
    <option>-</option>
  </select>
  <input type="hidden" name="popQuery" id="popQuery" value="y" />
  <button id="buttonSearch" type="submit" class="btn btn-primary span2 pull-right hide">View Car</button>
</form>

您可以在表单操作中看到一个名为 $root 的字符串,然后是 /car.php,root 只是我的 url,例如。www.website.com/car.php。

网站上有 javascript 表单验证会阻止您实际提交表单,直到您选择了所有 4 个选项,也许 googlebot 会忽略 js?

4

1 回答 1

0

如果 Google 认为这有助于抓取内容,Google 确实会使用 GET / POST 请求提交表单,他们也理解 JS 并在页面中看到 AJAX 代码时提交请求。我有一个网站,谷歌甚至每天多次通过注册表单提交电子邮件和密码。详情在这里:

http://googlewebmastercentral.blogspot.hk/2011/11/get-post-and-safely-surfacing-more-of.html

于 2015-06-08T02:23:40.157 回答