скрипт перелинковки страниц поисковыми запросами

Рубрика: Новости -> Скрипты -> php
Четверг, 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 который находится в тойже директории что и сам скрипт.

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

(обязательно)