Что делает "дружественный URL"?

Недавно я прочитал много дискуссий (как на этом сайте, так и в других местах) о "дружественных URL ", но я не уверен, что именно делает URL "дружественным" и почему мы действительно заботимся (до определенного момента), Иллюстрация:

Ниже приведен пример URL-адреса, который большинство нынешних веб-разработчиков считают "дружественным":

www.myblog.com/posts/123/this-is-the-name-of-my-blog-post

Принимая во внимание, что это будет считаться "недружественным" (то есть плохим, неандертальцем, невежественным, глупым):

www.myblog.com/posts.aspx?id=123

Мои вопросы:

  • Разве "дружественный" URL-адрес не содержит дублирующую идентификационную информацию о данном посте в блоге? Другими словами, когда у вас есть идентификатор (123) поста, зачем вам заголовок? Не будет ли это нарушением мантры "не повторяйся"?
  • Какое значение имеет форма URL для пользователей? В действительности ли пользователи вводят полные URL-адреса вручную (кроме TLD, конечно)? Пользователи когда-либо смотрят на URL страницы, чтобы определить, о чем эта страница? Зачем нам нужен заголовок поста в блоге? Разве это не то, что на странице <title> тег и контент для?
  • Я часто слышу SEO как причину, по которой предпочитают "дружественную" форму URL. Почему паук поисковой системы заботится об URL? Разве они не просто автоматизированные части программного обеспечения, которые сканируют страницы (и ссылки на другие страницы, содержащиеся в них)? Если бы поисковые системы были написаны как другие программные компоненты (например, компоненты доступа к базе данных), URL-адрес был бы для них просто бессмысленным идентификатором (похожим на rowguid в реляционной базе данных). Если бы я проектировал схему базы данных с чем-то вроде приведенного выше "дружественного" URL-адреса в качестве первичного ключа таблицы, я бы (вполне корректно) был разобрался.

Я сказал ранее "до определенного момента", потому что, очевидно, URL-адреса могут выйти из-под контроля. Вот фактический URL от Amazon.com, который, я думаю, никто в здравом уме не посчитает "дружелюбным":

http://www.amazon.com/Bissell-Kitchen-Housewares/b/ref=amb_link_5001972_17?ie=UTF8&node=694500&pf_rd_m=ATVPDKIKX0DER&pf_rd_s=gp-center-5&pf_rd_r=1ZXNJFE0CCFFDH4B9HGH&pf_rd_t=101&pf_rd_p=405478901&pf_rd_i=510080

19 ответов

Решение

Тим Бернерс-Ли (архитектор WWW) написал отличную статью на эту тему около 10 лет назад.

  • Ваш пример - плохой URL - но не только потому, что у него есть и идентификатор, и "слаг" (сокращенная, дефисированная форма заголовка страницы). Вставка заголовка страницы в ваш URL проблематична в долгосрочной перспективе. Содержание будет меняться со временем. Если вы когда-нибудь измените заголовок этого сообщения в блоге, вам придется выбирать между сохранением старого URL-адреса или изменением URL-адреса в соответствии с новым заголовком. Изменение URL приведет к разрыву любых предыдущих ссылок на эту страницу; и не изменять его означает, что у вас будет URL, который не соответствует странице. Ни один не подходит для пользователя. Лучше просто пойти с www.myblog.com/posts/123.

  • Пользователям часто нужно вводить URL-адрес, но, что более важно, иногда они также будут редактировать существующие URL-адреса, чтобы найти другие страницы на вашем сайте. Таким образом, часто полезно иметь обнаруживаемые URL-адреса. Например, если я хочу увидеть сообщение № 124, я мог бы легко просмотреть текущий URL-адрес и предположить, что URL-адрес страницы, которую я хочу видеть, является www.myblog.com/posts/124. Это уровень удобства для пользователей, который может помочь людям, пытающимся найти то, что они ищут. Включение другой информации (например, темы сообщения) может сделать это невозможным - поэтому это уменьшает мои возможности исследования.

  • Забудьте о SEO. Технология поисковых систем уже давно снижает эффективность SEO-хаков. Хороший контент по-прежнему ценится - и в конечном итоге вы не сможете играть в систему.

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

Итак, в ваших двух примерах:

  • www.myblog.com/posts/123/this-is-the-name-of-my-blog-post дружественный, потому что вы включили заголовок в URL - он говорит вам кое-что о странице.
  • www.myblog.com/posts.aspx?id=123 недружелюбен, потому что загадочен и неясен: он имеет смысл для базы данных, но не для вас или меня.

Дружественные URL-адреса являются фантастическими в одних ситуациях и бесполезными в других. По сути, если пользователь когда-либо подвергнется этому, я бы сделал дружественное создание URL-адреса приоритетом, а это не просто вопрос эстетики. Это значительно облегчает возврат к URL-адресам из адресной строки, если вы можете быстро увидеть и понять, какие есть различные варианты, плюс это делает более очевидным, куда вы собираетесь перейти, если вы переходите по ссылке из Интернета. стр.

Объедините все это с потрясающей панелью в Firefox 3+ (наверняка, также в других браузерах), и автозаполнение в адресной строке становится невероятно мощным, когда вы работаете с дружественными URL-адресами.

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

Добавление в ваш URL ссылки, такой как this-is-the-name-my-blog-post, также делает ваши ссылки более отличными друг от друга, чем простой идентификатор, и добавляет более значимые слова в URL-адрес. Это все, что ищут поисковые системы.

Лично я считаю, что такие URL-адреса гораздо проще анализировать визуально, поскольку используется меньше знаков препинания, а пары имя-значение в строке запроса могут быть очень многословными и их трудно запомнить.

Это хороший момент о том, как вы помещаете ненужную информацию в URL.

http://stackru.com/questions/522466/what-makes-a-friendly-url

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

http://stackru.com/questions/522466/omg-goatse-bought-by-bill-gates

Тем не менее, он по-прежнему будет ссылаться на этот пост. Вы можете видеть, как это может вызвать больше проблем, чем стоит, потому что они могут быть использованы злонамеренно.

Я чувствую, что Digg принял правильный подход к этому. Они не используют идентификаторы в своих URL. За кулисами они получают идентификатор из своей базы данных только по названию.

http://digg.com/linux_unix/I_Like_Linux_so_my_aunt_sends_me_this_for_Christmas

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

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

Мои мысли о ваших трех пулях:

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

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

Например, сравнивая

www.aTvShowSite.com/show.aspx?id=123
www.aTvShowSite.com/show.aspx?id=124

робот скажет хорошо, я не знаю, что это такое... но они похожи на одну и ту же страницу для меня.

Тогда как сравнение

www.aTvShowSite.com/shows/AmericanIdol
www.aTvShowSite.com/shows/Lost

заставляет их выглядеть как разные страницы (хотя это может быть одна и та же страница aspx, которая их обслуживает), и роботы имеют тенденцию ранжировать их выше.

РЕДАКТИРОВАТЬ: Кроме того, следует отметить, что многие роботы просматривают текст URL-адреса, чтобы определить полезность, поэтому поиск "Потерянный", скорее всего, попадет на второй тип URL-адреса больше, чем первый, даже если содержимое страницы идентично.

Что касается:

Не будет ли это нарушением мантры "не повторяйся"?

Это относится к приложению код!, а не приложение само по себе!

Это имеет полный смысл иметь

  • Заголовок в теге </li><li>В URL </li><li>И как первая строка в содержании.</li></ul><p>И почти везде контент нужен.</p><p>На что ссылается эта "мантра", если ваш код должен выглядеть так:</p><pre><code> <title><%=obj.getTitle()%></title> Reading:<h1><%=obj.getTitle()%></h1> Link to this:<a href="getHrefFor( object.getTitle() )">obj.getTitle()</a> Etc. etc. </code></pre><p>Вместо использования разных методов с копируемым / вставленным кодом по всему приложению.</p> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">4</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/522466/what-makes-a-friendly-url/547952#547952" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/8141625/chto-delaet-druzhestvennyij-url/8141648#8141648" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/20654/user20654" class="q-user" rel="noopener" target="_blank">user20654</a> </span> <span class="q-date" title="2009-02-13 22:31"> 13 фев '09 в 22:31</span> <span class="hidden" itemprop="dateCreated" datetime="2009-02-13 22:31">2009-02-13 22:31</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2009-02-13 22:31">2009-02-13 22:31</span> </div> </div> <div id="8141681" class="answer " itemscope itemtype="http://schema.org/Answer" itemprop="suggestedAnswer"> <div class="a-body"> <div class="a-text" itemprop="text"> <p>Я согласен с тобой, но не говори никому.</p><p>Это просто мое скромное мнение, но мне кажется, что</p><pre><code>http://stackru.com/questions/522466/ </code></pre><p>а также</p><pre><code>http://stackru.com/questions/522466/what-makes-a-friendly-url </code></pre><p>это та же страница. Я имею в виду, я вижу, что заголовок вопроса через дефис дает URL некоторый контекст, но если вы не знаете, что эта часть необязательна, то URL просто удлиняется излишне.</p> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">4</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/522466/what-makes-a-friendly-url/522486#522486" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/8141625/chto-delaet-druzhestvennyij-url/8141681#8141681" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/56793/user56793" class="q-user" rel="noopener" target="_blank">user56793</a> </span> <span class="q-date" title="2009-02-06 22:28"> 06 фев '09 в 22:28</span> <span class="hidden" itemprop="dateCreated" datetime="2009-02-06 22:28">2009-02-06 22:28</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2009-02-06 22:28">2009-02-06 22:28</span> </div> </div> <div id="8141674" class="answer " itemscope itemtype="http://schema.org/Answer" itemprop="suggestedAnswer"> <div class="a-body"> <div class="a-text" itemprop="text"> <p>Во-первых, они дружелюбны к поисковым роботам. Google и другие пользователи высоко ценят слова в URL, которые совпадают со словами на странице, поэтому, если заголовок вашего блога находится в URL-адресе, это поможет вашему поисковому движку.</p><p>Во-вторых, они дружелюбны к людям, которые не знают, что они посещают. По каким ссылкам, которые вы использовали для сравнения, вы с большей вероятностью перейдете по ссылкам в своем твиттере / электронной почте /IM/ и т. Д.</p> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">4</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/522466/what-makes-a-friendly-url/522502#522502" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/8141625/chto-delaet-druzhestvennyij-url/8141674#8141674" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/1786/user1786" class="q-user" rel="noopener" target="_blank">user1786</a> </span> <span class="q-date" title="2009-02-06 22:30"> 06 фев '09 в 22:30</span> <span class="hidden" itemprop="dateCreated" datetime="2009-02-06 22:30">2009-02-06 22:30</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2009-02-06 22:30">2009-02-06 22:30</span> </div> </div> <div id="8141672" class="answer " itemscope itemtype="http://schema.org/Answer" itemprop="suggestedAnswer"> <div class="a-body"> <div class="a-text" itemprop="text"> <p>"Недружественный" URL, который вы показываете, раскрывает детали реализации: что, если когда-нибудь в будущем вы решите отказаться от ASP и использовать что-то еще? Вам придется изменить все URL-адреса (baad!) Или использовать схему переименования.</p><p>Повторение заголовка в URL-адресе, возможно, не является необходимым, но это оказывается удобным, когда вы выполняете много вставок ссылок, чтобы дважды проверить, что вы ссылаетесь на правильное место.</p> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">3</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/522466/what-makes-a-friendly-url/522520#522520" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/8141625/chto-delaet-druzhestvennyij-url/8141672#8141672" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/60531/user60531" class="q-user" rel="noopener" target="_blank">user60531</a> </span> <span class="q-date" title="2009-02-06 22:33"> 06 фев '09 в 22:33</span> <span class="hidden" itemprop="dateCreated" datetime="2009-02-06 22:33">2009-02-06 22:33</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2009-02-06 22:33">2009-02-06 22:33</span> </div> </div> <div id="8141684" class="answer " itemscope itemtype="http://schema.org/Answer" itemprop="suggestedAnswer"> <div class="a-body"> <div class="a-text" itemprop="text"> <p>Наш веб-сайт использует так называемые "недружественные" URL-адреса, но мы создаем специальные "дружественные" URL-адреса для определенных мест, которые участники публики используют для определенных функций, особенно для печатных материалов.</p><p>Например, наши парковочные билеты имеют <a href="http://www.dnv.org/parking" rel="noopener nofollow noreferrer" target="_blank">http://www.dnv.org/parking</a> на них.</p><p>CP</p> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">2</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/522466/what-makes-a-friendly-url/522560#522560" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/8141625/chto-delaet-druzhestvennyij-url/8141684#8141684" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> </span> <span class="q-date" title="2009-02-06 22:47"> 06 фев '09 в 22:47</span> <span class="hidden" itemprop="dateCreated" datetime="2009-02-06 22:47">2009-02-06 22:47</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2009-02-06 22:47">2009-02-06 22:47</span> </div> </div> <div id="8141642" class="answer " itemscope itemtype="http://schema.org/Answer" itemprop="suggestedAnswer"> <div class="a-body"> <div class="a-text" itemprop="text"> <p>Еще один момент: люди иногда вручную редактируют URL-адреса, чтобы перейти в дерево каталогов. Поэтому они могут попытаться загрузить страницу, например <a href="http://site.com/a/b" rel="noopener nofollow noreferrer" target="_blank">http://site.com/a/b</a>, получить ошибку "Не найдено", а затем попробовать <a href="http://site.com/a" rel="noopener nofollow noreferrer" target="_blank">http://site.com/a</a> или <a href="http://site.com/" rel="noopener nofollow noreferrer" target="_blank">http://site.com/</a>. Конечно, если ваши URL не основаны на реальном дереве каталогов, это может не сработать. Но вы все равно можете попытаться поддержать это.</p><p>Некоторые браузеры даже поощряют это, например IE с его сообщениями об ошибках и Safari с меню, которое появляется, когда вы щелкаете правой кнопкой мыши по заголовку страницы.</p> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">1</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/522466/what-makes-a-friendly-url/522739#522739" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/8141625/chto-delaet-druzhestvennyij-url/8141642#8141642" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/4321/user4321" class="q-user" rel="noopener" target="_blank">user4321</a> </span> <span class="q-date" title="2009-02-07 00:10"> 07 фев '09 в 00:10</span> <span class="hidden" itemprop="dateCreated" datetime="2009-02-07 00:10">2009-02-07 00:10</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2009-02-07 00:10">2009-02-07 00:10</span> </div> </div> <div id="8141662" class="answer " itemscope itemtype="http://schema.org/Answer" itemprop="suggestedAnswer"> <div class="a-body"> <div class="a-text" itemprop="text"> <p>Ну, для начала, постарайтесь держать символы отдельно от (az,AZ,0-9) и, конечно,:/._- вне URL. Не у всех есть все те на своих клавиатурах (например, у меня нет & на моей клавиатуре, и при этом у меня нет ~)</p><p>Например, когда выполняется некоторый анализ URL или что-то подобное, также помогает, если синтаксис URL "чистый"</p> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">1</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/522466/what-makes-a-friendly-url/522490#522490" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/8141625/chto-delaet-druzhestvennyij-url/8141662#8141662" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/62699/user62699" class="q-user" rel="noopener" target="_blank">user62699</a> </span> <span class="q-date" title="2009-02-06 22:28"> 06 фев '09 в 22:28</span> <span class="hidden" itemprop="dateCreated" datetime="2009-02-06 22:28">2009-02-06 22:28</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2009-02-06 22:28">2009-02-06 22:28</span> </div> </div> <div id="8141667" class="answer " itemscope itemtype="http://schema.org/Answer" itemprop="suggestedAnswer"> <div class="a-body"> <div class="a-text" itemprop="text"> <p>В этой ситуации это на самом деле не нарушает принцип DRY, потому что с точки зрения поисковой системы, "522466" - это не то же самое, что "что делает дружественный URL"</p><p>Обычно для таких сайтов, как Stackru, токен является единственной важной информацией; обычно вы можете поместить все, что захотите, после этой точки, и вы попадете в то же место (игнорируется веб-сервером).</p><p>Описание страницы предназначено только для того, чтобы помочь поисковым системам определить, о чем идет речь (что приятно)</p> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">1</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/522466/what-makes-a-friendly-url/522538#522538" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/8141625/chto-delaet-druzhestvennyij-url/8141667#8141667" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/30006/user30006" class="q-user" rel="noopener" target="_blank">user30006</a> </span> <span class="q-date" title="2009-02-06 22:39"> 06 фев '09 в 22:39</span> <span class="hidden" itemprop="dateCreated" datetime="2009-02-06 22:39">2009-02-06 22:39</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2009-02-06 22:39">2009-02-06 22:39</span> </div> </div> <div id="8141679" class="answer " itemscope itemtype="http://schema.org/Answer" itemprop="suggestedAnswer"> <div class="a-body"> <div class="a-text" itemprop="text"> <p>Второй URL выглядит более удобным для пользователя, тогда как первый выглядит удобным для поисковых систем.</p><p>Поисковые системы придают большее значение словам, которые появляются в URL. Доменное имя получает самое высокое (потому что оно не может измениться), остальная часть URL получает высокий приоритет, потому что длина ограничена, и затем тело документа анализируется.</p><p>Мой ответ весьма субъективен, потому что это зависит от того, дружелюбны ли вы по отношению к человеку (легко печатать вручную или читать другу) или от дружественной поисковой системы (повышая свой рейтинг).</p> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">1</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/522466/what-makes-a-friendly-url/522501#522501" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/8141625/chto-delaet-druzhestvennyij-url/8141679#8141679" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/61311/user61311" class="q-user" rel="noopener" target="_blank">user61311</a> </span> <span class="q-date" title="2009-02-06 22:30"> 06 фев '09 в 22:30</span> <span class="hidden" itemprop="dateCreated" datetime="2009-02-06 22:30">2009-02-06 22:30</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2009-02-06 22:30">2009-02-06 22:30</span> </div> </div> <div id="8141686" class="answer " itemscope itemtype="http://schema.org/Answer" itemprop="suggestedAnswer"> <div class="a-body"> <div class="a-text" itemprop="text"> <p>Мэтт и @bigmattyh: SEO - это не "хаки": это понимание того, что означает "хороший контент" в сети. Заголовки страниц являются частью контента. Хороший якорный текст в ссылках - это "хороший контент" (вместо использования слов вроде "нажмите здесь" в качестве текста ссылки). Размещение ссылок в контексте, а не в виде списка - это "хороший контент".</p><p>Заголовки страниц являются низко висящими фруктами, но они остаются одним из самых простых способов улучшить SERP. Да, входящие ссылки (и их качество) имеют решающее значение, но названия могут творить чудеса, особенно в краткосрочной перспективе. Вам не нужно использовать заголовок страницы (который может время от времени меняться) в качестве заголовка сообщения: суммируйте содержимое вручную.</p><p>Не думайте об этом: (а) читайте источники вроде SEOmoz.org и (б) тщательно анализируйте свой сайт.</p> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">1</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/522466/what-makes-a-friendly-url/2163791#2163791" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/8141625/chto-delaet-druzhestvennyij-url/8141686#8141686" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/245071/user245071" class="q-user" rel="noopener" target="_blank">user245071</a> </span> <span class="q-date" title="2010-01-29 17:29"> 29 янв '10 в 17:29</span> <span class="hidden" itemprop="dateCreated" datetime="2010-01-29 17:29">2010-01-29 17:29</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2010-01-29 17:29">2010-01-29 17:29</span> </div> </div> <div id="55328699" class="answer " itemscope itemtype="http://schema.org/Answer" itemprop="suggestedAnswer"> <div class="a-body"> <div class="a-text" itemprop="text"> <p>Тематически связанные внутренние страницы, которые логически работают друг с другом. Это лучший способ изолировать структуру URL-адресов.</p><p>Лучшим примером без использования клиентских веб-сайтов было бы просмотр веб-сайта BBC, это было сделано в лучшем случае:</p><p><br/>www.bbc.com/ <br/>www.bbc.com/news <br/>www.bbc.com/news/world <br/>www.bbc.com/news/world/australia</p><p>Внутренние страницы организованы правильно. Это лучший способ указать поисковым системам, как перемещаться по сайту.</p> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">1</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/522466/what-makes-a-friendly-url/58811725#58811725" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/8141625/chto-delaet-druzhestvennyij-url/55328699#55328699" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/12050761/user12050761" class="q-user" rel="noopener" target="_blank">user12050761</a> </span> <span class="q-date" title="2019-11-12 06:45"> 12 ноя '19 в 06:45</span> <span class="hidden" itemprop="dateCreated" datetime="2019-11-12 06:45">2019-11-12 06:45</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2019-11-12 06:45">2019-11-12 06:45</span> </div> </div> <div id="8141670" class="answer " itemscope itemtype="http://schema.org/Answer" itemprop="suggestedAnswer"> <div class="a-body"> <div class="a-text" itemprop="text"> <p>По моему мнению, идентификаторы и UUID никогда не должны быть частью URL, никогда.</p><p>1) Некоторые базы данных NoSQL вообще не используют идентификаторы, они используют UUID. UUID длинные, части разделены тире. Google будет рассматривать тире как разделитель слов: это означает, что в вашем URL будет еще 5 бесполезных ключевых слов.</p><p>2) Человек не понимает идентификаторы или UUID. Человек понимает слова и говорящие URL.</p><p>3) Если заголовок меняется, вы можете просто сделать редирект, как это делает WordPress, как указал @TRiG.</p><p>4) Наконец, не забудьте использовать дату, чтобы вы могли различить две статьи с одинаковым названием и опубликованные в другом году, месяце или дне. Например, у вас может быть два обзора (первое издание и второе издание) одной и той же книги.</p><pre><code>http://example.com/2013/02/11/data-mining-concepts-and-techniques </code></pre><p>а также</p><pre><code>http://example.com/2011/05/23/data-mining-concepts-and-techniques </code></pre><p>5) Дата также поможет любому пользователю выяснить, является ли контент недавним или нет.</p><p>6) Дата добавит важное ключевое слово в ваш URL: год. Давайте предположим, что я хочу увидеть самых красивых девушек в мире, я введу в Google: "Самые красивые девушки в мире 2014". Мой URL будет:</p><pre><code>http://example.com/2014/07/10/the-most-beatiful-girls-in-the-world </code></pre><p>7) И последнее, но не менее важное: Chrome кэширует посещенный вами сайт, поэтому вы можете найти указанный выше сайт, просто набрав в адресной строке "girls".</p> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">0</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/522466/what-makes-a-friendly-url/24724760#24724760" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/8141625/chto-delaet-druzhestvennyij-url/8141670#8141670" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/1889828/user1889828" class="q-user" rel="noopener" target="_blank">user1889828</a> </span> <span class="q-date" title="2014-07-13 16:21"> 13 июл '14 в 16:21</span> <span class="hidden" itemprop="dateCreated" datetime="2014-07-13 16:21">2014-07-13 16:21</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2014-07-13 16:21">2014-07-13 16:21</span> </div> </div> <div id="8141654" class="answer " itemscope itemtype="http://schema.org/Answer" itemprop="suggestedAnswer"> <div class="a-body"> <div class="a-text" itemprop="text"> <p>Термин <strong>читаемый URL</strong> также используется очень часто. Использование дружественных / читаемых URL-адресов - это технология, рожденная SEO, и это все. Иначе чем короче путь, тем лучше. Выполнение правил перезаписи обычно <strong>замедляет</strong> процесс быстрой доставки страницы клиенту, поэтому примите это во внимание.</p> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">0</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/522466/what-makes-a-friendly-url/2621798#2621798" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/8141625/chto-delaet-druzhestvennyij-url/8141654#8141654" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/95353/user95353" class="q-user" rel="noopener" target="_blank">user95353</a> </span> <span class="q-date" title="2010-04-12 11:55"> 12 апр '10 в 11:55</span> <span class="hidden" itemprop="dateCreated" datetime="2010-04-12 11:55">2010-04-12 11:55</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2010-04-12 11:55">2010-04-12 11:55</span> </div> </div> <div id="8141677" class="answer " itemscope itemtype="http://schema.org/Answer" itemprop="suggestedAnswer"> <div class="a-body"> <div class="a-text" itemprop="text"> <p>Термин читаемый URL также используется очень часто. Использование дружественных / читаемых URL-адресов - это технология, рожденная SEO, и это все. Иначе чем короче путь, тем лучше.</p> </div> <div class="a-info"> <div class="row"> <div class="col-sm-2"> <a class="like-button" title="Чтобы оценить ответ необходимо войти под своим логином." > <div class="btn btn-my btn-block" style="background: #bdc3c7 "> <span itemprop="upvoteCount">-3</span> <i class="far fa-thumbs-up"></i> </div> </a> </div> </div> <div class="row"> <div class="col-sm-4"> <a class="a-source" href="https://stackoverflow.com/questions/522466/what-makes-a-friendly-url/38139765#38139765" target="_blank">Источник</a> <a class="a-share" href="https://stackru.com/questions/8141625/chto-delaet-druzhestvennyij-url/8141677#8141677" itemprop="url">Поделиться</a> </div> <div class="col-sm-8 text-right author" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <span itemprop="name"> <a href="https://stackoverflow.com/users/6537033/user6537033" class="q-user" rel="noopener" target="_blank">user6537033</a> </span> <span class="q-date" title="2016-07-01 07:42"> 01 июл '16 в 07:42</span> <span class="hidden" itemprop="dateCreated" datetime="2016-07-01 07:42">2016-07-01 07:42</span> </div> </div> </div> <span class="hidden" itemprop="dateCreated" datetime="2016-07-01 07:42">2016-07-01 07:42</span> </div> </div> <div class="text-center"> </div> <div class="text-center"> </div> <div class="another-questions"> <div class="row"> <div class="col-md-12 q-tags"> <b>Другие вопросы по тегам</b> <a href="/questions/tagged/search" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'search'">search</a> <a href="/questions/tagged/browser" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'browser'">browser</a> <a href="/questions/tagged/seo" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'seo'">seo</a> <a href="/questions/tagged/friendly-url" class="tag-block-link" rel="tag" title="показать вопросы с тегом 'friendly-url'">friendly-url</a> </div> </div> </div> </div> </div> <div class="col-lg-3 AD"> <div id="allFlyout3-0" style="position: sticky; top: 0;"> </div> </div> </div> </div> </section> </main> <div class="padding"></div> </div> <footer> <div class="container"> <div class="row"> <div class="col-sm-6"> <a href="/"> <img src="/static/img/logo.png" alt="stackru.com - Поиск вопросов и ответов по программированию" /> </a> </div> <div class="col-sm-6 text-right"> <span class="pull-right"><a href="mailto:info@stackru.com">info@stackru.com</a></span> <br /> <span class="license pull-left">licensed under <a href="https://creativecommons.org/licenses/by-sa/3.0/" rel="nofollow license" target="_blank">cc by-sa 3.0</a> with attribution</span> </div> </div> </div> </footer> <!-- Yandex.Metrika counter --> <script type="text/javascript" > (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(53936023, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); </script> <noscript><div><img src="https://mc.yandex.ru/watch/53936023" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-141489240-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-141489240-1'); </script> </body> </html>