如何强制清除 Twitter Card 机器人的缓存?
How to force cache purge of Twitter Card's bots?
从字面上看,我正在寻找这样的东西:
https://developers.facebook.com/tools/debug/
但对于 Twitter 卡片。
我在我的页面上放错了东西,我需要尽快刷新它们。但是在 google 之后我只找到了这个 post:
https://dev.twitter.com/cards/troubleshooting
Twitter 似乎只提供每周更新。有什么手动方法可以清除错误缓存的页面吗?
谢谢
我刚刚设法强制它更新我的:
https://cards-dev.twitter.com/validator
在验证时更新其缓存。
我运行遇到同样的问题。
我需要更新缓存 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's Troubleshooting Guide 中的步骤实际上强制清除了缓存。
When testing and/or iterating on Cards, it is sometimes helpful to test updates on your timeline. It may be possible to use the following technique to refresh the cache with your most up-to-date changes of your page’s Card.
- Add Card metadata to a page
- Tweet URL to that page
- Refresh your browser to view the Card contents on your timeline
- Change Card metadata on the page
- Take the same URL and runs it through bit.ly
- Tweet the new bit.ly URL
- Refresh your browser to view the updates
Additionally, you can create multiple bit.ly URLs to allow for repeat testing.
我在页面上生成了一个 bit.ly link,然后发了推文,然后迅速删除了那条推文。它立即清除了另一条推文的缓存。
实际上有一个比 Twitter 提出的更简单的解决方案:
- 转到https://cards-dev.twitter.com/validator
- 输入您要更新的 URL,但要进行更改。例如,添加
?utm_source=Whatever
- 然后用你的 Twitter 卡片上的任何推文重新加载页面
当 Twitter 验证程序遇到这个不同的 URL 时,它会清除其缓存并获取新版本。
有一种非常简单的方法可以强制使 Twitter Card 机器人的缓存失效。
如果您正在撰写带有 URL 的推文,例如 https://example.com you only have to append a /# to the URL like so: https://example.com/#,它将立即获取更新后的元数据。
唯一帮助我清除缓存的是在图像末尾添加 ?v1
URL:
<meta property="twitter:image" content="https://website.com/img/twitter.jpeg?v1" />
从字面上看,我正在寻找这样的东西:
https://developers.facebook.com/tools/debug/
但对于 Twitter 卡片。
我在我的页面上放错了东西,我需要尽快刷新它们。但是在 google 之后我只找到了这个 post:
https://dev.twitter.com/cards/troubleshooting
Twitter 似乎只提供每周更新。有什么手动方法可以清除错误缓存的页面吗?
谢谢
我刚刚设法强制它更新我的:
https://cards-dev.twitter.com/validator
在验证时更新其缓存。
我运行遇到同样的问题。
我需要更新缓存 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's Troubleshooting Guide 中的步骤实际上强制清除了缓存。
When testing and/or iterating on Cards, it is sometimes helpful to test updates on your timeline. It may be possible to use the following technique to refresh the cache with your most up-to-date changes of your page’s Card.
- Add Card metadata to a page
- Tweet URL to that page
- Refresh your browser to view the Card contents on your timeline
- Change Card metadata on the page
- Take the same URL and runs it through bit.ly
- Tweet the new bit.ly URL
- Refresh your browser to view the updates
Additionally, you can create multiple bit.ly URLs to allow for repeat testing.
我在页面上生成了一个 bit.ly link,然后发了推文,然后迅速删除了那条推文。它立即清除了另一条推文的缓存。
实际上有一个比 Twitter 提出的更简单的解决方案:
- 转到https://cards-dev.twitter.com/validator
- 输入您要更新的 URL,但要进行更改。例如,添加
?utm_source=Whatever
- 然后用你的 Twitter 卡片上的任何推文重新加载页面
当 Twitter 验证程序遇到这个不同的 URL 时,它会清除其缓存并获取新版本。
有一种非常简单的方法可以强制使 Twitter Card 机器人的缓存失效。
如果您正在撰写带有 URL 的推文,例如 https://example.com you only have to append a /# to the URL like so: https://example.com/#,它将立即获取更新后的元数据。
唯一帮助我清除缓存的是在图像末尾添加 ?v1
URL:
<meta property="twitter:image" content="https://website.com/img/twitter.jpeg?v1" />