Раскрутка сайта, поисковики и... mod_rewrite
Источник: http://www.webscript.ru/
Roman
Dukhanin
Угу. Всем привет! Для кого предназначена эта
статья - для веб разработчиков, для которых реально, что вся
раскрутка сайта, которая ему (сайту) нужна, заключается в достижение
высших позиций в наиболее популярных поисковых машинах по
интересующим ключевым словам, ну и для остальных работников рекламы
в интернете (для общего развития, так сказать :-)
ОК. Сразу к делу - как известно, не все еще люди научились
пользоваться правильными поисковыми машинами типа Google или Yandex,
многие (видать, по-старинке) продолжают использовать для поиска в
Интернете поисковики НЕправильные. В чем различие между правильным и
НЕправильным поисковиком? Навскидку, оных различий много, но одно из
основных - это то, что НЕправильные поисковые машины НЕ индексируют
сайты c динамическим содержимым . Мы здесь не будем показывать
пальцем, но таких поисковиков достаточно много (например тот,
который на "Ра" начинается и на "мблер" заканчивается).
И вот допустим, что вы решили создать и раскрутить сайт (реклама
в интернете - великая вещь ;-) Да вот незадача - вы хотите иметь на
оном сайте и гостевую книгу, и каталог товаров, и... И для этого
сайт должен быть динамическим. И адреса у вас в оном каталоге будут
типа ...?tovar=good&indexed=false - так что вышеупомянутый
"мблер" оставит ваш сайт за бортом :-( Конечно, вы можете сказать -
"Да мы раскрутим сайт и безо всякого там Рамблера! Да нам на Ра..."
- расскажу вам историю двухнедельной давности:
Прихожу я в одну контору (мы вели переговоры отн. создания трех
сайтов). Ну сидим мы общаемся. Вопрос заказчика:
- А вы сможете вывести нас в первую десятку сайтов, выдаваемых
Рамблером по ключевому слову "......"
- Ну да, конечно, хотя я предпочитаю использовать Гугль, когда
ищу по вашей тематике.
- ??? А что такое Гугль???
Вот так-то! А вы говорите
Яндекс :)
Можно, конечно (ежели уж совсем серьезно подойти к рекламе в
интернете - а как иначе? :) делать отдельный сайт для каждого
отдельного поисковика (и в общем-то это правильно), но тогда вам
понадобится создать и раскрутить не один, как минимум 3-5 сайтов,
что весьма и весьма трудоемко.
В общем, я расскажу вам об основах того, как сделать, чтобы ваш
динамический сайт индексировался Рамблером и другими подобными
скриптоненавистническими поисковыми системами. Данная технология
используется на моем новом сайте (внимание, рекламная пауза ;-)
Реклама в
интернете создание и раскрутка сайта
Во первых давайте посмотрим вот на что: каким именно образом
робот понимает, что ваш сайт имеет динамическую структуру? Правильно
- он смотрит параметр 'href' тэга 'A' и если в оном есть знаки
? или & и если робот
НЕправильный, то страницу по данному адресу он индексировать не
будет. Таким образом, задача заключается в том, чтобы убрать из
строки урла вышеупомянутые символы. А как же тогда передавать
параметры скрипту? Как...
Далее по пунктам (ежели что непонятно будет пишите лично - разберемся).
Все повествование будет вестись на основе реальной разработки, и на
выходе мы получим маленький жизнеспособный скрипт, поняв принципы
работы которого, вы сможете написать большой и глючный
интернет-магазин ;-)
- Давайте сразу четко сформулируем задачу: нам нужно каким-то
образом вызвать некий скрипт и передать ему некие параметры, при
этом адресная строка должна выглядеть как для нормального,
статического сайта. Это просто, если мы передаем скрипту данные из
формы - ставим "POST" и все дела. Но мы то с вами должны передать
параметры из гиперссылки, то есть через URL, то есть методом GET,
то есть в УРЛе будут ? или
&, то есть...
ОК. Есть такой файл,
называется .htaccess - в нем вы можете задать некотрые директивы,
управляющие сервером Apache (сложно писать для "широкой" аудитории
- кто-то сейчас читает и думает про себя - чего он тут нам "азбуку
жует", а кто-то прочитал предыдущую фразу, и материт меня за
"тарабарщину всякую"). Ну и ладно. В общем знать об этом самом
.htaccess нужно примерно следующее - разместив оный файл в
какой-либо папке на сервере, и написав в нем всякие штуки, мы
можем изменить поведение сервера, применительно к данной папке
(если, конечно хост провайдер разрешает). Короче:
Помещаем файл с именем .htaccess в корневую папку свего сайта
(DocumentRoot) - обычно она называется WWW или www
И пишем в
него следующие строки:
RewriteEngine
on
RewriteRule ^core.php$ -
[L]
RewriteRule .* /core.php
О чем
это я? Аааа... ну да - есть такой модуль Apache - mod_rewrite
называется. Описание данного модуля, как это обычно говорится,
выходит за рамки данной статьи - суть в том, что mod_rewrite
делает с путями на сервере, что душе угодно и использует синтаксис
регулярных выражений в стиле Perl - интересующиеся могут порыться
в интернете в поисках документации к оному. И все же, что мы там
понаписали в .htaccess
RewriteEngine on
#
Данной директивой .htaccess мы включаем
mod_rewrite
RewriteRule ^core.php$ - [L]
#
Даем понять серверу, что если запрошен файл с именем
core.php (название может быть произвольным) то с
оным файлом нужно поступить так, как обычно сервер поступает с
предателями... простите с файлами, имеющими расширение .php -
передать на обработку дальше (модулю PHP).
RewriteRule
.* /core.php
# Внимание! Здесь
происходит то, ради чего мы и городим весь огород - теперь, что бы
мы не написали в адресной строке - не имеет (пока не имеет) ни
какого значения - в любом случае будет вызван скрипт с именем
core.php Но! Но в адресной строке набранный адрес
остается прежним, то есть переменная окружения
REQUEST_URI если набрано, например
www.somehost.org/123 будет равна именно этому самому 123 и...
- И мы можем запросто разобрать эту строку в
core.php, таким образом, мы передаем данные
прямо в имени файла!!!
Пишем тестовый скрипт и
сохраняем как core.php :
- Теперь набираем в строке браузера что-нибудь типа
http://имя_вашего_хоста/vasia12345.html Уррра!!! Получилось! (у
меня все работает по крайней мере :-) Заметьте, что мы вызвали
несуществующий файл vasia12345.html - сервер вернул нам OK (т.е.
файл найден) - и вывел в браузер цифры 12345. Оные же цифры и
буквы (для тех кто в танке ;-) можно передавать в качестве
параметров в функции, внутри скрипта и пр.
Рамблер доволен, мы
довольны, все довольны! :-))
В заключение, хочу отметить,
что описанный метод, далеко не единственный - я знаю по меньшей мере
еще три способа избавиться от прелестей метода GET. Но данный путь,
на мой взгляд самый гибкий и удобный.
Всего! Духанин Роман (aka
RWinner)
Реклама в интернете создание и раскрутка сайта статьи
аналитика

Реклама в журнале