Канонические ссылки требуют полного домена?
Я хочу добавить канонические ссылки на мои страницы, но мне нужно указать домен или относительный URL-адрес?
Другими словами, это:
<link rel="canonical" href="/item/1">
достаточно, или мне нужно использовать:
<link rel="canonical" href="#" onclick="location.href='http://mydomain.com/item/1'; return false;">
Ответы
Ответ 1
Прямо из Google:
http://support.google.com/webmasters/bin/answer.py?hl=en&answer=139394
Может ли ссылка быть относительной или абсолютной?
rel="canonical"
может использоваться с относительными или абсолютными ссылками, но мы рекомендуем использовать абсолютные ссылки, чтобы минимизировать потенциальную путаницу или трудности. Если в вашем документе указана base
ссылка, любые относительные ссылки будут относительными к этой base
ссылке.
Ответ 2
Все атрибуты href
являются гипертекстовыми ссылками - это то, что он обозначает. Таким образом, они всегда являются URI-ссылками, а не URI, и могут быть относительными.
В этом случае, несмотря на это, вы можете использовать полный URI, если сможете, потому что он сможет пережить все, что переносит его на другой домен в будущем (если вы все равно хотите, чтобы указанный домен был каноническим), и может даже выжить в некоторых более грубых автоматизированных плагиатах:)
Это преимущество довольно слабое, если вы не активно используете неканонические версии на других доменах, поэтому я не стал бы тратить на это много усилий.
Ответ 3
Опять же, Google говорит следующее:
https://support.google.com/webmasters/answer/139066?hl=en
Избегайте ошибок: используйте абсолютные пути, а не относительные пути с помощью элемента ссылки rel="canonical"
.
Используйте эту структуру: https://www.example.com/dresses/green/greendresss.html
Не эта структура: /dresses/green/greendress.html
).
Для примера, это их URL-адреса:
http://example.com/wordpress/seo-plugin/
http://example.com/wordpress/seo/seo-plugin/
Это то, для чего был изобретен rel=canonical
. Особенно во многих системах электронной коммерции это (к сожалению) происходит довольно часто, когда у продукта есть несколько разных URL-адресов в зависимости от того, как вы туда попали. Вы применили бы rel=canonical
следующим способом:
Вы выбираете одну из двух страниц в качестве канонической версии. Это должна быть версия, которую вы считаете самой важной. Если вы не заботитесь, выберите тот, у кого больше ссылок или посетителей. Если все это равно: переверните монету. Вам нужно выбрать.
Добавьте ссылку rel=canonical
с неканонической страницы в каноническую. Поэтому, если мы выбрали самый короткий URL-адрес в качестве нашего канонического URL-адреса, другой URL-адрес будет ссылаться на самый короткий URL-адрес, подобный этому в разделе <head>
на странице:
<link rel="canonical" href="http://example.com/wordpress/seo-plugin/">
Вот оно. Ничего больше, не меньше.
Ответ 4
В canonical
нет ничего особенного. Его стандартный тип ссылки для использования со стандартными способами предоставления ссылок (например, элемент link
), поэтому вы можете указать любой тип ссылки URL (абсолютный, относительный, протокол- относительный, в сочетании с элементом base
, пустой,...).
RFC 6596 (Каноническое связывание) явно говорит:
Целевой (канонический) IRI МОЖЕТ:
Один из примеров:
[...] или как относительный IRI:
<link rel="canonical" href="page.php?item=purse">
Ответ 5
Обновление канонических рекомендаций: rel="canonical"
поддерживает междоменную поддержку. Источник Google: https://webmasters.googleblog.com/2009/12/handling-legitimate-cross-domain.html
Более того, введение структурированных данных делает использование канонических понятий еще более строгим, поскольку Google не будет собирать разметку JSON из не канонических источников (ошибка, которую я совершил!).
Ответ 6
Если у вас есть только один домен для этого веб-сайта, можно использовать абсолютный путь: <link rel="canonical" href="/item/1">