Отладчик Facebook, тег Open Graph image - Facebook не может обрабатывать определенные изображения, размещенные на CloudFront
В отладчике Facebook при очистке URL " https://www.givingway.com/organization/the-light-and-leadership-initiative" выдается ошибка:
Испорченное изображение
Предоставленный og: URL изображения, https://d141thk7ygtt3c.cloudfront.net/043a7261-eb4f-48ce-9db6-8cbeefcf86df.jpg не может быть обработан как изображение. Возможно, он поврежден или имеет неверный формат.
В то же время очистка URL-адреса " https://www.givingway.com/organization/youth-in-action-against-poverty-and-hivaids-yaapha" работает нормально.
Я не могу понять, что вызывает эту проблему, так как обе страницы:
- оба производятся из одного шаблона и имеют одинаковую структуру HTML.
- иметь изображение og: с той же структурой.
<meta property="og:image" content="https://d141thk7ygtt3c.cloudfront.net/043a7261-eb4f-48ce-9db6-8cbeefcf86df.jpg" />
<meta property="og:image" content="https://d141thk7ygtt3c.cloudfront.net/b954d1df-57e6-4beb-acae-2916997a8e4e.jpg" />
- Оба изображения в формате JPEG.
- При открытии URL-адреса изображения на отдельной вкладке отображается изображение, чего нельзя ожидать от поврежденной страницы.
Это несоответствие возникает на разных страницах - некоторые страницы удаляются успешно, а другие нет.
1 ответ
В Facebook есть открытая ошибка (открыта 8 февраля). Когда og:image
тег указывает на изображение, которое размещено на CloudFront отладчик Facebook ведет себя непоследовательно - может обрабатывать одни и не может обрабатывать другие. Надеемся, что Facebook и CloudFront могут решить эту проблему в ближайшем будущем.
Если вы загружаете файл изображения в s3 из библиотеки (например, python boto3), проверьте аргументы ContentType.
Я загрузил файл изображения с помощью boto3 без аргументов ContentType, тип содержимого файла в метаданных установил значение по умолчанию "binary/octet-stream".
После того, как я передал аргумент ContentType="image/png", метаданные установлены правильно, и тег facebook og выглядит хорошо. (описание под изображением, не сбоку)