Как мне сообщить Facebook, какое изображение использовать, когда моя страница будет опубликована?
У Facebook есть набор метатегов с открытым графиком, на которые он смотрит, чтобы решить, какое изображение показывать.
Один из ключей для изображения Facebook:
<meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>
<meta property="og:image:secure_url" content="https://secure.example.com/ogp.jpg" />
и он должен присутствовать внутри <head></head>
тега в верхней части вашей страницы.
Если эти теги отсутствуют, он будет искать их более старый метод указания изображения: <link rel="image_src" href="https://stackoverflow.com/myimage.jpg"/>
. Если ни того, ни другого нет, Facebook просмотрит содержимое вашей страницы и выберет на вашей странице изображения, которые соответствуют критериям его общего изображения: изображение должно иметь размер не менее 200 на 200 пикселей, максимальное соотношение сторон 3: 1 и PNG, JPEG или GIF формат.
Могу ли я указать несколько изображений, чтобы позволить пользователю выбрать изображение?
Да, вам просто нужно добавить несколько метатегов изображения в том порядке, в котором вы хотите, чтобы они отображались. Затем пользователю будет предложено диалоговое окно выбора изображения:
Я указал соответствующие метатеги изображения. Почему Facebook не принимает изменения?
После публикации URL-адреса сканер Facebook, у которого есть пользовательский агент facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php)
, получит доступ к вашей странице и кеширует метаинформацию. Чтобы заставить серверы Facebook очищать кэш, используйте инструмент отладчика URL-адресов Facebook / Linter. который был запущен в июне 2010 года, чтобы обновить кеш и устранить любые проблемы с метатегами на вашей странице.
Кроме того, изображения на странице должны быть общедоступными для сканера Facebook. Вы должны указать абсолютные URL-адреса, такие как http://example.com/yourimage.jpg адреса вместо просто /yourimage.jpg.
Могу ли я обновить эти метатеги с помощью кода на стороне клиента, такого как Javascript или jQuery?
Нет. Подобно сканерам поисковых систем, скребок Facebook не выполняет сценарии, поэтому любые метатеги, которые присутствуют при загрузке страницы, являются метатегами, которые используются для выбора изображения.
Добавление этих тегов приводит к тому, что моя страница больше не проверяется. Как я могу это исправить?
Вы можете добавить необходимые пространства имен Facebook в свой тег, и ваша страница должна пройти проверку:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:og="http://ogp.me/ns#"
xmlns:fb="https://www.facebook.com/2008/fbml">