Как запретить индексирование сайта, нежелательным поисковым ботам

Процесс индексации сайта с большим количеством страниц может занимать длительное время и создавать большую нагрузку на сервере.

Поисковые боты при индексации посылают одновременно огромное количество запросов вашему сайту, что и приводит к проблеме. Поисковых роботов существует достаточно много (Google, Yahoo, Yandex, Mail.RU, …), и ограничивать им доступ к сайту полностью (т.к. они приносят пользу вашему ресурсу) некорректно.

 

Решение:

Создать файл robots.txt в директории вашего сайта, прописав в него следующие параметры:

 

User-agent: *

Crawl-delay: 10

 

( User-agent — указывает для какой поисковой системы использовать заданные параметры. Crawl-delay — указывает временной интервал, с которым поисковые системы будут загружать страницы сайта. )

Также рекомендуем запретить индексацию ненужных каталогов с кэшем и пр.

				
					User-agent: *
 Disallow: /administrator/
 Disallow: /cache/
 Disallow: /cli/
 Disallow: /components/
 Disallow: /images/
 Disallow: /includes/
 Disallow: /installation/
 Disallow: /language/
 Disallow: /libraries/
 Disallow: /logs/
 Disallow: /media/
 Disallow: /modules/
 Disallow: /plugins/
 Disallow: /templates/
 Disallow: /tmp/

				
			

Индексацию нежелательных ботов вы можете запретить в robots.txt:

				
					User-agent: bingbot
 Disallow: /

				
			

Также вы можете запретить индексацию и в .htaccess:

				
					SetEnvIfNoCase User-Agent "^bingbot" search_bot
				
			

Корректное название робота, для которого вы хотите использовать то или иное правило, вы можете найти в логах доступа. В качестве примера приведем выдержку из логов доступа:

125.40.77.104 — — [08/Feb/2017:12:05:01 +0200] «GET ваш_сайт/ HTTP/1.0» 200 93488 «-» «Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)»

125.40.77.104- — [08/Feb/2017:12:05:01 +0200] «GET ваш_сайт/ HTTP/1.0» 200 110513 «-» «Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)»

Корректное название робота: bingbot/2.0

Если бы мы его хотели заблокировать в .htaccess, правило выглядело бы так:

				
					SetEnvIfNoCase User-Agent bingbot/2.0 bad_bot
Order Allow,Deny
Allow from all
Deny from env=bad_bot

				
			

Если ранее приведенные варианты блокировки не решили проблему, тогда можно заблокировать поисковым ботам доступ к сайту по IP, прописав в .htaccess:

				
					Deny from 125.40.77.104
				
			

где 125.40.77.104 — IP bingbot, который мы нашли в логах доступа.