скрипт перелинковки страниц поисковыми запросами
Четверг, 8 июля 2010 г.
Просмотров: 10534
Подписаться на комментарии по RSS
Делал для своих сайтов скрипт который линкует страницы сайта ключевыми словами полученными из поисковых запросов.
Для чего это нужно?, а все для тогоже)), для повышения сайта по поисковым запросам.
Посетитель сайта который перешел с поисковика приносит вам новое ключевое слово - это может быть нч запрос, может быть вч, а может сч.. неважно, главное эти ключевые фразы уже релевантны тем страницам на которые по ним перешли.
Для сбора поисковых запросов можно использовать любые подручные средства))), самый примитивный это собирать ключевики из статистики li.ru, но можно воспользоваться моим скриптом по сбору статистики поисковых запросов.
Для вывода ссылок на разные страницы сайта использую файл с примерно такого содержания:
<a href='ссылка'>ключевая фраза</a>
<a href='ссылка2'>ключевая фраза2</a>
<a href='ссылка3'>ключевая фраза3</a>
.......
Принцип работы скрипта:
Скрипт открывает файл с ссылками, перебирает их рандомно пока не наберется 7шт и проверяет на совпадение страниц, если страница на которую ведет ссылка повторяется, то скрипт берет рандомно другую ссылку, и так пока не наберется 7 шт, естественно число выводимых ссылок можно увеличить.
Таким образом скрипт выводит блок из уникальных для него ссылок.
Я написал скрипт в 2 вариантах
- 1 я назвал его эконом
- 2 соответственно не эконом
Отличия в них просты как 2 копейки).
1 потребляет по минимуму оперативки, но выполняется дольше чем 2 вариант, и время выполнения напрямую зависит от размера файла с ссылками.
2 выполняется с наибольшей скоростью, но потребление оперативной памяти зависит напрямую от размера файла с ссылками.
какой вариант выбрать решать вам)), скажу только что скорость выполнения их обоих, более чем достаточно велика))).
Сам скрипт:
Вариант 1 - он же эконом
<?php $links_file=fopen('links.txt', 'r'); if ($links_file){ $counter = 0; while(!feof($links_file)) { $str = fgets ($links_file); $counter++; }} $counter = $counter - 1; fseek($links_file, 0); $massurl = array(); for ($s=1;$s<=7;$s++) { $k='2'; while($k!=1){ $i= rand(0,$counter); for($f=0;$f<=$i;$f++){ if($f!==0){ fgets($links_file); } } $sss= fgets($links_file); preg_match('!<a href="(.*?)">(.*?)</a>!si',$sss,$tmp); $b = implode("", $massurl); if(!stristr($b,$tmp[1])){ $massurl[$s] = $tmp[1]; $masskey[$s] = $tmp[2]; $k='1'; }fseek($links_file, 0); } echo'<a href="'.$massurl[$s].'">'.$masskey[$s].'</a><br>'; } ?>Вариант 2 - он же не эконом
<?php $links_file=file("links.txt"); //ссылки $massurl = array(); for ($s=1;$s<=7;$s++) { $k='2'; while($k!=1){ $i= array_rand($links_file); preg_match('!<a href="(.*?)">(.*?)</a>!si',$links_file[$i],$tmp[$i]); $b = implode("", $massurl); if(!stristr($b,$tmp[$i][1])){ $massurl[$s] = $tmp[$i][1]; $masskey[$s] = $tmp[$i][2]; $k='1'; }else{unset($links_file[$i]);} } echo$massurl[$s].'<br>'; } ?>Думаю из скрипта понятно что ссылки хранятся в файле links.txt который находится в тойже директории что и сам скрипт.
Комментариев: 11
Приветсвую!
А можно уточнить? К примеру на один урл добавить 30 ссылок с разными кеями, скрипт равномерно распределит ссылки по страницам? Или по другому если он разместил один урл на одной странице, то то не повторит ли его на другой? И вообще можно ли задать на каждый урл общее количество размещений (по рзным страницам соответственно).
Спасибо!
30 ссылок можно, нужно вместо 7 поставить 30, тогда будет 30 ссылок на странице, а на каждый урл нельзя настроить количество показов, ониж рандомно выбираються из списка.
А можно как то сделать чтобы каждый линк был закреплен на странице? Т.е. был постоянным.
Можно, если записывать результат в файл, а не выводить сразу.
Можете пример показать? Я в php ламер. Поисковикам нужны постоянные ссылки, этот код безусловно работает, я проверил на одном из сайтов установив его с неделю назад, о результатах рано еще говорить, но вот бы еще на постоянку закрепить ссылки к страницам цены бы не было. Спасибо
Подскажите как реализовать вывод возле анкорного текста?
Для того чтобы выводить с анкорным текстом, нужно изменить регулярку которая парсит ссылки из файла
preg_match('!(.*?)!si',$links_file[$i],$tmp[$i]);
в этой регулярке считываются 2 значения ссылка и ее анкор, нужно добавить еще считывание околоанкорочного текста. И видоизменить файл с линками до типа
околоанкорочный текст анкор околоанкорочный текст.
Автор а можешь доработать скрипт, чтоб он записывать результат в файл, а не выводил сразу?
Могу, но у меня нет желания.
Я как то давно делал с постоянными ссылками, но там другой скрипт выводил ссылки уже из готового файла, а этот скрипт генерировал этот файл.
Кароче возни много, поэтому и не хочу делать, к тому же я этот скрипт уже давно не юзаю.
Ладно, будем искать)
Я написал новый пост в котором выхожил новую переделанную версию скрипта, как и просили теперь он выводит статичные блоки из файла.
Скрипт перелинковки страниц поисковыми запросами с выводом статичных блоков