2013-03-20 3 views
20

У меня возникли проблемы с пониманием канонических URL-адресов в отношении того, как, по-видимому, обрабатывают поисковые системы и Facebook.Разница между rel = "canonical" и og: url?

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

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

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

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

Для Facebook Любит засчитываются каждая страна я установил свой Open Graph «ог: 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" в соответствии с моим ок. единственная страница (без учета страны) для поисковых систем.

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

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

+0

Кажется, что отлаживатель Open Open от Facebook больше не предупреждает, имеет ли страница разные 'ссылки rel =" canonical "и' og: url'. – kolen

ответ

12

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

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

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

+0

Его следует считать первым *, что он означает * и второй *, как он используется *. Opengraph больше не используется только Facebook, и он является открытым стандартом. Поисковые системы могут решить использовать или не использовать метаданные для обработки сломанных или спам-сайтов. – kolen

2

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

С уважением.

+2

звучит точно цели, канонические URL-адреса должны служить .. или я ошибаюсь здесь? –

+1

Содержимое уникально на субдоменах языков, поэтому вы также должны указать канонический URL-адрес на языковой версии. То, что вы сделали, говорит поисковой системе, что http://fr.example.com/ - это тот же контент, что и http://www.example.com/, но это не так. – BigMeat

0

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

+0

Если у вас есть только несколько свойств, вы просто добавляете базовые метатеги «og:» на свою страницу, но если у вас есть много свойств, описывающих объект Open Graph, подробно (например, ваш объект OG - это место, где вы можете есть, пить, танцевать и т. д., и вы настраиваете действия OG для взаимодействия с этим местом), приятно иметь эти теги на отдельной странице, чтобы ваши пользователи не загружали их - информация полезна только для Facebook, в конце концов. Специальные страницы Open Graph обычно загружаются, если пользовательский агент является «facebookexternalhit» и перенаправляется на реальные страницы для любого другого пользовательского агента. – Golphy

+2

Возможно, вы захотите разрешить пользователям делиться фильтрами и разбитыми на страницы результатами, но поисковые системы не индексируют их. В этом случае вы хотите, чтобы 'og: url' принимал форму' https: //example.com/products? Category = foo & page = 3', но оставляйте 'canonical' только с помощью' https://example.com/'продуктов. – ACJ

0

Канонические ссылки ссылаются на содержание страницы.

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

Opengraph URL относится к "объект".

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

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

Смежные вопросы