Почему важны URL?
Статические URL и динамические URL
Статические URL
Динамические URL
URL-адреса и CTR
URL-адреса и дублированный контент
URL-адреса в реальном мире
Пример 1: динамические URL-адреса
Пример 2: числовая подмена в URL-адресах
Пример 3: URL-адреса со вставленными ключевыми словами
Поддержка согласованности URL-адресов
Независимо от того, являются ли ваши URL-адреса статическими или динамическими,важно поддерживать их согласованность. В случае динамических URL важно поддерживать в них согласованный порядок параметров, если их больше одного.
В РНР обращение к параметрам в строке запроса обычно выполняется по
имени,а не по порядковому номеру. Порядок, в котором параметры находятся
в строке, не влияет на работу PHP-сценария, если только этот сценарий
специально не учитывает цорядок параметров.
В следующем примере PHP-сайт сгенерирует в точности тот же контент, но используя различные URL:
http://www.example.com/catalog.php?product_id=1&category_id=2Если сценарий catalog.php выбирает параметры как $_GET [product_id] и $_GET [category_id], то эти два URL сгенерируют идентичный контент. Нет стандарта,согласно которому порядок параметров в URL-адресах не важен. Поэтому если в одном и т ом же сайте имеются обе эти динамические ссылки, то поисковые механизмы могут просмотреть два различных URL с идентичным контентом, что может привести к наложению штрафа на сайт.
http://www.example.com/catalog.php?category_id=2&product_id=1
В общем, лучше быть последовательным и определить стандартный порядок параметров,чтобы избежать проблем и повысить ранг сайта. А теперь рассмотрим пример,где порядок параметров может иметь значение:
http://www.example.com/compare_products.php?item[]=1&item[]=2Здесь параметра с именем item используется для заполнения РНР-массива $_GET [item]. В первом случае этот массив содержит (1,2), а во втором — (2,1). Здесь поисковый механизм не может предполагать, что URL-адреса эквивалентны, и так оно и может быть на самом деле.
http://www.example.com/compare_products.php?item[]=2&item[]=1
Программист может также применять однотипные правила употребления
заглавных букв в именах файлов и строках запроса. Поисковые механизмы не
учитывают такие простые отличия, в особенности потому, что имена файлов
в Windows не чувствительны к регистру букв, однако следующие URL-адреса
технически различаются как в Windows, так и в Unix:
http://www.example.com/products.php?color=redи
http://www.example.com/PRODUCTS.php?color=REDВаш сценарий может считать эти URL эквивалентными, но у поискового механизма может быть иное мнение. Здесь опять-таки желательна последовательность и однотипный стиль. Разработчик может также постоянно ссылаться на каталоги Web-сайта с помощью завершающего символа /. Например, если вы пользуетесь URL-адресами с числовыми заменами, то лучше не ссылаться на один и тот же продукт с помощью обеих следующих ссылок, даже если ваш сценарий успешно распознает их:
http://www.example.com/Products/1/и
http://www.example.com/Products/1На самом деле поисковые механизмы могут разобраться во многих из таких двусмысленностей.
Мэтт Каттс уверяет, что Google может "выполнять такие действия, как сохранение или удаление концевых слэшей, (и пытаться) преобразовывать URL-адреса с прописными буквами в строчные" (http://www.mattcutts.com/bl6g/seo-advice-url-canonicalization/) , но это лишь часть уже упомянутых неоднозначностей.
Лучше всего не надеяться на поисковые механизмы и удалить все такие подозрительные и неясные места.
Чтобы быть полностью последовательным, можно создать функцию для каждого типа URL, нужного сайту. Однотипное форматирование достигается с помощью логики этой функции. Как показано в Дублированный контент , согласованность попутно облегчает исключение файлов из индексирования в файле robots.txt, т.к. проблемы, связанные с порядком параметров и регистром их букв, проявляются и там.
Например, при создании Web-сайта электронной коммерции можно создать такую функцию:
function create_link($category_id, $product_id)Вызов функции с параметрами 5 и 6 возвращает строку product.php?category_id=5&product_id=6. Использование этой функции во всем Web-сайте гарантирует однотипность формата всех ссылок.
{
return 'product.php?category_id=' . $category_id . '&product_id=' . $product_id;
}
Данная реализация функции create_link() специально упрощена и не годится для реальных ситуаций. Если вы хотите более существенно усовершенствовать свои URL-адреса, необходимо использовать более сложные функции в сочетании с подменой URL. Преимущества однотипности URL проявляются и здесь. Следующий раздел посвящен как раз этой теме.
Подмена URL
Инсталляция mod_rewrite
Тестирование mod_rewrite
Введение в регулярные выражения
Подмена URL и PHP
Подмена числовых URL с двумя параметрами
Подмена URL с ключевыми словами
Создание генератора ссылок
Разбиение на страницы и подмена URL
Подмена изображений и потоковых носителей
Проблемы, которые подмена не может решить
Последнее предостережение
Резюме