Подтвердить что ты не робот

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

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

Мой сайт, основанный на Google maps, позволяет посетителям использовать социальные сети для запроса концерта в своей стране. Одна из страниц, о которой идет речь, находится по адресу: http://izzy.nogig.in/

Когда пользователь нажимает на свой странный маркер, он дает им варианты совместного доступа (твиттер/facebook/и т.д.), которые при совместном использовании разделяют URL-адрес специально для этой страны, например: izzy.nogig.in/usa? или izzy.nogig.in/spain? и др.

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

<link rel="canonical" href="#" onclick="location.href='http://izzy.nogig.in/_?'; return false;"/>

Для Facebook Любите рассчитывать на каждую отдельную страну. Я установил свой Open Graph "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.

Большое спасибо - Will

4b9b3361

Ответ 1

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

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

Подробнее для элемента Canonical link: http://en.wikipedia.org/wiki/Canonical_link_element

Ответ 2

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

С уважением.

Ответ 3

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

Ответ 4

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

Целевой (канонический) IRI ДОЛЖЕН идентифицировать контент, который либо   дублирующий или дополняющий контент в контексте (ссылаясь)   IRI. rfc6596 # 3

URL-адрес Opengraph относится к "объекту".

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

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