Какова идеальная длина URL-слаг - PullRequest
20 голосов
/ 27 мая 2010

Чтобы сделать красивые URL из заголовков статей, я использую простую функцию. Однако в последнее время меня беспокоит идеальная длина этих "слизней". Говорят, что слишком много штрихов - это плохо.

Однако некоторые заголовки статей могут быть длинными, и слишком длинный URL может не понравиться Google. Конечно, это отрицает всю идею наличия URL-слагов.

Так кто-нибудь знает, как долго должен быть URL-слаг. Должен ли быть предел используемых символов «тире»?

Ответы [ 4 ]

25 голосов
/ 30 мая 2010

Если вы действительно хотите экономно использовать пространство URL, я бы удалил статьи (, a, a и т. Д.) Более агрессивно, чем предлоги и глаголы, поскольку удаленные статьи не сильно меняют семантику предложения.

, например

What is the ideal length of an URL slug

удалить статьи

What is ideal length of URL slug

удалить "Что есть"

ideal length of URL slug

Нормализация

ideal-length-of-url-slug
3 голосов
/ 30 мая 2010

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

Что касается того, как сохранить ваши URL-адреса разумной длины, я думаю, что URL-адреса должны выбираться вручную, когда это возможно. Вы написали целую статью, а также можете составить краткий URL для нее. Ниже приведен файл .htaccess для моего блога, если он окажется для вас полезным. Каждая статья имеет длинный URL-адрес, например

myblog.com/2010/05/30/ideal-length-of-url-slug

(Wordpress предлагает значение по умолчанию, но я обычно немного сокращаю его вручную.) И затем я использую правило переписывания, как показано ниже, чтобы сделать краткую версию, которую я обычно могу запомнить и легко упомянуть (или для Твиттера, конечно). Что-то вроде

myblog.com/slugs

Вот содержимое моего файла .htaccess в / var / www / html / myblog:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^admin/?$       wp-admin  [L]

# Aliases for blog posts: (NB: NEVER CHANGE/DELETE THESE; ONLY ADD NEW ONES!)
RewriteRule ^flu/?$         2009/03/21/the-future-is-yesterday [R,L]
RewriteRule ^oracle/?$      2009/03/25/the-oracle-of-brackets [R,L]
RewriteRule ^perfbrack/?$   2009/03/29/the-perfect-bracket [R,L]
RewriteRule ^nytimes/?$     2009/04/01/anon-sources-at-the-new-york-times [R,L]
RewriteRule ^mktbottom/?$   2009/04/07/finding-the-market-bottom [R,L]
RewriteRule ^landlords/?$   2009/05/24/landlords [R,L]
RewriteRule ^buyrent/?$     2009/06/01/buyrent [R,L]
RewriteRule ^sunk/?$        2009/06/23/sunk [R,L]
RewriteRule ^horse/?$       2009/07/01/horse [R,L]
RewriteRule ^wellmanblog/?$ 2009/07/31/wellmanblog [R,L]
RewriteRule ^centmail/?$    2009/08/15/centmail [R,L]
RewriteRule ^longtail/?$    2009/08/31/anatomy-of-the-long-tail [R,L]
RewriteRule ^scarequotes/?$ 2009/09/30/scarequotes [R,L]
RewriteRule ^scare/?$       2009/09/30/scarequotes [R,L]
RewriteRule ^dst/?$         2009/10/31/dst [R,L]
RewriteRule ^searchpred/?$  2009/11/30/what-can-search-predict [R,L]
RewriteRule ^scrooge/?$     2009/12/31/scrooge [R,L]
RewriteRule ^pmhype/?$      2010/01/14/prediction-without-markets [R,L]
RewriteRule ^predmarkets/?$ 2010/01/14/prediction-without-markets [R,L]
RewriteRule ^calibration/?$ 2010/02/28/calibration [R,L]
RewriteRule ^calib/?$       2010/02/28/calibration [R,L]
RewriteRule ^calresults/?$  2010/03/31/calibration-results [R,L]
RewriteRule ^misleadingmeans/?$ 2010/04/30/misleading-means [R,L]

</IfModule>

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

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

myblog.com/foo

и затем разрешить косую черту, за которой следует что-нибудь еще, например

myblog.com/foo/fooing-and-barring-in-the-modern-world

Вот для этого правило переписывания:

RewriteRule ^foo(/.*)?$   foo [R,L]

Дополнительные правила могут быть добавлены, если вы хотите, например, myblog.com/bar в качестве псевдонима для myblog.com/foo:

RewriteRule ^bar(/.*)?$   foo [R,L]

Недостатком здесь является то, что если вы хотите, чтобы ваши слагы статей находились в глобальном пространстве имен вашего сайта - что, я думаю, предпочтительнее, чем myblog.com/articles/foo, - то вам нужно добавить правило перезаписи. за каждую статью.

2 голосов
/ 29 мая 2010

Я не думаю, что ограничение на количество используемых тире символов будет иметь значение. Максимальная длина строки не должна превышать 80-100 символов.

Как и в back2dos, вы можете удалить некоторые общие слова, но в идеале слаг должен иметь смысл как заголовок страницы. Например, на этой странице удаление всех распространенных слов дает вам ideal-length-url-slug, что вроде работает. Но я бы сказал, ideal-length-of-url-slug лучше.

2 голосов
/ 27 мая 2010

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

Насколько я понимаю, Google очень ориентирован на ключевые слова, а такие слова, как "что", "есть", "the", "of", "an", не очень хорошие ключевые слова.

В любом случае, если вы сохраняете только самые характерные и важные слова, слаг не может стать слишком длинным в том смысле, что более короткий URL будет содержать менее важную информацию.

Конечно, это всего лишь предположение.

Greetz
back2dos

...