Разница между rel= "canonical" и og: url?

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

мой сайт Google maps powered позволяет посетителям использовать социальные сети для запроса концерта в своей стране. На одной из страниц можно найти на сайте: http://izzy.nogig.in/

когда пользователь нажимает на маркер своих стран, он дает им варианты обмена (twitter / facebook / etc), которые при совместном использовании будут делиться URL-адресом специально для та страна, например: Иззи.ногиг.в / США? или Иззи.ногиг.в / Испании? etc.

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

<link rel="canonical" href="http://izzy.nogig.in/_?"/>

для Facebook любит рассчитывать на каждую отдельную страну я установил свой открытый график "og: url" следующим образом, например:

<meta property="og:url" content="http://izzy.nogig.in/australia?" />

Теперь, когда я запускаю URL-адрес конкретной страны через отладчик объектов Facebook (например. http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fizzy.nogig.in%2Faustralia%3F) он показывает следующее: -

Response Code:  206
Fetched URL:    http://izzy.nogig.in/australia
Canonical URL:  http://izzy.nogig.in/australia

Mismatch og:url and canonical url:
og:url tag in the header is not the same URL as rel='canonical' link in the html.

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

все в отладчике выглядит хорошо для меня (правильная ссылка, описание, изображение и т. д. Для каждой страны), и я не могу изменить значение rel= "canonical", чтобы соответствовать моему og: url, как мне это нужно указывая на одну страницу (без страны) для поисковых систем.

Я считаю, что все правильно работает. Должен ли я просто игнорировать ошибку от отладчика или я неправильно ее настроил? Я не хочу, чтобы "лайки" для каждой страны исчезали и подсчитывались в направлении rel="канонический" URL.

Большое Спасибо - Буду

4 ответов


ссылке rel="canonical" будет использоваться поисковыми системами, где as og:url будет использоваться facebook

og:url в основном говорит скребок FB"ignore anything on this page, and scrape this url instead"

больше для канонического элемента ссылки:http://en.wikipedia.org/wiki/Canonical_link_element


канонические URL-адреса относятся к содержание страницы.

целевой (канонический) IRI должен идентифицировать содержимое, которое либо дубликат или надмножество содержимого в контексте (ссылка) ИРИ. rfc6596#3

OpenGraph url ссылается на "объект".

канонический URL вашего объекта, который будет использоваться в качестве его постоянного идентификатора в графике, например, "http://www.imdb.com/title/tt0117500/". ОГП.я ...

таким образом, они могут быть разными. Например, для многоязычных веб-сайтов страница для каждого языка должна иметь отдельный канонический url-адрес, потому что контент отличается, но обычно один и тот же og:url для всех языков, потому что они ссылаются на один и тот же объект описывается в разных языках.


на одном из сайтов, которые я разработал, я обслуживаю страницу на нескольких языках и предоставляю ссылки, позволяющие пользователю переключаться между одним языком и другим. Итак, мой rel="canonical" будет иметь URL http://www.example.com/, тогда как в коде я обновляю og:url Так что это либо http://en.example.com/ или http://fr.example.com/. Таким образом, когда пользователь делится страницей на Facebook, все будет отображаться на Facebook на языке, на котором они просматривали страницу, что имеет смысл, поскольку большинство друзей посетителя будут вероятно, говорят на том же языке.

С уважением.


Я не вижу причин, почему og:url и canonical должны отличаться. В обоих случаях вы говорите поисковой системе или Facebook, какую страницу вы хотите индексировать или отображать.