我有一个小网页,每天都会显示一个单词的答案 - 是或否 - 取决于每天更改的其他因素。
在此之下,我有一个像Facebook一样的按钮。我希望此按钮在标题/说明中发布“是”或“否”,具体取决于当天的判决。
我已经使用php动态设置了OG元数据,以便将正确的字符串回显到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 :(得分:0)
使用两个单独的URL是安全的选择。正如您所观察到的,Facebook对URL抓取进行了相当大的缓存。您还看到,作为应用程序的管理员,您可以通过再次通过调试器将页面刷新并刷新Facebook的缓存。
使用两个URL可以解决这个问题,因为Facebook可以根据需要缓存结果! “是”仍然会有一个单独的网址,“否”会有一个单独的网址。