Маленькие хитрости против поисковых ботов

Перенаправление на javascriptКак известно любое перенаправление или редирект на другой ресурс средствами PHP может давать ответ 302Found, что означает ресурс найден. Ресурс будет найден и поисковым ботом. И как правило склеит ссылку куда произошло перенаправление с сайтом откуда оно произошло. Если найденный ресурс находится в так называемом черном списке поисковика, то наверняка в результате склейки ссылок будет понижение рейтинга исходного ресурса.

А если таких перенаправлений имеется множество и все на один и тот же адрес, например на какое-либо файлохранилище или прибежище варезников, которые ненавистны поисковым роботам, то понижение рейтинга того откуда идут Location будет существенным.

Но если все же имеется необходимость хранить, например, файлы большого объема на уже привычном файлохранилище которое имеется в черном списке поисковиков. Как быть? В этом случае можно использовать простейший Javascript перенаправления, который будет запускаться с одной и той же страницы сайта. Ведь запрос на сервер в этом случае будет исходить от браузера, а поисковому роботу всегда будет представлена одна и та же страница без внешних ссылок. Кроме того страницу со скриптом можно снабжать разными комментариями в зависимости от того или иного запроса. например что-то вроде этого:


setTimeout('location.replace("http://acvarifcms.ru")', 5000);

Скрипт можно просто разместить на странице где происходит перенаправление с небольшим комментом. Но в этом случае поисковому роботу будет доступен текст со ссылкой на нежелательный сайт. Это будет еще хуже чем 302Found. Выход прост. Разместить код скрипта в отдельном файле и вызывать файл при переходе на страницу загрузки файлов. Поскольку ссылка перенаправления в коде будет всякий раз разная то придется всякий раз ее менять перезаписывая файл с кодом при каждом новом вызове страницы с перенаправлением. Например так:


			// код текущего времени
			$nf = time();
			// замена в скрипте ссылки на текущую $newlink
			$pjs = str_replace("%newlink%", "$newlink", file_get_contents ("здесь путь к файлу исходного java
			 скрипта перенаправления - типа .../redirect.is"));
			// очистка директории где будет записан новй файл java скрипта перенаправления
			if ($handle = opendir('js/')) 
			{
				while (false !== ($file = readdir($handle))) 
					if ($file != "." && $file != "..") 
						unlink("js/$file"); 
				closedir($handle); 
			}
			// перезапись файла с новой ссылкой на борту
			$fp=fopen("js/$nf.js","w");
			@fwrite ($fp,$pjs);
			fclose ($fp, "js/$nf.js");
			// Вызов вновь записанного java скрипта перенаправления 
			// Эту запись средствами php необходимо перенести на страницу загрузки
			<... src='/js/$nf.js' type='text/javascript'>

При этом код в файле java скрипта перенаправления будет иметь вид:


setTimeout('location.replace("%newlink%")', 5000);

В нем запись %newlink% при каждом новом перенаправлении меняется на нужную ссылку. Итак, еще раз, как все происходит. Если необходимо выполнить перенаправление на скачивание файла формируется уникальная ссылка по которой происходит переход на одну и ту же страницу загрузки, куда присоединяются нужные комментарии. Средствами php в эту страницу также помещается вызов java скрипта находящегося в файле с уникальным названием, который предварительно подготовлен и в него помещена ссылка перенаправления. Название файла java скрипта должно быть уникальным для того, чтобы при новом запросе из одного и того же браузера не был вызван скрипт предыдущего запроса с предыдущей ссылкой перенаправления, который уже находится в кэше браузера.

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

Top.Mail.Ru