サイトのすべてのページにフォームがあり、送信する前にドロップダウンから 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 というフォーム アクションを見ることができます。ルートは私の URL です。www.website.com/car.php。
このサイトには、4 つのオプションをすべて選択するまでフォームの送信を物理的に停止する JavaScript フォーム検証があります。おそらく googlebot は js を無視しますか?