Где лучше всего разместить идентификатор страницы в удобном для пользователя URL-адресе? [дубликат]
Я искал на сайте, но нигде не нашел точного ответа на мой вопрос, поэтому я задаю его здесь:
Какая из этих структур для user-friendly
url
является лучшим в отношении search engines
и пользовательского опыта:
http://www.example.com/category/sub-category/sub-sub-category/article/ID
Или
http://www.example.com/ID/category/sub-category/sub-sub-category/article
Или, возможно:
http://www.example.com/category/ID/sub-category/sub-sub-category/article
Другими словами, лучше ли размещать идентификатор в конце url
или в начале, или, может быть, где-то в середине?
И еще один вопрос: лучше ли добавить завершающую косую черту в конец url
?
Чтобы угадать, сколько времени будет таким, url
количество слов в каждом разделе url
равно:
Категория-название: 2 слова
Подкатегория-название: 1 слово
Su-подкатегория-название: 1-4 слова (в среднем 2 слова)
Артикль-название: Средний: 4 слова
Большое вам спасибо
1 answers
Есть две вещи, которые вы должны иметь в виду:
- Чем легче запомнить, тем лучше
- вы должны иметь возможность удалять каждую часть URL-адреса, не нарушая его
Это делает ваши 3 примера довольно простыми:
A http://www.example.com/category/sub-category/sub-sub-category/article/ID
B http://www.example.com/ID/category/sub-category/sub-sub-category/article
C http://www.example.com/category/ID/sub-category/sub-sub-category/article
Идентификатор в B&C слишком близок к домену. Если бы вы удалили "/статью" с URL-адреса, вам пришлось бы просмотреть страницу подкатегории. Идентификатор продукта больше не имеет никакого смысла.
Это оставляет A. Правило 1 здесь не работает (вы должны иметь возможность удалить /ID
из URL-адреса), но есть простое решение:
http://www.example.com/category/sub-category/sub-sub-category/article-ID
Я заменил последнюю косую черту тире. Вы можете легко взять идентификатор с помощью чего-то вроде:
$pid = substr($url, strrpos($url,'-')+1); // find the last dash
Вы не можете использовать explode здесь и взять последнее значение, это приведет к разрыву с /example-string-123
. Используете ли вы id-name
или name-id
, на самом деле не имеет значения.
Оффтопик: Я бы сохранил структуру URL-адреса A, но URL-адрес продукта, который я пытаюсь сделать очень коротко:
A http://www.example.com/article-ID
B http://www.example.com/ID-article
C http://www.example.com/Brandname-article-ID
Если продукт изменит категорию, URL-адрес останется прежним. Меньше мертвых ссылок, меньше поводов для беспокойства, а более короткие URL-адреса (часто) лучше. Если вы хотите немного упростить различие, код может добавить .htm
после URL-адреса только для продуктов.
Это позволяет отображать продукты несколько раз, если они соответствуют нескольким критериям. Допустим, у вас есть потрясающая синяя футболка (ABT), вы можете отобразить ABT в обзорах /blue-stuff
и /t-shirts
.
Это просто мое предпочтение после нескольких лет опыта.