如何强制缓存清除Twitter Card的机器人?

时间:2015-01-29 05:18:38

标签: twitter

从字面上看,我正在寻找类似的东西:

https://developers.facebook.com/tools/debug/

但是对于Twitter卡。

我在页面上出错了,我需要尽快刷新它们。但谷歌之后我才发现这篇文章:

https://dev.twitter.com/cards/troubleshooting

Twitter似乎只提供每周更新。是否有任何手动方法来清除错误的缓存页面?

由于

4 个答案:

答案 0 :(得分:78)

我设法强迫它更新我的:

https://cards-dev.twitter.com/validator

验证时会更新缓存。

答案 1 :(得分:14)

按照Twitter Card's Troubleshooting Guide中的步骤实际强制缓存在我的情况下清除。

  

在测试和/或迭代卡片时,有时在时间轴上测试更新会很有帮助。您可以使用以下技术通过页面卡的最新更改来刷新缓存。

     
      
  1. 将卡元数据添加到页面
  2.   
  3. 推文到该页面的网址
  4.   
  5. 刷新浏览器以查看时间轴上的卡片内容
  6.   
  7. 更改页面上的卡片元数据
  8.   
  9. 使用相同的网址并通过bit.ly运行
  10.   
  11. 发布新的bit.ly网址
  12.   
  13. 刷新浏览器以查看更新
  14.         

    此外,您可以创建多个bit.ly URL以允许重复测试。

我生成了一个指向页面的bit.ly链接,然后发推文,然后快速删除了那条推文。它立即清除了另一条推文的缓存。

答案 2 :(得分:8)

我遇到了同样的问题。

我需要更新缓存的summary_large_image

Twitter卡验证器https://cards-dev.twitter.com/validator

对于想要更新以前缓存的图像没有兴趣。

我通过确保Twitter每次抓取页面来修复它,图像URI更新为Twitter以前从未见过或缓存过的东西。

这就像在PHP中部署uniqid()函数一样简单,并将其用作图像URI末尾的query

例如

<?php

echo '
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image" content="http://example.com/my-twitter-image.png?'.uniqid().'">
';

?>

由于每次Twitter获取它时图像URI都不同,这会强制缓存更新。

答案 3 :(得分:1)

实际上有一种比Twitter提出的解决方案更简单的解决方案:

当Twitter验证程序遇到此不同的URL时,它将清除其缓存并获取新版本。