Динамический дорвей – делаем своими руками!
Если у Вас нет денег на покупку доргена, то Вы можете поступить как-нибудь так (на выбор только один пункт):
1) скачать бесплатный дорген и переделать его под себя;
2) пойти рефералом к матерому дорвейщику и получить весь необходимый софт у него;
3) написать простейший дорген, протестировать его в деле и стать «нериальна» крутым дорвейщиком;
Данная статья предназначена для новичков в дорвеестроении и веб-программировании, а также является продолжением моего пособия по дорвеям для новичков. Поэтому, если Вы не знаете что такое дорвей и что Вам может понадобиться для его создания, советую сначала изучить следующие материалы:
Дорвей (Doorway) – основы создания.
Дорвеи (Doorways) – сколько нужно и что нужно для старта?
Генератор дорвеев. Каким должен быть дорвей.
Я приведу пример написания простейшего динамического дорвея.
Динамический дорвей – это такой дорвей, у которого страницы формируются только при обращении пользователя. Большим плюсом динамического дорвея является отсутствие необходимости создавать тысячи html-страниц и заливать их на хост. Все страницы, как я уже говорил, генерируются «на лету» и существуют только тогда, когда пользователь просматривает их. А это большая экономия пространства на сервере.
Для создания простейшего динамического дорвея нам понадобится список ключевых слов. Если у Вас нет ключевиков, то это не проблема. Прочитайте мою статью «Парсер Яндекса – собираем собственную базу ключевиков», скачайте архив и десктопным парсером соберите базу по нужным Вам запросам. Для данной статьи я напарсил 100 запросов с ключом «Новосибирск».
Давайте создадим файл keys.txt, в котором каждая ключевая фраза будет начинаться с новой строки.
новосибирск
работа новосибирск
г новосибирск
погода новосибирск
затмение новосибирск
продажи новосибирск
расписание новосибирск
проститутки новосибирска
сайты новосибирска
новосибирск авто
карта новосибирска
город новосибирск
магазины новосибирск
ооо новосибирск
гостиницы новосибирск
новосибирск поезд
москва новосибирск
недвижимость новосибирска
новосибирск купить
солнечный новосибирск
центр новосибирска
солнечное затмение новосибирск
квартиры новосибирск
новосибирск 2008
билет новосибирск
новосибирск автомобили
клубы новосибирск
цены новосибирск
банки новосибирска
авиабилеты новосибирск
вакансии новосибирск
новосибирск продам
знакомства новосибирск
аренда новосибирск
рейс новосибирск
новосибирск баз
компании новосибирска
авторынок новосибирска
объявления новосибирск
расписания поездов новосибирск
новосибирск фото
телефоны новосибирска
новосибирск телефонный
дома новосибирска
новосибирск автобус
стоимость новосибирск
отдых новосибирск
мтс новосибирск
тур новосибирск
школа новосибирск
школа новосибирск
новосибирск главный
вокзал новосибирск
новосибирск опт
новосибирск доска
электрички новосибирск
«сибирь» новосибирск
интернет новосибирск
новосибирск салоны
мебель новосибирск
новосибирск время
кинотеатры новосибирска
курсы новосибирск
продажа авто новосибирск
агентство новосибирск
справочник новосибирска
автовокзал новосибирск
доска объявлений новосибирск
адреса новосибирск
районы новосибирска
новосибирск рынок
расписание электричек новосибирска
код новосибирска
строительный новосибирск
радио новосибирска
секс новосибирск
автосалоны новосибирска
новосибирск газета
расстояние новосибирск
новосибирск аэропорт
куплю новосибирск
фирмы новосибирск
новосибирск 1
новосибирск досуг
ремонт новосибирск
новосибирск авиа
где новосибирск
продажа автомобилей новосибирск
новосибирск красноярск
оборудование новосибирск
томск новосибирск
детские новосибирск
гис новосибирск
свадебный новосибирск
тойота новосибирск
мэрия новосибирска
новосибирск машины
новосибирск электропоезд
строительство новосибирск
скачать Новосибирск
Теперь приступим к написанию дорвея на PHP.
Откройте блокнот, создайте новый файл и сохраните его под именем index.php
Любой PHP-файл начинается и заканчивается следующими тегами:
<?
?>
В этих тегах заключается весь код.
Вызывать нужные нам страницы дорвея мы будем следующим образом:
http://имядомена/index.php?page=10
Наш дорвей, должен взять параметр из page= (в нашем случае это 10), затем найти слово в 10 строчке из keys.txt и показать пользователю страницу дорвея, оптимизированную под ключевик №10.
Давайте научим скрипт считывать этот параметр. Делается это с помощью команды $_GET['имя параметра'] результат выполнения которой надо присвоить некоторой переменной, например $number.
Делается это так: $number = $_GET['page'];
Я указал параметр ['page'], поскольку нам нужно считать номер ключевого слова, а для того чтобы можно было увидеть, правильно ли скрипт работает – напишите команду echo $number; – эта команда напечатает нам переменную $number.
Давайте проверим. Скопируйте следующие строки в файл index.php и сохраните изменения:
<?
$number = $_GET['page'];
if(!$number) $number = 0;
echo $number;
?>
Я сразу добавил в скрипт обработку ошибки if(!$number) $number = 0;. Это нужно на случай, если вдруг не будет задан параметр page= вообще (т.е. пользователь введет адрес вот так: http://имядомена/index.php или http://имядомена/). Данную строку следует понимать следующим образом: если переменной $number не существует, то присвоить ей значение равное 0.
Залейте файл keys.txt и index.php на сервер и наберите в браузере типа http://имядомена/index.php?page=12. Если всё сделали правильно, то у вас должно появиться на странице число, написанное после page=, т.е. 12.
Введите http://имядомена/index.php и вы увидите что показывается 0, т.е. ошибка обработана.
Теперь нам надо считать файл с ключевыми словами. Делается это командой file(«keys.txt»); и все что считано присваиваем некоторой переменной, например $word (в PHP все переменные начинаются со значка $):
$word = file(«keys.txt»);
При считывании файла у нас будет создан массив $word[] (массив всех ключевых слов). Т.е. будет создано как бы несколько подряд идущих ячеек (число ячеек = числу строк в keys.txt), и в каждой ячейке будет содержимое соответствующей строки:
Новосибирск – будет в 0й ячейке массива $word[]
работа Новосибирск – будет в 1й ячейке массива $word[]
г Новосибирск – будет во 2й ячейке массива $word[]
Нас интересует слово, находящееся на определённой строке. Для этого надо считать соответствующую ячейку массива $word[] и присвоить полученное переменной $keyword
$keyword = $word[$number];
Снова редактируем index.php:
<?
$number = $_GET['page'];
if(!$number) $number = 0;
echo $number;
$word = file(«keys.txt»);
$keyword = $word[$number];
echo $keyword;
?>
Если вы всё сделали правильно, то при запросе http://имядомена/index.php?page=2 , у вас на странице будет написано 2, а потом слово из 3й строки – «г Новосибирск».
Вижу недоумение на ваших лицах: «почему слово из 3й строки?». Дело в том, что нумерация ячеек в массиве $word[ ] начинается с 0. Поэтому запрос page=2 означает обращение не ко 2й, а к 3й ячейке.
Вот теперь самая сложная часть выполнена. Мы написали простейший код, который считывает у нас параметр page и соответствующее ему слово из файла keys.txt.
Создадим шаблон для страниц дорвея, в нужных местах которого будем выводить ключевые слова, под которые оптимизирован дорвей. Шаблон Вы можете сделать любой: с картинками, с флэшем, с использованием JavaScript и т.п. Помните, что сейчас дольше всех живут дорвеи, которые максимально похожи на обычный «белый» сайт.
Напишем текст для нашего дорвея и где надо вставим ключевое слово с помощью команды <? echo $keyword; ?> (обязательно используйте теги <? и ?>, иначе PHP не будет работать).
Готовый шаблон вставим сразу после PHP кода. Т.е. файл index.php теперь будет выглядеть так:
<?
$number = $_GET['page'];
if(!$number) $number = 0;
$word = file(«keys.txt»);
$keyword = $word[$number];
?>
<html>
<head>
<title>Поиск Уяндекс, результаты: <? echo ($keyword); ?></title>
<meta http-equiv=»Content-Type» content=»text/html; charset=windows-1251″>
<body>
<center>
<h1> <? echo $keyword; ?> </h1>
Вы искали: <b><? echo $keyword; ?></b><br><br>
Мы обработали ваш поисковый запрос <b>»<? echo $keyword; ?>«</b> и нашли полезные ресурсы.
<br>
Для перехода к результатам поиска информации о «<? echo $keyword; ?>» перейдите по ссылке
<h1><a href=»http://stakhov.ru/2008/09/dynamic-doorway«>ВХОД НА САЙТ</a></h1>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<a href=»sitemap.php»>Карта сайта</a>
</center>
</body>
</html>
Дорвей практически готов. Осталось сделать карту сайта. Для этого создадим новый файл sitemap.php и вставим в него следующие строки:
<?
$keys = 100;
$word = file(«keys.txt»);
?>
<html>
<head>
<title>Поиск Уяндекс. Карта нашего «белоснежного» сайта.</title>
<meta http-equiv=»Content-Type» content=»text/html; charset=windows-1251″>
<body>
<center>
<h1>Карта сайта</h1>
<?
for($i=0; $i < $keys; $i++)
echo (‘<a href=»index.php?page=’.$i.’»>’.$word[$i].’</a><br>’);
?>
</center>
</body>
</html>
В переменной $keys указывается сколько ключевых слов содержится в файле keys.txt. В нашем случае это 100 ключевиков. Если Вы напарсили 1000 ключевых слов, то отредактируйте файл и замените 100 на 1000. Эта переменная используется для генерации карты и играет важную роль. Если в файле keys.txt 1000 строк, а переменная $keys имеет значение 100, то карта сайта будет состоять только из 100 первых ключевых слов, а остальные 900 просто не будут выводиться на экран.
А следующий код
<?
for($i=0; $i < $keys; $i++)
echo (‘<a href=»index.php?page=’.$i.’»>’.$word[$i].’</a><br>’);
?>
реализует вывод списка всех ключевых слов из массива $word[], с ссылками на соответствующие им страницы дорвея. Т.е. данный код создает список ссылок с ключевыми словами в качестве анкоров на все страницы дорвея.
Вот и всё, динамический дорвей готов!
Теперь осталось напарсить ключевые слова, залить дорвей на сервер и проставить ссылки на карту сайта. Через некоторое время поисковые боты посетят Ваш дорвей… а дальше либо бан, либо попадание в выдачу и получение первого трафика, а только потом БАН
Удачи в дорвеестроении!
С уважением, Стахов Евгений.
Если Вам понравилась эта статья, то Вы можете на новые материалы блога по
сентября 5, 2008 at 7:15
А сервер сильно будет грузиться если будет много трафа? Ну, например, если сделать 100 доров?
сентября 5, 2008 at 19:52
Не думаю что дор столько трафа даст, чтоб нагрузка оказалась значительной.
сентября 5, 2008 at 21:00
Ну вероятность высокой нагрузки нельзя исключать. Это простейший код. Лучше конечно использовать динамику с кешированием, это когда после просмотра пользователем страница сохраняется на сервере в виде НТМЛки.
сентября 20, 2008 at 19:36
Спаб, за подробную инструкцию, давно уже надумавал написать собственный дорген, но никак не мог врубится в пхп. А так все понятно
Вообщем 5+
жесткая каптча.
февраля 13, 2009 at 3:02
Здравствуйте Евгений. Пробую на денвере скрипт запускать ,выдаёт ошибку «Warning: file(”keystxt”) [function.file]: failed to open stream: No such file or directory in E:\home\test1.ru\www\index.php on line 4″ Скрипт не хочет брать кеи из файла keys.txt Если не трудно,подскажите в чём дело.
февраля 13, 2009 at 3:05
Прошу . киньте рабочий скрипт на e-mail.
февраля 13, 2009 at 3:07
onlinecasinos555@gmail.com
февраля 13, 2009 at 9:21
Алекс, проверь строку $word = file(”keys.txt”);
Точка точно стоит?
И файл с ключевиками лежит в той же папке что и index.php?
февраля 13, 2009 at 23:34
Вроде проверил строчку.Точка стоит.
Вот здесь скриншоты дора: http://666.megaxxxporno.tu2.ru
А здесь сейчас дор стоит: http://555.megaxxxporno.tu2.ru
Чмоды на всё 777. Возможно туплю,поправьте .
февраля 14, 2009 at 11:43
Хм, я не знаю что за проблема. Какая версия ПХП?
Судя по ошибке нет файла с ключевиками в нужной дирректории. Проверьте еще раз, мож чего забыли.
февраля 14, 2009 at 15:07
Вот динамический дорвей ,прикольный.
http://depositfiles.com/files/f2eafnql9
Сам ставил на разных php хостах.Когда работал с досуговыми партнёрками.
Кидаешь в links.txt кеев ~100k и дорген генерит странички «на лету» Можно шаблон свой зделать, редирект .Простой до ужаса. Проблема в том ,что он странички генерит хаотично, кароче попробуйте.
Вопрос к St.eV . Я в php ноль.Посмотри,можно ли его переделать чтобы кейворд совпадал с номером страницы?А то в поисковике например:
«носки дырявые» http://www.domen.ru/index.php?n=5&id=17
а заходишь на него а там не носки а другой кей.Кароче посмотри сам.
февраля 16, 2009 at 21:33
to Alex. Попробуйте поменять
на
а также ссылочку
ВХОД НА САЙТ
на
ВХОД НА САЙТ
Тестил на Денвере3(РНР5) зароботало нормально после устранения указаных ошибок(?).
февраля 16, 2009 at 21:37
Ой. Евгений подправте мой пост, чтобы были видны теги скрипта. Этот пост удалите.
февраля 16, 2009 at 22:11
Да еще. Подправил соответственно и sitemap.php
#
<?
for($i=0; $i < $keys; $i++)
echo (««.$word[$i].»«);
?>
#
В первоначальном варианте не работало (хотя должно бы ).
февраля 16, 2009 at 23:05
Ulric, странно
У меня всё на денвере работает! Причем прекрасно работает. Надо будет сюда выложить архив с файлом.
февраля 17, 2009 at 2:59
Последний мой пост порезало.
в sitemap.php в цикле выводящем ссылки заменил все одинарные кавычки на двойные, те которые означаю ссылку предворил слешем.
февраля 18, 2009 at 1:20
Ulric . Повтори что нужно менять в index.php
St.eV Перезалей если можно пост №12.
февраля 18, 2009 at 4:29
to Алекс. У меня была та же проблема. я поменял
$number = $_GET['page'];
if(!$number) $number = 0;
$a= «keys.txt»;
$word = file($a);
$keyword = $word[$number];
до замены выдавало ту же ошибку что и у тебя.
если и этот пост порежет то давай email, вышлю.
февраля 18, 2009 at 15:06
to Ulric . Вышли пожалуйста архив с дорвеем. onlincasinos555@gmail.com
Если нужен будет какой софт,поделюсь)
февраля 18, 2009 at 15:14
to Ulric. Извиняюсь, правильный ящик вот- onlinecasinos555@gmail.com
февраля 19, 2009 at 0:22
to Ulric. Спасибо, дор работает отлично!
июня 29, 2009 at 4:53
Подскажите а как сделать чтоб контент менялся на каждой странице? Возможно нужен файл с текстом что бы из него текст подставлялся на новые сгенерированные странички. Я не силен в пхп, подскажите как сделать.
сентября 23, 2009 at 2:55
Дор работает хорошо,не хватает перелинковки страниц дорвея,как это сделать?
декабря 12, 2009 at 23:16
Вышлите пожалуйста архив с дорвеем на мою почту djunior-a@rambler.ru
а то че то у мну не получается)
июня 15, 2010 at 14:27
Люди пришлите пожалуйста готовый скрипт мне, у меня не получается, не понимаю(ошибку пишет).
августа 28, 2010 at 1:42
респект