Facebook использует логотип форума как OG-изображение, а не главное изображение в верхней части тела моего поста. Я пробовал отладку/скрапинг через инструмент разработчика Facebook OG. Ничего не изменилось.
Изображения не должны размещаться внутри тега <head>, поэтому большинство браузеров просто игнорируют их. Однако краулер Facebook, похоже, видит тег <img> и преждевременно закрывает тег <head>. Это видно в их инструменте отладки:
Этот магический тег </head><body> не отображается при использовании curl или в любом браузере. Очень странное поведение со стороны Facebook.
В любом случае, решение здесь заключается в том, чтобы переместить пиксель отслеживания Facebook из раздела <head> компонента темы в раздел Header этого же компонента.
Не уверен, что я упускаю какую-то связь, но моя проблема в том, что я не хочу, чтобы отображался логотип форума. Вместо этого должен показываться первый изображение в сообщении.
Так что если бы отображалось фактическое изображение в посте (фотография меня), то какое значение имеет размер логотипа? Думаю, мой вопрос заключается в том, почему размер логотипа вызывает беспокойство, если я вообще не хочу, чтобы он отображался? Надеюсь, это понятно.
У меня не установлено никаких пользовательских тем. Это чистая установка Discourse. Более того, я даже не знаю, как установить тему или плагин для Discourse.
Размер изображения имеет значение, потому что когда Facebook не может найти тег og:image, он выбирает самое большое изображение на вашем сайте. В данном случае логотип больше фотографии, поэтому он был выбран.
Однако в Discourse есть теги og:image — они просто ломаются темой на вашем сайте.
Вы должны их установить — пиксель отслеживания Facebook добавляется темой. Когда я включаю безопасный режим, он исчезает. Перейдите в /admin/customize/themes, нажмите Изменить HTML и откройте вкладку </head>. Я подозреваю, что вы увидите код Facebook там.