Гостевая
Форум
Разделы
Главная страница
Js скрипты
Php скрипты
Html шаблоны
Книги по Web дизайну
Статьи


Главная страница статей --> Советы по фотошопу, графике и хитрости в построении php кода

Раскрутка сайта, поисковики и... mod_rewrite

Источник: realcoding.net

Всем привет! Для кого предназначена эта статья - для веб разработчиков, для которых реально, что вся раскрутка сайта, которая ему (сайту) нужна, заключается в достижение высших позиций в наиболее популярных поисковых машинах по интересующим ключевым словам, ну и для остальных работников рекламы в интернете (для общего развития, так сказать :-)

ОК. Сразу к делу - как известно, не все еще люди научились пользоваться правильными поисковыми машинами типа 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. Но данный путь, на мой взгляд самый гибкий и удобный.



Похожие статьи:
- Apache + Perl + PHP4 + MySQL для Windows 95/98: руководство по установке
- Apache + PHP + XML + MySQL для Windows
- Что такое RSS?
- Какая поисковая система лучше: Яндекс, Рамблер или Апорт?
- Использование протокола TCP/IP
- Протокол SOCKS 5
- Что такое DNS
- Простой способ повышения Page Rank в поисковых системах
- Search Engine marketing
- Google FAQ для вебмастеров
- Понимание XML
- Берегите почтовый ящик вашего пользователя
- Раскрутился, жди проблем!


Оглавление | Обсудить на форуме | Главная страница сайта | Карта сайта |
[0.001]