og: изображение игнорируется, когда URL-адрес изображения генерируется динамически php - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть веб-страница (под Wordpress), для которой я хочу отображать другое изображение предварительного просмотра в сообщениях Facebook в зависимости от параметра строки запроса.

Для этого внутри моего тега <head> яhave:

<?php 
    $image = wp_get_attachment_image_src( get_post_thumbnail_id( $_GET['lbcid'] ), 'single-post-thumbnail' ); 
?>

<meta property="og:url"                content="http://uat1.one-pager.sugarloafculinary.com/?lbcid=6957" />
<meta property="og:type"               content="article" />
<meta property="og:title"              content="Test Title" />
<meta property="og:description"        content="Description Here" />
<meta property="og:image"              content="<?php echo $image[0] ?>" />

$image[0] выводит действительный URL, но Facebook, похоже, вообще игнорирует этот тег <meta>, когда значение атрибута content выводится динамически PHP.Вместо этого он выбирает 1-е изображение на странице, которое соответствует требованиям.Я вошел в инструмент отладки FB и повторно очищен - это не имеет никакого эффекта (в этом вопросе).

Когда я жестко кодирую значение атрибута content, оно отображается, как и ожидалось.Пример:

<meta property="og:image" content="http://uat1.one-pager.sugarloafculinary.com/wp-content/uploads/2018/07/blog_bulgar-pudding.jpg" />

Вы можете увидеть это в действии на http://uat1.one -pager.sugarloafculinary.com /? Lbcid = 6957 .Если вы посмотрите исходный код, то увидите, что в этом теге <meta> есть действительный (динамически генерируемый) URL-адрес изображения, но если вы протестируете страницу в FB Sharing Debugger , вы 'Вы увидите, что указанное изображение не отображается.

Может кто-нибудь увидеть какие-либо ошибки в моем коде?Есть ли какая-то хитрость, чтобы заставить это работать?Возможно, это WordPress?(Я не тестировал за пределами WP).


РЕДАКТИРОВАТЬ:
См. Принятый ответ ниже.Код по URL-адресам выше был изменен, чтобы решить проблему, поэтому они больше не будут иллюстрировать проблему.Простое решение: кажется, что скребок FB останавливается на первом экземпляре og: image, шахта которого была 2-й и, таким образом, игнорировалась.

1 Ответ

0 голосов
/ 19 сентября 2018

с помощью отладчика facebook https://developers.facebook.com/tools/debug создается впечатление, что изображение успешно сгенерировано, и facebook может его прочитать

<meta property="og:image" content="http://uat1.one-pager.sugarloafculinary.com/wp-content/uploads/2018/06/logo_horz1-e1530285280453.png" />
<!--this image is less than 200*200px -->

ошибка отладчика говорит о том, что изображение меньше 200px * 200px, если вы используетеувеличенное изображение, которое решит проблему

РЕДАКТИРОВАТЬ: после того, как я пересмотрел код, я обнаружил, что МНОГО сгенерировано og:image по коду

FB берет первое и игнорирует остальные.первая og:image мала, поэтому возникает ошибка

пересмотрите свои плагины и тему, чтобы устранить нежелательные og:image

...