Как сообщить роботу FB игнорировать даты при совместном использовании URL? [Дубликат]

Как указывает Dumb Guy, важно отметить, начинается ли массив с нуля и является последовательным. Поскольку вы можете выполнять присваивания и отменять несмежные индексы ${#array[@]}, это не всегда следующий элемент в конце массива.

$ array=(a b c d e f g h)
$ array[42]="i"
$ unset array[2]
$ unset array[3]
$ declare -p array     # dump the array so we can see what it contains
declare -a array='([0]="a" [1]="b" [4]="e" [5]="f" [6]="g" [7]="h" [42]="i")'
$ echo ${#array[@]}
7
$ echo ${array[${#array[@]}]}
h

Вот как получить последний индекс:

$ end=(${!array[@]})   # put all the indices in an array
$ end=${end[@]: -1}    # get the last one
$ echo $end
42

Это иллюстрирует, как получить последний элемент массива. Вы часто увидите это:

$ echo ${array[${#array[@]} - 1]}
g

Как вы можете видеть, потому что мы имеем дело с разреженным массивом, это не последний элемент. Это работает как на разреженных, так и на смежных массивах:

$ echo ${array[@]: -1}
i
386
задан Igy 13 July 2015 в 19:16
поделиться

10 ответов

Как сообщить 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="/myimage.jpg"/>. Если ни один из них не присутствует, Facebook будет просматривать содержимое вашей страницы и выбирать изображения со своей страницы, соответствующие критериям его общего изображения: Изображение должно быть не менее 200 пикселей на 200 пикселей, иметь максимальный формат изображения 3: 1 и в формате PNG, JPEG или GIF.

Могу ли я указать несколько изображений, чтобы пользователь мог выбрать изображение?

Да, вам просто нужно добавить несколько метатег изображений в том порядке, в котором вы хотите, чтобы они отображались. пользователь будет представлен диалоговым окном селектора изображений: Facebook Image Selector [/g5]

Я указал соответствующие метатеги изображений. Почему Facebook не принимает изменения?

После того, как URL был открыт, искатель Facebook, у которого есть пользовательский агент facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php), будет обращаться к вашей странице и кэшировать метаинформацию. Чтобы заставить Facebook-серверы очистить кеш, используйте Facebook Url Debugger / Linter Tool , который они запустили в июне 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">  
583
ответ дан Blazemonger 22 August 2018 в 00:08
поделиться
  • 1
    Другое место выглядит: <link rel="apple-touch-icon" href="..."> (Так получилось SO-образ) – Yarin 4 March 2012 в 05:22
  • 2
    @ Ярин. Я не уверен, что это правда. У StackOverflow есть набор свойств image_src, который он использует. Имя файла для значка apple-touch отличается и не используется. – bkaid 13 March 2012 в 19:56
  • 3
    Могу ли я выбрать порядок изображения? В моем случае перед изображением метатег появляются другие изображения. – vicenrele 15 May 2013 в 13:01
  • 4
    Минимальный размер изображения составляет 200x200 пикселей. – Tr1stan 20 June 2013 в 17:49
  • 5
    Woot! Я установил размер img на 300 пикселей, теперь он работает. Спасибо @ Tr1stan – Urs 18 September 2013 в 14:04

Начиная с 2013 года, если вы используете facebook.com/sharer.php (PHP), вы можете просто создать любую кнопку / ссылку, например:

<a class="btn" target="_blank" href="http://www.facebook.com/sharer.php?s=100&amp;p[title]=<?php echo urlencode(YOUR_TITLE);?>&amp;p[summary]=<?php echo urlencode(YOUR_PAGE_DESCRIPTION) ?>&amp;p[url]=<?php echo urlencode(YOUR_PAGE_URL); ?>&amp;p[images][0]=<?php echo urlencode(YOUR_LINK_THUMBNAIL); ?>">share on facebook</a>

Параметры запроса ссылки:

p[title] = Define a page title
p[summary] = An URL description, most likely describing the contents of the page
p[url] = The absolute URL for the page you're sharing 
p[images][0] = The URL of the thumbnail image to be used as post thumbnail on facebook

Это просто: вам не нужны никакие js или другие настройки. Это всего лишь HTML-ссылка. Создайте тег A любым способом, который вы хотите.

28
ответ дан Antoine 22 August 2018 в 00:08
поделиться
  • 1
    p[images][0] был именно тем, что мне нужно. Теги og работают для совместного использования одного и того же изображения, но мне нужно разделить несколько изображений с одной и той же страницы. – thekingoftruth 18 December 2013 в 01:33
  • 2
    Это должен быть новый «принятый ответ» - такой простой и понятный. Спасибо за это, приятель. – Mike 24 February 2014 в 22:40
  • 3
    спасибо много простой и простой, надеюсь, что он работает – Vjeran Magister Ludi 16 March 2014 в 16:22
  • 4
    Антонио, у вас есть ссылка на источник, что вы показали выше? Я пытаюсь посмотреть это в developers.facebook.com, но не могу найти ничего, кроме этого . Пожалуйста помоги. – Mr_Green 17 March 2014 в 12:26
  • 5

Я не мог заставить Facebook выбрать правильное изображение из определенного сообщения, поэтому я сделал то, что описано на этой странице:

https://webapps.stackexchange.com/questions/ 18468 / add-meta-tags-to-individual-blogger-posts

Другими словами, что-то вроде этого:

<b:if cond='data:blog.url == "http://urlofyourpost.com"'>
  <meta content='http://urlofyourimage.png' property='og:image'/>
 </b:if>

В принципе, вы собираетесь для жесткого кодирования инструкции if в HTML вашего сайта, чтобы заставить ее изменить мета-контент для того, что вы изменили для этого сообщения. Это грязное решение, но оно работает.

0
ответ дан Community 22 August 2018 в 00:08
поделиться

Чтобы изменить заголовок, описание и изображение, нам нужно добавить некоторые метатеги под заголовком заголовка.

ШАГ 1: Добавить метатеги под заголовком заголовка

<html>
<head>
    <meta property="og:url" content="http://www.test.com/" />
    <meta property="og:image" content="http://www.test.com/img/fb-logo.png" />
    <meta property="og:title" content="Prepaid Phone Cards, low rates for International calls with Lucky Prepay" />
    <meta property="og:description" content="Cheap prepaid Phone Cards. Low rates for international calls anywhere in the world." />

СЛЕДУЮЩИЙ ШАГ : Нажмите ниже ссылку https://developers.facebook.com/tools/debug

Добавьте свой URL в текстовое поле (например, http: //www.test .com / ), где вы упомянули теги. Нажмите кнопку DEBUG.

Сделано.

Вы можете проверить здесь https://www.facebook.com/sharer/sharer.php?u=http://www.test.com/

В приведенном выше URL-адресе u = ссылка вашего сайта

НАСЛАЖДАЙТЕСЬ !!!!

10
ответ дан Gaurav123 22 August 2018 в 00:08
поделиться

По моему опыту, http://www.facebook.com/sharer.php не использует метатеги. Он использует строку, которую вы передаете. См. Ниже.

http://www.facebook.com/sharer.php?s=100&p [title] = THIS IS MY TITLE & amp; p [summary] = ЭТО МОЕ РЕЗЮМЕ & amp; p [url] = http: //www.MYURL.com& & amp; p [images] [0] = http: //www.MYURL.com/img/IMAGEADDRESS

Мета-теги работают с кнопками разработчика Facebook, такими как / send, как и другая информация Open Graph. Поэтому, если вы используете один из реальных элементов Facebook, таких как комментарии и т. Д., Все это будет связано с материалом Open Graph.

UPDATE: Существует два способа использования разделителя * обратите внимание на? S по сравнению с? u в строке запроса 1 ==> STRING: http://www.facebook.com/sharer.php?s + содержимое сверху ~~> Извлечет информацию из строки. 2 ==> URL: http://www.facebook.com/sharer.php?u=url , где url равен фактическому url ~~> Скрежет страницу, указанную в URL-адресе ~~ > Вы можете проверить тестовые значения здесь: https://developers.facebook.com/tools/debug

12
ответ дан Jason Lydon 22 August 2018 в 00:08
поделиться
  • 1
    Очень полезно. Благодаря! : D – Aaron Gray 27 May 2013 в 18:32
  • 2
    Существует ли какой-либо законный способ использования этого участника на другом веб-сайте, чтобы получить содержимое из URL-адреса? Я не знаю много о API facebook и прочее ... – Lyth 20 September 2013 в 02:01
  • 3
    Попробуйте использовать параметр URL. Если на странице есть метки OG, FB очистит их. Проверьте страницу, которую вы хотите использовать здесь: developers.facebook.com/tools/debug – Jason Lydon 11 October 2013 в 15:39

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

Пример:

https://www.facebook.com/dialog/feed?app_id=1389892087910588
&redirect_uri=https://scotch.io
&link=https://scotch.io
&picture=http://placekitten.com/500/500
&caption=This%20is%20the%20caption
&description=This%20is%20the%20description
1
ответ дан kittu 22 August 2018 в 00:08
поделиться

Когда вы делитесь Facebook, вы должны добавить свой html в раздел заголовка следующих метатег:

<meta property="og:title" content="title" />
<meta property="og:description" content="description" />
<meta property="og:image" content="thumbnail_image" />

И это все!

Добавить кнопку, как вы должен соответствовать тому, что FB вам сообщает.

Вся необходимая информация находится в www.facebook.com/share /

35
ответ дан Mukesh Chapagain 22 August 2018 в 00:08
поделиться

Это то, что сработало для меня: я поместил желаемое уменьшенное изображение на странице сразу после тега и сделал его слишком маленьким, чтобы видеть ..

<img src="imagename.jpg" width="1" height="1" />

Я не тестировал его с высотой 0 и шириной 0, но он, вероятно, по-прежнему будет работать. Это не гарантирует, что пользователь выберет это изображение.

ТАКЖЕ похоже, что Facebook кэширует миниатюры на вашей странице и не всегда проверяет их на новые. Попробуйте добавить это на другую страницу своего сайта, и вы увидите, что она работает.

13
ответ дан sakibmoon 22 August 2018 в 00:08
поделиться
  • 1
    У меня также есть эта проблема. ЛИНТЕР сообщает об ошибке и показывает мое изображение правильно, но когда я нажимаю кнопку совместного доступа на моем сайте, в интерфейсе общего доступа абсолютно нет изображения. – Luke Griffiths 3 July 2012 в 12:56
  • 2
    Спасибо, он работал отлично. – Saeed Zarinfam 19 February 2013 в 18:43
  • 3
    после тега - вы имеете в виду: & quot; после тега BODY & quot ;? – Alexis Wilke 16 February 2014 в 05:38
  • 4
    Да, я считаю, что это то, что они означают. Я сделал это на сайте давным-давно, но использовал style="display:none;" вместо установки его в 1x1 пиксель. – Mike 24 February 2014 в 22:44
  • 5
    image_src больше не работает для Facebook, но некоторые службы все еще используют его (клиенты Telegram и т. д.), – Andres SK 26 November 2015 в 16:56

У меня была эта проблема, и я исправил ее с предложением manuel-84. Использование изображения 400x400px отлично поработало, в то время как мое уменьшенное изображение никогда не появлялось в ролике.

Обратите внимание, что Facebook рекомендует минимальное изображение размером 200 пикселей в качестве тега og: image: https: // developers. facebook.com/docs/opengraph/howtos/maximizing-distribution-media-content/#tags

1
ответ дан William 22 August 2018 в 00:08
поделиться
13
ответ дан sakibmoon 4 November 2018 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: