2013-11-26 4 views
1

У меня есть небольшая веб-страница, в которой каждый день отображается ответ на один вопрос - да или нет - в зависимости от какого-то другого фактора, который меняется ежедневно.Динамические метаданные OG для Facebook

Под этим, у меня есть кнопка в Facebook. Я хочу, чтобы эта кнопка опубликовала в заголовке/описании «Да» или «Нет» в зависимости от вердикта в тот день.

Я настроил метаданные OG динамически, используя php, чтобы отобразить правильную строку в og:title и т. Д. Но Facebook кэширует значение, поэтому кто-то, кто поделился моей страницей во вторник, может легко в конечном итоге опубликовать неверный контент в Facebook.

Я подтвердил, что это проблема, используя отладчик объекта Facebook. Как только я заставлю обновить, все хорошо. Я попытался автоматизировать это, используя curl, но это не работает.

$ch = curl_init(); 
$timeout = 30; 
curl_setopt($ch, CURLOPT_URL, "http://developers.facebook.com/tools/lint/?url={http://ispizzahalfprice.com}"); 
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
$data = curl_exec($ch); 
curl_close($ch); 
echo $data; 

Я пропустил здесь несколько простых исправлений? Или мне нужно переоценить структуру моего сайта, чтобы добиться того, что я ищу (например, использовать две отдельные страницы)?

Вот страница в случае, если это полезно: http://ispizzahalfprice.com

ответ

0

Используя два отдельных URL, будет безопасной ставки. Как вы заметили, Facebook довольно тяжело кэширует URL-адреса. Вы также заметили, что вы, как администратор приложения, можете очистить и обновить кеш Facebook, снова перетащив страницу через отладчик.

Использование двух URL-адресов позволит решить эту проблему, поскольку Facebook может кэшировать результаты, которые они хотят! Будет по-прежнему отдельный URL-адрес для «да» и один для «нет».

+0

Могут ли они быть разными строками запросов на одном URL-адресе? Или отдельные страницы? Кроме того, разве мои «нравы» не будут разделены между двумя страницами? Это будет проблемой для меня. Вместо того, чтобы разделить их, я бы предпочел просто скрыть кнопку целиком для одного состояния. –

+0

Скрытие кнопки для одного состояния может быть хорошей идеей ... Вам понравится то, что они не получают 50% скидки? ;) Со всей серьезностью, я не уверен на 100%, если Facebook рассмотрит различия в параметрах запроса в другом объекте «как». Не следует слишком тяжело тестировать ... Но если они это сделают - тогда да - понравятся будут расколоты. – Lix

Смежные вопросы