скрипт перелинковки страниц поисковыми запросами
Четверг, 8 июля 2010 г.
Просмотров: 102
Подписаться на комментарии по 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 который находится в тойже директории что и сам скрипт.
Оставьте комментарий!