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

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

  1. www.example.com/topic/123456
  2. www.example.com/topic/this-is-a-forum-post
  3. www.example.com/topic/123456/this-is-a-forum-post

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

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


person Sasha Chedygov    schedule 12.05.2009    source источник


Ответы (10)


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

Так как?

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

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

Обновлять

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

person alex    schedule 12.05.2009
comment
Хм, я собирался спросить вас, должен ли я сделать «слаг» необязательным, но, похоже, вы прочитали мои мысли. Спасибо! :) - person Sasha Chedygov; 12.05.2009
comment
Ха-ха, я могу сделать это иногда! - person alex; 12.05.2009
comment
Убедитесь, что вы определили свой канонический URL-адрес на странице. - person Joe Phillips; 12.05.2009
comment
если вы сделаете слаг необязательным, обязательно перенаправьте неправильные или отсутствующие слаги на правильную каноническую версию. Это гарантирует, что поисковые системы увидят только одну страницу. (stackoverflow.com делает это неправильно) - person levinalex; 01.06.2009
comment
Stackoverflow.com также делает это перенаправление правильно (по крайней мере, сейчас). - person Lode; 25.10.2012

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

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

person Norman Ramsey    schedule 12.05.2009
comment
Последнее предложение - отличная идея... вроде Википедии! - person alex; 12.05.2009
comment
Хм, определенно хорошая идея (поддерживаю все три). Я посмотрю на это. Спасибо. - person Sasha Chedygov; 12.05.2009

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

person Gromer    schedule 12.05.2009

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

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

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

person Chad Birch    schedule 12.05.2009
comment
Вы правы, метод № 2 вообще не выглядит хорошо, когда есть дубликаты. Не думал об этом. - person Sasha Chedygov; 12.05.2009


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

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

person rymn    schedule 12.05.2009

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

www.example.com/topic/this-is-a-forum-post

возьмите «это сообщение на форуме» из вашей базы данных и сопоставьте его с идентификационным номером в вашей базе данных с помощью запроса. Затем перепишите внутренний URL-адрес на реальную страницу, что-то вроде /topic.php?ID=324342.

person Aaron    schedule 12.05.2009

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

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

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

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

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

person Arun Annamalai    schedule 12.05.2009

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

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

person Qualsmith    schedule 10.06.2009
comment
Хорошая находка. Но чем поможет .html? - person Sasha Chedygov; 11.06.2009
comment
.html просто сообщает движку, что это, скорее всего, статический документ или, по крайней мере, вы предполагаете, что с ним будут обращаться именно так — и поможет ли это? Я не уверен. - person Qualsmith; 29.06.2009

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

www.example.com/topic/123456

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

person Sujoy    schedule 12.05.2009