Как структурировать список, фильтрующий чистый URL для удобства использования и SEO? - PullRequest
1 голос
/ 01 ноября 2009

Я большой сторонник использования супер чистых URL для всех страниц и списков. Обычно мои URL-адреса нумерации страниц - просто example.com/section/page/2, а теги - example.com/tags/tagname. Обычно я даже пытаюсь не указывать идентификатор строки в URL.

Но как бы вы, ребята, предложили создать список фильтров?

Допустим, у вас есть список автомобилей, и вы хотите отсортировать их по типу, цвету, цене или их комбинации. Допустим, вы хотите отфильтровать список, чтобы получить все седаны зеленого цвета.

Для меня имеет смысл просто:

example.com/cars/?color=green&type=sedan&order=price

Это выглядит не очень хорошо ... Я могу прочитать это просто отлично.

Но ..

example.com/cars/green/sedan/price 

не имеет никакого смысла. Кроме того, было бы mofo, чтобы попытаться выяснить схему маршрутизации для этого.

Кроме того, как это работает с SEO? Будет ли Google сканировать после? Это хорошо, если он выполняет или не сканирует параметры? Будет ли Google индексировать бесконечные сочетания одних и тех же данных плохо?

Ответы [ 6 ]

3 голосов
/ 01 ноября 2009

Я видел пару схем, которые используют именованные параметры в чистом URL. Например:

example.com/cars/color:green/type:sedan/order:price
example.com/cars/page:2

Код для его реализации может быть немного сложнее, но для пользователя это легко понять.

1 голос
/ 03 ноября 2009

Главное, о чем нужно подумать, это то, что происходит, когда пользователь хочет найти все седаны, но не заботится о цвете?

Лично я бы упорядочил поля по их «высокому уровню», как если бы они были категориями. Например, сначала укажите тип, а затем цвет. Любые переменные, которые только изменяют ваш взгляд на данные, например порядок, сохраняются в строке запроса.

Итак, в итоге вы получите:

Все седаны: example.com/cars/sedan
Все зеленые седаны: example.com/cars/sedan/green
Седаны, заказанные: example.com/cars/sedan?order=price
Зеленые седаны, заказано: example.com/cars/sedan/green?order=price

1 голос
/ 01 ноября 2009

когда у вас есть один список, он должен быть проиндексирован Google только один раз. помните "дублированный контент"?

так что вообще я бы не советовал иметь отфильтрованный список в гугле. (но, возможно, это подходит к вашим услугам)

я избегаю использовать чистые URL-адреса для filterparams и в моем robots.txt я блокирую все URL-адреса с помощью queryparams.

0 голосов
/ 02 ноября 2009

Если вы возражаете только за SEO и индексацию, не меняйте свои URI-адреса. Вместо этого используйте тег канонической ссылки и отметьте адрес вашей страницы, который вы хотите проиндексировать. Канонический тег ссылки поддерживается всеми или скоро станет основным поисковым движком и предотвращает избыточное индексирование одной и той же страницы с разными адресами URI.

<link rel="canonical" href="http://example.com/cars/green/sedan/price" type="text/html"/>

Атрибут type не обязателен, но я считаю, что обычно рекомендуется указывать типы mime на всех запрошенных или направленных носителях.

0 голосов
/ 01 ноября 2009

Кроме того, как это работает с SEO? Будет ли Google сканировать после?

Обычно так и будет.

Это хорошо, если он выполняет или не сканирует параметры?

Вам решать, не так ли? Я мог бы представить несколько общих запросов, которые было бы хорошо иметь в индексе, и множество очень подробных, которые не будут. Возможно, вы хотите подготовить несколько запросов для индексации и заблокировать все остальные.

0 голосов
/ 01 ноября 2009

Google уже давно начал сканировать динамические страницы с помощью строк запроса. Так что? в URL не является проблемой для Google.

причина, по которой мы используем чистые URL, не в том, что поисковым системам это не нравится. Чистые URL предназначены для пользователей. Так что не переживайте, если вас беспокоит только SEO, не переживайте.

...