URL-ы! URL-ы! URL-ы!

URLS! URLS! URLS!
автор: Билл Хамфрис (Bill Humphries) и A List Apart
перевод: Александр Качанов

Шастая по Web-у вы наверное часто наталкивались на примерно такие URLы:

/content.cgi?date=2000-02-21
/article.cgi?id=46&page=1

Содержимое этих страниц на лету генерируется серверными скриптами. Содержимое каждой конкретной страницы уникально определяется URL-ом, точно так же, как если бы вы набирали URL типа /content/2000-02-01.html или /article/46.1.html. Эти статические страницы отличаются от тех, что генерируются серверными скриптами например в Интернет-магазинах или на сайтах поиска работы. Поисковые сервера не индексируют содержимое сгенерированных страниц, так как считают, что эти URL-ы как правило ведут в тупики.

Зато поисковый сервер пойдет по такой ссылке:

/content/2000/02/21

Так что если бы существовал какой либо способ преобразования URL типа /content/2000/02/21 в скриптовой URL типа /content.cgi?date=2000-02-21, это бы нам весьма пригодилось.

По таким URL-ам проще ходить не только роботам-поисковикам, но и пользователям - так как их проще запомнить. Глядя на такие URL, завсегдатай сайта всегда поймет, как отыскать информацию опубликованную в интересующий его день. Когда на своем сайте WebLog я изменил интерфейс просмотра статей по темам с /meta.php3?meta=XML на /meta/XML, поисковые роботы, например Google, стали индексировать мои страницы, и на мой сайт стало приходить больше посетителей по ссылкам с поисковых серверов.

Хитрость заключается в том, чтобы всему миру показать, что интерфейс ссылок у вас один: /content/ГГГГ/ММ/ДД, а на самом деле другой - /content.cgi?date=ГГГГ-ММ-ДД. Веб-сервера, такие как Apache и системы управления контентом типа Manila от Userland's и проект Zope, поддерживают такие функции.

Подобная хитрость полезна еще и потому, что редко, когда структура сайта остается неизменной. Когда вы замените Perl-скрипты на Java Server Page, ваши URL-ы поменяются и примут вид /content.jsp?date=ГГГГ-ММ-ДД. Это значит, что посетители не смогут пользоваться сделанными ранее ссылками. В то же время, если ваши пользователи сделают закладку на /content/ГГГГ/ММ/ДД, при смене движка вы просто поменяете конфигурацию и URL-ы будут указывать на /content.jsp?date=ГГГГ-ММ-ДД без всякого ущерба для посетителей.

Если же вы не выводите содержимое сайта динамически и пользуетесь статическими страницами с URL-ами типа:

/content-ГГГГ-ММ-ДД.html,

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

1. Красивый URL - важная деталь
2. Как настроить Apache
3. RewriteRule для статических страниц

Rambler's Top100
Rating All.BY
Akavita
Valid XHTML 1.0!