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

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

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Комментариев: 11

  1. 2010-10-27 в 18:26:54 | Виталий

    Приветсвую!

    А можно уточнить? К примеру на один урл добавить 30 ссылок с разными кеями, скрипт равномерно распределит ссылки по страницам? Или по другому если он разместил один урл на одной странице, то то не повторит ли его на другой? И вообще можно ли задать на каждый урл общее количество размещений (по рзным страницам соответственно).

    Спасибо!

  2. 30 ссылок можно, нужно вместо 7 поставить 30, тогда будет 30 ссылок на странице, а на каждый урл нельзя настроить количество показов, ониж рандомно выбираються из списка.

  3. 2011-06-19 в 01:15:05 | Андрей

    А можно как то сделать чтобы каждый линк был закреплен на странице? Т.е. был постоянным.

  4. Можно, если записывать результат в файл, а не выводить сразу.

  5. 2011-06-22 в 11:56:57 | Андрей

    Можете пример показать? Я в php ламер. Поисковикам нужны постоянные ссылки, этот код безусловно работает, я проверил на одном из сайтов установив его с неделю назад, о результатах рано еще говорить, но вот бы еще на постоянку закрепить ссылки к страницам цены бы не было. Спасибоgrin

  6. Подскажите как реализовать вывод возле анкорного текста?

  7. Для того чтобы выводить с анкорным текстом, нужно изменить регулярку которая парсит ссылки из файла

    preg_match('!(.*?)!si',$links_file[$i],$tmp[$i]);

    в этой регулярке считываются 2 значения ссылка и ее анкор, нужно добавить еще считывание околоанкорочного текста. И видоизменить файл с линками до типа

    околоанкорочный текст анкор околоанкорочный текст.

  8. 2012-01-26 в 04:17:39 | Сергоф

    Автор а можешь доработать скрипт, чтоб он записывать результат в файл, а не выводил сразу?

  9. Могу, но у меня нет желания.

    Я как то давно делал с постоянными ссылками, но там другой скрипт выводил ссылки уже из готового файла, а этот скрипт генерировал этот файл.

    Кароче возни много, поэтому и не хочу делать, к тому же я этот скрипт уже давно не юзаю.

  10. 2012-01-26 в 15:19:53 | Сергоф

    Ладно, будем искать)

  11. Я написал новый пост в котором выхожил новую переделанную версию скрипта, как и просили теперь он выводит статичные блоки из файла.

    Скрипт перелинковки страниц поисковыми запросами с выводом статичных блоков

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

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

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

(войти без комментирования)

Имя и сайт используются только при регистрации

Если указать email (зарегистрироваться), то будет уведомление о новых комментариях.

Выберите человечка с поднятой рукой!