Изображение OpenGraph не определяется корректно

Facebook использует логотип форума как OG-изображение, а не главное изображение в верхней части тела моего поста. Я пробовал отладку/скрапинг через инструмент разработчика Facebook OG. Ничего не изменилось.

Извините, если это дубликат, но я прочитал множество тем на форуме здесь и не смог найти решение этой проблемы.

Спасибо за помощь!

Возможно, ваше логотип-изображение слишком велико. В превью выше оно выглядит огромным.

Похоже, на сайте установлен компонент темы, который мешает работе краулера Facebook. Этот компонент добавляет следующий код внутрь тега <head>:

<!-- Facebook Pixel Code -->
<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1544745645741448&amp;ev=PageView&amp;noscript=1">
<!-- End Facebook Pixel Code -->

Изображения не должны размещаться внутри тега <head>, поэтому большинство браузеров просто игнорируют их. Однако краулер Facebook, похоже, видит тег <img> и преждевременно закрывает тег <head>. Это видно в их инструменте отладки:

<!-- Facebook Pixel Code -->
</head>
<body>
<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1544745645741448&amp;ev=PageView&amp;noscript=1">
<!-- End Facebook Pixel Code -->

Этот магический тег </head><body> не отображается при использовании curl или в любом браузере. Очень странное поведение со стороны Facebook.

В любом случае, решение здесь заключается в том, чтобы переместить пиксель отслеживания Facebook из раздела <head> компонента темы в раздел Header этого же компонента.

@codinghorror,

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

Так что если бы отображалось фактическое изображение в посте (фотография меня), то какое значение имеет размер логотипа? Думаю, мой вопрос заключается в том, почему размер логотипа вызывает беспокойство, если я вообще не хочу, чтобы он отображался? Надеюсь, это понятно.

@david,

У меня не установлено никаких пользовательских тем. Это чистая установка Discourse. Более того, я даже не знаю, как установить тему или плагин для Discourse.

Размер изображения имеет значение, потому что когда Facebook не может найти тег og:image, он выбирает самое большое изображение на вашем сайте. В данном случае логотип больше фотографии, поэтому он был выбран.

Однако в Discourse есть теги og:image — они просто ломаются темой на вашем сайте.

Вы должны их установить — пиксель отслеживания Facebook добавляется темой. Когда я включаю безопасный режим, он исчезает. Перейдите в /admin/customize/themes, нажмите Изменить HTML и откройте вкладку </head>. Я подозреваю, что вы увидите код Facebook там.

Посмотрите это изображение — у меня нет никаких пользовательских тем, и там нет опции «Редактировать HTML».

Нажмите «по умолчанию» слева, после чего должна появиться кнопка редактирования

Сработало! Ура! Большое спасибо!