Генерация ссылок

Опубликовал – 15.06.2010

Доброе время суток. Сегодня, со «снежинском», жизнь SEO‘шника итак тяжела и неказиста, поэтому, отвлекаться на создание ссылок вручную просто нет времени. Для этого напишем программу, которая будет радовать нас своей простотой и ссылками с уникальными анкорам.

Для начала, давайте подберем ключевые слова к продвигаемой площадке, если таковые не подобраны. Я расскажу вам способ, которым пользуюсь я. Может он вам поможет, а может у кого то есть способ получше. Давайте скачаем программу Site-Auditor, я пользуюсь ей, как для подбора слов, так и для сбора статистики проиндексированных страниц и позиций. На второй вкладке «Подбор запросов»:

Вводим самый ВЧ (высокочастотный) запрос для вашего сайта и нажимаем кнопку «проверить». Он покажет список тематических запросов в порядке убывания по их популярности. Выбираем из них наиболее подходящие вам запросы. Для примера, я ввел слово «сертификат» и выбрал из списка тематических запросов слова:

  • сертификат
  • сертификат качества
  • сертификат соответствия
  • получить сертификат
  • получение сертификата
  • сертификация продукции
  • добровольная сертификация
  • сертификация
  • санитарно эпидемиологическое заключение
  • получение санитарно эпидемиологического заключения
  • сэз
  • технический регламент
  • декларация соответствия
  • получение декларации соответствия
  • оформление декларации соответствия

Тут вперемешку ВЧ, СЧ и НЧ запросы. Теперь давайте придумаем алгоритм генерации ссылок. Например он должен удовлетворять требованиям биржи ссылок sape.ru, а именно, текст должен быть не длиннее 100 символов и анкоры должны быть в псевдо-тегах #a#наш анкор#/a#. Ну, так и поступим. Давайте придумаем формат ссылок, мне, например, нравится такой:

[начальный текст]: #a#[ключ], [ключ], [ключ]#/a#, [ключ] [конечный текст]

и такой:

[начальный текст]: [ключ], #a#[ключ], [ключ], [ключ]#/a# [конечный текст]

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

Давайте теперь подумаем, где же нам хранить настройки для генератора текстов. Я нашел решение в простом формате .csv. Для начала, создадим такой файл и откроем его офисным MS Excel. Думаю его формат будет таким, вид по колонкам:

[начальные тексты][ключи][конечные тексты]

Набросаем быстренько пример:

Теперь, давайте приступим к реализации простого генератора, на языке PHP:

$lines = file('test.csv'); //предположим у нас есть файл на сервере с именем test.csv
$keys = array(); //сюда мы будем складывать все ключи
$prevs = array(); $prevs[] = ''; //сюда начальные тексты + добавили пустой текст
$ends = array(); $ends[] = ''; //сюда конечные тексты + добавили пустой текст
foreach ($lines as $line_num => $line) { //идем по всем записям csv
	list($prev, $key, $end) = explode(';', $line); //вытаскиваем все что можно

	//чистим
	$prev = trim($prev); $prev = preg_replace('/"/', '', $prev);
	$key = trim($key); $key = preg_replace('/"/', '', $key);
	$end = trim($end); $end = preg_replace('/"/', '', $end);

	//заполняем массивы если запись существует
	if ($key!='') $keys[] = $key;
	if ($prev!='') $prevs[] = $prev;
	if ($end!='') $ends[] = $end;
}

$arr = array(); //тут будем хранить массив генерируемых ссылок
for ($i = 0; $i < 2000; $i++) { //допустим нам надо 2000 уникальных ссылок
	shuffle($keys); //перемешиваем ключи
	shuffle($prevs); //перемешиваем начальные тексты
	shuffle($ends); //перемешиваем конечные тексты

	//считываем первые три ключа и первые начальные и конечные текста.
	$keyfirst = $keys[0];
	$keysecond = $keys[1];
	$keyth = $keys[2];
	$keyprev = $prevs[0];
	$keyend = $ends[0];

	//генерируем уникальный ключ, для нашего анкора
	$uniqid = substr(md5(uniqid(rand(), true)), 0, rand(4, 4)); 

	$index = rand(1, 3); //три варианта ссылок, можете сделать больше
	if ($index == 1) {
		$s = $keyprev.' #a#'.$uniqid.', '.$keyfirst.', '.$keysecond.'#/a#, '.$keyth.' '.$keyend;
	} elseif ($index == 2) {
		$s = $keyprev.' '.$keyth.', #a#'.$keyfirst.', '.$uniqid.', '.$keysecond.'#/a# '.$keyend;
	} elseif ($index == 3) {
		$s = $keyprev.' '.$keyth.', #a#'.$keyfirst.', '.$keysecond.', '.$uniqid.'#/a# '.$keyend;
	}

	if(strlen($s) <= 100) $arr[] = $s; //проверяем на длину, не более 100 символов
}

$arr = array_unique($arr); //удаляем повторяющиеся записи, если таковые есть.

$count = count($arr);
$str = ''; //сюда будем записывать результат наших махинаций
for ($i = 0; $i < count($arr); $i++)
	$str .= trim($arr[$i]) . '
'; //формируем строки

//и наконец выводим
echo 'count = ' . $count . '
';
echo $str;

Очевидно, что алгоритм не безупречен, ибо обязательное условие его работы – минимум три ключа, один текст начальный и один текст конечный. Конечно можно его доработать. Но я всего лишь хотел объяснить принцип работы. Итак, всем наверно интересно, что мы получили на выходе? А мы получили 2000 уникальных текстов, любуемся:

получить сертификат, #a#сертификация, 2cff, сертификат#/a# вот так
оформляем: сертификация, #a#оформление декларации соответствия, сэз, cfa7#/a# почему тут?
купить: #a#8e09, сертификат качества, сертификация#/a#, сертификат соответствия можно
заказать: #a#bf13, сертификация, сэз#/a#, сертификат
оформляем: санитарно эпидемиологическое заключение, #a#сертификат, 8f46, сэз#/a# нужно
получить: сэз, #a#сертификация, получение сертификата, d077#/a# людям
заказать: добровольная сертификация, #a#сертификация продукции, 8200, сертификация#/a#
получение сертификата, #a#сертификация оборудования, e812, сертификация#/a# потом

Конечно, если подольше посидеть с около ссылочным текстом, можно придумать текста покрасивей. Если Вам что-то непонятно, спрашивайте, постараюсь ответить.

Рассказать друзьям:
  • Добавить ВКонтакте заметку об этой странице
  • Мой Мир
  • Facebook
  • Twitter
  • Яндекс.Закладки
  • В Живую Ленту Google
  • Сто закладок
Комментарии (3) - Генерация ссылок

Ответ

  1. Во повезло то, у меня как раз был вопрос касающийся данной темы.

    Thumb up Thumb down +2

  2. Добрый день, я не силен в php, не могли бы вы это ткод переделать к такому виду:
    вот как у вас есть 3 столбца с ключевыми словами, но что бы скрипт их все смешал . т.е. 1й столбец первое слово +2й столбец первое слово+3й столбец первое слово – это один ключевик, второй ключевик 1й столбец второе слов+2йстолбец первое слово+3йстолбец первое слово, ну и тд пока не переберет все варианты… это нечто схожее с вашим скриптом, думаю это у Вас займет мало времени) буду очень благодарен за помощь

    Thumb up Thumb down 0

Ответить

Comments

Перед отправкой формы: