Часто ли вы используете Link Relations (атрибуты «rel»)?
-
21-08-2019 - |
Вопрос
Я стремлюсь перейти к более основанному на стандартах, доступному и семантически правильному подходу к веб-разработке.В офисе я не ожидаю, что сразу же произойдут огромные изменения, но я пытаюсь начать закладывать некоторые базовые основы для дальнейшего прогресса.
Частью этого процесса является внедрение rel
атрибут в ссылках и другом подобном контенте.Это простирается дальше привычного старого
<link href="mystyles.css" type="text/css" rel="stylesheet" />
который многие разработчики, вероятно, добавили бы, даже не задумываясь об этом.Мне интересно узнать, использует ли кто-нибудь rel
регулярно другими способами.Например, установив ссылку основной навигации на домашнюю страницу с помощью rel="start"
.
Если вы внедрили Link Relations в свой проект, что побудило вас принять их и какие преимущества вы пытались реализовать?
Если вы рассмотрели Link Relations, но решили не использовать их, что послужило основанием для вашего решения?
Решение
Я часто использую rel
(и rev
) атрибуты с широким диапазоном значений как на <link/>
и <a/>
элементы.
Ниже я выделил некоторые из наиболее распространенных (и более полезных) типов отношений.Более полный список rel
значения сохраняются на микроформаты вики.
HTML 4
Существует несколько стандартных типов ссылок, определенных спецификацией HTML 4.
alternate
— Используется при предоставлении ссылки на альтернативную версию HTML-документа, например на другом языке или в другом формате.Чаще всего это используется при ссылке на синдицированную (RSS или Atom) версию веб-сайта.next
иprevious
- Используется для обозначения следующего и предыдущего документов в серии документов.Еслиrel="next"
используется на<link/>
элемент, то некоторые браузеры будут предварительно получать содержимое связанного документа (см. Часто задаваемые вопросы по предварительной загрузке ссылок MDC).
XFN
XFN (сеть друзей XHTML) — это микроформат используется для описания отношений между людьми, представленными на веб-страницах.Это также позволяет странице указывать другие страницы, которые представляют того же человека (например,мой блог, мой профиль в Твиттере и мой профиль Stack Overflow представляют меня).Все это достигается путем определения набора rel
ценности:
me
– Используется для обозначения того, что ссылающаяся страница и связанная страница представляют одного и того же пользователя.Это широко применяется многими социальными сайтами (включая Stack Overflow) при ссылках из профиля пользователя на собственный веб-сайт пользователя.contact
,aquantance
иfriend
- указывает на то, что вы знаете человека, на которого ссылаетесь, и насколько хорошо вы его знаете.met
- указывает на то, что вы встретили человека, на которого ссылаетесь.co-worker
иcolleague
- укажите, что вы либо работаете, либо работаете в той же сфере, что и человек, на которого вы ссылаетесь.co-resident
иneighbor
- укажите, что вы живете с человеком, на которого ссылаетесь, или рядом с ним.child
,parent
,sibling
,spouse
иkin
- укажите, что вы ссылаетесь на члена своей семьи.muse
,crush
,date
иsweetheart
- указать на романтические отношения с человеком, на которого вы ссылаетесь.
Эти отношения можно проанализировать и использовать для определения информации о пользователе, например, кто его друзья или какие еще онлайн-профили у него есть.Для получения дополнительной информации о текущих и потенциальных будущих применениях могут быть интересны следующие страницы:
- Статья Бена Уорда о Портативные социальные сети.
- Список Реализации XFN на вики по микроформатам.
Другой
Существуют и другие типы ссылок, определяемые различными спецификациями:
nofollow
— используется для указания того, что поисковые системы не должны переходить по ссылке при сканировании веб-страницы.См. спецификация rel-nofollow.canonical
– Используется для обозначения того, что другой URL-адрес является канонической версией текущей страницы и поэтому должен отдаваться предпочтение поисковым системам.Это также используется сrev
атрибут, указывающий альтернативный, обычно более короткий URL-адрес текущей страницы (т. е.rev="canonical"
указывает, что текущий URL-адрес является канонической версией связанного URL-адреса).Дополнительную информацию и инструменты можно найти в Запись в блоге Саймона Уиллисона на rev=canonical.tag
– Используется для обозначения того, что связанная страница является тегом (т. е.ключевое слово), описывающее ссылающуюся страницу.См. спецификация rel-тега.license
– Используется для обозначения лицензии, по которой публикуется содержимое ссылающейся страницы.См. спецификация повторной лицензии.
Другие советы
Я использую rel="nofollow" для ссылок, предоставленных пользователями в комментариях блога.Google не будет переходить по ссылке и не получит более высокий рейтинг страницы из-за ссылки.
Я использовал их для обозначения внешних ссылок, которые следует открывать в новом окне.Эта функциональность невозможна при строгом XHTML, поскольку target
атрибут больше не разрешен на <a>
теги.Но с некоторым количеством JavaScript и rel
атрибут, вы можете сделать с ним довольно приличную работу, как описано в этой статье: Ссылки в новом окне в мире, соответствующем стандартам.
Как Чад сказал, Я использую rel="external"
для обозначения ссылок, которые я хотел бы открыть в новом окне (используя jQuery, чтобы сделать это возможным).
я также использую rel="nofollow"
когда я хочу, чтобы боты, следующие правилам (например, бот Google), не индексировали мою ссылку.
На общедоступных веб-сайтах полезно автоматически добавлять nofollow, иначе у спамеров может возникнуть соблазн создать, например, ферму ссылок из комментариев вашего блога.