从字面上看,我正在寻找这样的东西:
https://developers.facebook.com/tools/debug/
但是对于 Twitter 卡。
我的页面上出现了错误,我需要尽快刷新它们。但谷歌后我只找到了这篇文章:
https://dev.twitter.com/cards/troubleshooting
Twitter 似乎只提供每周更新。有没有手动方法清除错误缓存的页面?
谢谢
实际上有一个比 Twitter 提出的更简单的解决方案:
?utm_source=Whatever
当 Twitter 验证器遇到这个不同的 URL 时,它会清除缓存并获取新版本。
按照Twitter 卡故障排除指南中的步骤实际上强制清除了我的情况下的缓存。
在卡片上进行测试和/或迭代时,有时在时间线上测试更新会很有帮助。可以使用以下技术来刷新缓存,以更新页面卡片的最新更改。
- 将卡片元数据添加到页面
- 推文 URL 到该页面
- 刷新浏览器即可在时间轴上查看卡片内容
- 更改页面上的卡片元数据
- 采用相同的 URL 并通过 bit.ly 运行它
- 发布新的 bit.ly URL
- 刷新浏览器即可查看更新
此外,您可以创建多个 bit.ly URL 以允许重复测试。
我生成了一个指向该页面的 bit.ly 链接,然后发布了它,然后很快删除了该推文。它立即清除了另一条推文的缓存。
我遇到了同样的问题。
我需要更新缓存的
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 都不同,这会强制更新缓存。
有一种非常简单的方法可以强制 Twitter Card 机器人的缓存失效。
如果您使用类似 https://example.com 的 URL 撰写推文,则只需在 URL 后面附加 /#,如下所示:https://example.com/# ,它将立即获取更新的元数据。
唯一帮助我清除缓存的是在图像 URL 末尾添加
?v1
:
<meta property="twitter:image" content="https://website.com/img/twitter.jpeg?v1" />
尚未验证此方法,但遇到此错误两次,这些步骤似乎强制更新“摘要卡”:
复制并粘贴您的网址,然后单击右侧按钮。 例子: 之前是推文网址: https://bdprescription.com/entertainment/details/article/21/Full-Stack-PHP-Laravel-Vuejs-and-Angular-Developer/
添加唯一的任意数字或字符串的url最后位置,这是之前没有给出的。 “?(添加唯一编号)” 然后推文新网址
我已经在Jekyll:Twitter Card Image Caching详细讨论过这个问题,我使用的方法是:
根据 David Jones 的回答,对
<title>
、og:title
和 twitter:title
添加一些更改对我有用。
由于 Twitter 卡验证器 (https://cards-dev.twitter.com/validator) 不再可用,这是触发 Twitter 更新 Twitter 卡的唯一方法。