Лучший способ отформатировать красивые URL для числовых идентификаторов - PullRequest
9 голосов
/ 12 мая 2009

Хорошо, допустим, я пишу приложение для форума и хочу красивые URL-адреса. Однако во всех моих таблицах используются числовые идентификаторы, поэтому я не уверен, что лучше всего форматировать URL-адреса этих ресурсов. Давайте представим, что я пытаюсь получить тему с идентификатором 123456 и заголовком Это сообщение на форуме . Я видел, как это делалось несколькими способами:

  1. www.example.com / тема / 123456
  2. www.example.com / тема / это-это-форум-сообщение
  3. www.example.com / тема / 123456 / это-это-форум-сообщение

Что бы вы сказали, принимая во внимание все вещи (включая SEO), оптимальный URL?

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

Ответы [ 10 ]

15 голосов
/ 12 мая 2009

Я бы выбрал вариант 3 и сделал бы слаг (последний бит) необязательным

Потому что

  • Идентификатор всегда будет уникальным ... 2 человека могут создать ветку с названием "хорошие новости", например
  • Поисковые роботы могут получить доступ к слагу для SEO-совершенства
  • Слаг должен быть необязательным ... Использование только идентификатора должно по-прежнему давать вам доступ к сайту. Возможно, если слаг не существует, вы можете переслать его, если вас беспокоит дублированный контент. Вы всегда можете использовать канонический метатег, чтобы указать Google индексировать версию с ошибками.
  • Еще одним преимуществом дополнительного слага является то, что если кто-то копирует и вставляет URL-адрес в документ, есть вероятность, что в конце могут быть вырезаны символы (поскольку URL-адреса обычно не имеют пробелов, поэтому они не ломаются на новые линии). Наличие опционального слага означает, что люди с большей вероятностью найдут вашу страницу.

Я считаю, что это то, что делает переполнение стека ... и также замечаю, что они довольно хорошо работают в поисковых системах.

Обновление

Из комментариев обязательно 301 перенаправьте любую недостающую версию слага на правильный слаг.

6 голосов
/ 12 мая 2009

URL 1 определенно неоптимальный. URL 2 привлекателен, но вы рискуете запутаться, если теги сталкиваются, особенно если они отличаются только пунктуацией. Так что я бы сказал, что URL 3 - явный победитель.

Также обратите внимание, что только потому, что вы отображаете URL-адрес 3, нет причин не принимать все 3 с двумя другими перенаправлениями. Если URL 2 является неоднозначным, его следует перенаправить на страницу устранения неоднозначности.

2 голосов
/ 12 мая 2009
  1. Не включает заголовок, поэтому вы потеряете дополнительное значение SEO, связанное с этими ключевыми словами в URL.

  2. Не будет работать хорошо, потому что у него нет уникального числового идентификатора, так что вы будете делать, если кто-то попытается опубликовать тему под названием «Это сообщение на форуме»? Затем вы начинаете разбираться со странными вещами, которые делает digg, когда ему нужно присвоить второй URL-адрес "http://www.example.com/topic/this-is-a-forum-post_2", и т. Д. Это затрудняет выбор URL-адреса, который они пытались загрузить, и выяснение, какой именно тема, к которой они пытались добраться.

  3. Имеет лучшее из обоих миров, это был бы мой стиль выбора.

2 голосов
/ 12 мая 2009

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

1 голос
/ 10 июня 2009

Я не уверен, что длинные URL-адреса - это проблема SEO. Глубина, кажется, является более серьезной проблемой, и не путем подсчета косых черт, а по шагам, необходимым для перехода от проиндексированной страницы с рангом к странице контента. Недавно я создал фиктивную тестовую страницу под названием /content/roofing/how-much-does-a-shingle-roof-cost.html и бросил ее на сервер, чтобы проверить пути и убедиться, что мои каталоги работают правильно. Я даже не уверен, как Google обнаружил страницу, но она это сделала и начала получать трафик, поэтому мне пришлось дать ей контент и сделать его частью семьи. Фиктивный контент был копией нашей страницы «о», поэтому он не был пустым, но я был удивлен, что не продвинутая страница получит поддержку, и я думаю, что URL как-то связан с этим.

Что приводит к небольшой альтернативе вышеупомянутым 3 вариантам для URL. Что если вы пошли с номером 3, но добавили .html в конец? Я обычно делаю это с динамическими URL, но у меня нет конкретных доказательств того, что это полезно. По словам Google, они хвастаются, что они могут индексировать динамические URL-адреса просто отлично, и поэтому нет необходимости вообще переписывать URL-адреса. Google не против, если другие движки не так хороши в этом. Несколько сайтов, которым я доверяю, добавляют html в конце (например, блогер), и это не повредит, поэтому я все еще делаю это.

1 голос
/ 12 мая 2009

Я бы выбрал вариант 2, поскольку SEO может лучше понять.

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

Но по опыту работы с Google довольно часто я видел решение на других форумах, в то время как решения для работы со стеком почти невидимы.

Лучший способ отформатировать красивые URL для числовых идентификаторов Лучший способ отформатировать красивые URL для числовых идентификаторов

если оба URL были одинаковыми, SEO просто использует вариант 2, который менее оптимизирован.

1 голос
/ 12 мая 2009

Для SEO / трафика, безусловно, № 2 без сомнения. Получайте эти бессмысленные числа из URL каждый раз.

www.example.com / тема / это-это-форум-сообщение * * 1003

заберите "this-is-a-forum-post" из вашей базы данных и сопоставьте его с идентификационным номером в вашей базе данных с помощью запроса. Затем выполните внутренний URL-адрес, переписайте реальную страницу, например, /topic.php?ID=324342

.
1 голос
/ 12 мая 2009

Я пойду за первым. Вы знаете, это действительно не имеет значения сейчас. Поскольку есть конвертер длинных URL-адресов, он будет только распространяться и станет нормой в будущем. Помните, что чем длиннее ваш URL, тем меньше очков SEO вы получите.

И вы не можете контролировать, как люди называют свои темы на форуме. Так что на самом деле, я просто выберу первый для простоты и нормы.

1 голос
/ 12 мая 2009

Stackoverflow использует шаблон 3, заголовок полностью игнорируется (используется только идентификатор).

Это обеспечивает хороший семантический URL, а также прост в реализации, и все еще работает, если заголовок изменится позже.

Конечно, название может быть полностью поддельным:

Лучший способ отформатировать красивые URL для числовых идентификаторов

0 голосов
/ 12 мая 2009

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

www.example.com/topic/123456

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

...