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

问题描述 投票:0回答:10

从字面上看,我正在寻找这样的东西:

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

但是对于 Twitter 卡。

我的页面上出现了错误,我需要尽快刷新它们。但谷歌后我只找到了这篇文章:

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

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

谢谢

twitter
10个回答
99
投票

我刚刚设法强制它更新我的:

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

在验证时它会更新其缓存。


28
投票

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

  • 前往 https://cards-dev.twitter.com/validator
  • 输入您想要更新但有所更改的 URL。例如,添加
    ?utm_source=Whatever
  • 然后只需使用您的 Twitter 卡上的任何推文重新加载页面

当 Twitter 验证器遇到这个不同的 URL 时,它会清除缓存并获取新版本。


19
投票

按照Twitter 卡故障排除指南中的步骤实际上强制清除了我的情况下的缓存。

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

  1. 将卡片元数据添加到页面
  2. 推文 URL 到该页面
  3. 刷新浏览器即可在时间轴上查看卡片内容
  4. 更改页面上的卡片元数据
  5. 采用相同的 URL 并通过 bit.ly 运行它
  6. 发布新的 bit.ly URL
  7. 刷新浏览器即可查看更新

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

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


9
投票

我遇到了同样的问题。

我需要更新缓存的

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 都不同,这会强制更新缓存。


6
投票

有一种非常简单的方法可以强制 Twitter Card 机器人的缓存失效。

如果您使用类似 https://example.com 的 URL 撰写推文,则只需在 URL 后面附加 /#,如下所示:https://example.com/# ,它将立即获取更新的元数据。


1
投票

唯一帮助我清除缓存的是在图像 URL 末尾添加

?v1

<meta property="twitter:image" content="https://website.com/img/twitter.jpeg?v1" />

0
投票

尚未验证此方法,但遇到此错误两次,这些步骤似乎强制更新“摘要卡”:

  1. 仅推文链接(从推文编辑器中删除不正确的摘要卡)
  2. 删除仅显示链接的推文
  3. 刷新推特
  4. 撰写新推文,粘贴您的链接 - 应显示更新/正确的卡片图像、标题和订阅。

0
投票

到达http://debug.iframely.com

复制并粘贴您的网址,然后单击右侧按钮。 例子: 之前是推文网址: https://bdprescription.com/entertainment/details/article/21/Full-Stack-PHP-Laravel-Vuejs-and-Angular-Developer/

接下来更新网址是这样的 https://bdprescription.com/entertainment/details/article/21/Full-Stack-PHP-Laravel-Vuejs-and-Angular-Developer?(添加 唯一编号)

添加唯一的任意数字或字符串的url最后位置,这是之前没有给出的。 “?(添加唯一编号)” 然后推文新网址


0
投票

我已经在Jekyll:Twitter Card Image Caching详细讨论过这个问题,我使用的方法是:

  • 我正在构建和发布一个使用 Jekyll 构建的博客网站
  • 更改帖子名称,从而稍微更改 URL。

0
投票

根据 David Jones 的回答,对

<title>
og:title
twitter:title
添加一些更改对我有用。

由于 Twitter 卡验证器 (https://cards-dev.twitter.com/validator) 不再可用,这是触发 Twitter 更新 Twitter 卡的唯一方法。

© www.soinside.com 2019 - 2024. All rights reserved.