Какой формат URL выбрать?

Идет разработка CMS. Новости + форум. Возникла проблема, что не могу придумать оптимальный формат адресов. Важно и SEO и максимальная красота адреса.


Раньше на сайте все было так

site.ru/category1-category2/name-of-news


сейчас подумал и решил, что при смене категорий ссылки будут биться. Категория меняется не часто, но если добавить/удалить категорию, то ссылки побьются.


однако если я откажусь от категорий, я потеряю важные ключевики — названия категорий.


При этом если сделать URL вида:

site.ru/name-of-news

то может получиться, что через год у меня будет такая же новость с таким же текстом, и что тогда? Циферку в конец добавлять?


Думал думал и придумал, что можно сделать ссылку вида:

site.ru/123/name-of-news, где

123 — номер самого поста. Это вроде бы решает проблему с теоретической возможностью совпадения адреса, но вроде бы уже не так красиво…


Подскажите как быть? Какой вариант предпочтительнее? Может есть еще варианты, которые я упускаю?
  • Вопрос задан
  • 4064 просмотра
Пригласить эксперта
Ответы на вопрос 12
amureki
@amureki
Python/Django
Как вариант:
site.ru/2012/08/27/newsname/
Ответ написан
Комментировать
colonel
@colonel
Разработчик PHP, Laravel
Делайте как и раньше.
При смене имени категории через 301 редирект отправляйте на новую ссылку.
Ответ написан
nazarpc
@nazarpc
Open Source enthusiast
Я пишу к своей CMS модуль блога — адрес записей выбрал такой:
site.ru/name_of_news:123
Нижние прочерки как по мне меньше мешают чтению адреса.
Ответ написан
EugeneOZ
@EugeneOZ
Названия категорий лучше оставить,
category/123/news_title
Где 123 это номер поста
Ответ написан
Комментировать
deleted-mifki
@deleted-mifki
Главное, в адрес добавить идентификатор новости в любом месте, тогда вы его сможете вычленить и использовать, а остальные части адреса будут просто для красоты, но реально ни на что не влиять, даже если категории изменятся.
Ответ написан
4ikist
@4ikist
делайте так: /news-name
А чтобы избежать коллизий — при сохранении на серверной стороне проверяете доступность имени, если не доступно — приписываете к slug-y timestamp, а для пользователей делаете ajax проверку доступности до сохранения.
Ответ написан
Комментировать
grossws
@grossws
Из вариантов могу предложить example.com/cat-name/123/news-name в качестве постоянной ссылки, причем с глобально-уникальными id. Это позволит при отсутствии категории (или её изменении) сделать редирект.
Ответ написан
Комментировать
самый оптимальный вариант site.ru/name-of-news
для Seo очень важна вложенность. чем она меньше, тем быстрее и лучше всё проиндексируется.
Также для seo очень важно то, чтобы название новости писалось транслитом. Если такое название уже существует, то проще всего дописать порядковый номер, он меньше всего повлияет на видимость в поисковиках
Ответ написан
nazarpc
@nazarpc
Open Source enthusiast
остальные части адреса будут просто для красоты, но реально ни на что не влиять, даже если категории изменятся
Ответ написан
у меня site.ru/news/dd_mm_yy
Ответ написан
Комментировать
@beduin01 Автор вопроса
К слову,
site.ru/123/name-of-news будет считаться как УВ3?
а
site.ru/123-name-of-news УВ2?
Ответ написан
Vorchun
@Vorchun
А почему не так:

Категория: site.ru/news/<имя_категории>

Новости за время: site.ru/news/// — оставьте то, что надо

или новости в категории за время Новости за время: site.ru/news/<имя_категории>.//

Вторая страница в категории: site.ru/news/<имя_категории>/page2

Новость: site.ru/news/<ID_новости>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы