Робот Googlebot сканирует мой сайт и вводит оценки в мою систему рейтинга - PullRequest
0 голосов
/ 20 октября 2010

Моя система рейтинга позволяет анонимным пользователям добавлять оценки, но сканер Google оценивает вещи.

Как я могу гарантировать, что робот Google не будет переходить по ссылке?

Ответы [ 2 ]

8 голосов
/ 20 октября 2010

Вы не должны принимать запрос GET для любых действий, которые изменяют данные (голосование, редактирование сообщения и т. Д.).Ваше голосование должно быть сделано с помощью запроса POST, который робот Googlebot не будет выполнять.

Дополнительная информация в этом сообщении SO: Когда вы используете POST и когда вы используете GET?

4 голосов
/ 20 октября 2010

Используйте файл robots.txt, чтобы указать ссылки, по которым боты не должны переходить. Например, введите следующее в http://example.com/robots.txt

User-Agent: *
Disallow: /vote.php

Подробнее о robots.txt вы можете прочитать здесь: http://www.robotstxt.org/

Google и любой другой бот с хорошим поведением будут читать и следовать инструкциям в файле robots.txt.

Если у вас также есть проблемы с ботами, которые не следуют этим указаниям, вам придется кодировать логику, чтобы блокировать ботов или, по крайней мере, уменьшить их влияние. Например, вы можете записать, сколько голосов вы получили с IP-адреса за определенный период времени и заблокировать голоса выше этого уровня. Другое решение может состоять в том, чтобы разрешить только сообщениям, а также иметь некоторую логику JS (или аналогичную) для блокирования спам-ботов, но это гораздо больше работы, чем robots.txt, поэтому вкладывайте в это время только в случае возникновения проблем.

Вы также можете полностью заблокировать ботов, которые плохо себя ведут, заблокировав их IP-адреса на вашем веб-сервере. Есть несколько списков ботов плохого поведения, которые вы можете попробовать, если предпочитаете блочное решение.

...