BackLink Checker Script - Скрипт проверки ссылок
Не то чтобы я (вебмастер сайта) всерьёз озадачивался проблемами SEO для Wgent.com, но в ряде других проектов потребовался простенький скрипт, позволяющий проверить установку бэклинков. Это связано исключительно с тем, что многие копипастеры воруют c этих проектов новости и публикации, то есть, размещают у себя без установки гиперссылки на первоисточник. То, что у меня получилось, наверно, нельзя назвать полноценным линкчекером. Это вспомогательный скрипт к роботу проверки плагиата. Он проверяет только наличие ссылки и незакрытость её от индексации, но не фактическую индексацию поисковиками. Существует множество способов мошенничества на этой почве, начиная от запрета на индексацию целых разделов сайта в robots.txt и заканчивая попаданием линкопомойки в блэк-листы поисковых роботов. Но такой цели глобальной цели и не ставилось. Написанный скрипт - для простых и почти-совсем-честных вебмастеров личных домашних страничек, обменивающихся ссылками с такими же простыми и почти-совсем-честными интернетчиками :-) Скрипт выкладывается As Is, т.е., в том виде, в котором он был подключен к нашей CMS LiveTree. По вопросам адаптации скрипта под Ваш движок обращайтесь на форум. То же самое - насчёт использованных в скрипте функций из моей библиотеки, если испытываете затруднения в замене их своими.
<? /* file: script/linkchecker.php */ // Copyright © 2008 Max Brown ( www.Wgent.com ). // Разрешается любое, в том числе коммерческое, // гиперссылки на любую страницу Wgent.com require_once("core.php"); // Ядро CMS LiveTree. // В данном скрипте оно практически не используется. // легко заменяемые Вашими собственными. // Комментарии к функциям, которые нужно заменить - в тексте. // Функция param("name") делает в точности то же, что и $_POST["name"], // только её, в отличие от $_POST, не требуется объявлять глобальной. // Мелочь, но приятно. :-) $ret=$ret."<input type=\"submit\" />"; $ret=$ret."</form>"; if(!$url||!$link) return $ret; $is=ThisSiteHasHyperLinkToUs($url, array($link)); // Функция ThisSiteHasHyperLinkToUs описана ниже. // Возвращает адрес стартовой сайта, если на указанной странице есть ссылка на перечисленные сайты $hlinks=$mat[0]; foreach ($hlinks as $hlink) if( !preg_match("/(noindex|nofollow)/Usi", $hlink) ) return true; } //foreach $oursites function URLCorrect($addr){ // Возвращает корректный URL для произвольно набранного адреса if( !strpos($addr, "/", 7) ) $addr=$addr."/"; // На случай http://www.address.ru вместо http://www.address.ru/somepage.html if( !preg_match("/http\:\/\/[a-zA-Z0-9\_\-\.]+\//Usi", $addr) ) return false; // До первого (добавленного?) слэша - только буквы, цифры и -_. |
|||||||
|