Всем привет! Для кого предназначена эта статья - для веб разработчиков, для которых реально, что вся раскрутка сайта, которая ему (сайту) нужна, заключается
в достижение высших позиций в наиболее популярных поисковых машинах по
интересующим ключевым словам, ну и для остальных работников рекламы в интернете
(для общего развития, так сказать :-)
ОК. Сразу к делу - как известно,
не все еще люди научились пользоваться правильными поисковыми машинами типа
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 :
function parse($uri){ if($uri){ // вырезаем цифровые значения из
строковой переменной $uri в массив $uri_number
eregi("[[:digit:]]+",$uri,$uri_number); //выводим первый элемент массива в
браузер echo $uri_number[0]; } } // вызываем функцию
с глобальной переменной $REQUEST_URI в качестве
параметра parse($REQUEST_URI);
Теперь набираем в строке браузера что-нибудь типа
http://имя_вашего_хоста/vasia12345.html Уррра!!! Получилось! (у меня все
работает по крайней мере :-) Заметьте, что мы вызвали несуществующий файл
vasia12345.html - сервер вернул нам OK (т.е. файл найден) - и вывел в браузер
цифры 12345. Оные же цифры и буквы (для тех кто в танке ;-) можно передавать в
качестве параметров в функции, внутри скрипта и пр. Рамблер доволен, мы
довольны, все довольны! :-))
В заключение, хочу отметить, что
описанный метод, далеко не единственный - я знаю по меньшей мере еще три способа
избавиться от прелестей метода GET. Но данный путь, на мой взгляд самый гибкий и
удобный.