X 算搜索引擎吗?为什么 Google 现在搜不到推文了

16 min readSocialAPI 工程团队

X 算搜索引擎吗?为什么 Google 现在搜不到推文了

这里有两个问题被缠在一起,而把它们分开就是大半个答案。

"我能用 Google 找推文吗?" —— 越来越不能。收录已经大幅变薄。

"X 自己算搜索引擎吗?" —— 对实时信息,功能上算。对任何历史内容,不算。

两个都重要,因为人们一直在拿错工具


Google 的收录出了什么事

site:twitter.com 搜一个你确定存在的东西,你经常什么都搜不到。

机制是: X 限制对自己页面的自动抓取。Google 只能索引它够得着的,而它够得着的部分萎缩了。仍被收录的那些推文明显偏向有大量外部链接的,其余的要么从没被抓取,要么已经老化掉出索引。

实际意味着什么:

  • 在 Google 上搜一条具体推文通常会失败,即使那条推文存在且公开。
  • 老内容比近期更糟,和抓取限制叠加。
  • 你拿到的结果可能是过时的 —— 一条已删除推文的缓存标题,或者几个月前样子的资料页。

⚠️ ★不要因为 Google 搜不到就断定一条推文不存在。★ 这个推断在 2015 年是合理的,现在是错的。下"它不在那儿"的结论之前,先用 X 自己的搜索查一遍。(或者直接查那个索引 —— 同一件事,只是不经过浏览器。)


X 的搜索算搜索引擎吗

它在某些方面像,在另一些方面完全不像,而这个错位正是人们感到挫败的地方。

它真正强的地方 —— 强过 Google:

  • 此时此刻。★ 对突发事件,X 搜索往往是全世界最快的信息源。Google 需要抓取和排序;X 给你看的是几秒钟前的推文
  • 特定的人。 from:username 加关键词,精确到网页搜索比不了。
  • 结构化过滤。 min_faves:filter: 这类操作符是通用搜索引擎不提供的查询语言特性。

它完全不是搜索引擎的地方:

  • 历史深度。 网页搜索引擎的整个前提是一个持久索引。X 的搜索严重偏向近期内容,老材料会稀疏 —— 它不是一个存档
  • 相关性排序。 Top 模式按互动量排,那是流行度而不是相关性。一个东西可以恰好就是你要的,却排不到任何位置。
  • 结果完整性。查询停在结果上限,而不是停在匹配内容的尽头★ —— 这就产生了这里讲的截断问题
  • 稳定性。 同一条查询在不同时间可能返回不同结果。

★诚实的框架:X 搜索是一个实时信息流的过滤器,不是一个索引。★ 问它"现在人们在说什么",它很出色;问它"2023 年人们说了什么",它会给你一个自信而残缺的答案


什么场景用哪个

你想要
最近看到的某条具体推文 X 搜索,from: 加引号短语
此刻人们在说什么 X 搜索,Latest 模式
几年前的一条推文 两个都不可靠 —— 都试,并预期有缺口
关于推文的报道文章 Google —— 它索引不到推文,却索引得到文章
只有截图的那条推文 X 搜索,原句加引号
某个说法有没有传开 X 搜索加 min_faves:
任何要重复跑或自动化的事 接口 —— 网页搜索和搜索框都不可靠

★值得注意的规律:Google 现在更擅长找到"关于 X 的文章",而不是找到 X 本身。★ 如果一条推文重要到有人写文章讨论它,那篇文章找得到,尽管推文找不到。 而要找 X 本身,接口能一致地查同一个索引


"推特 SEO"指的是什么、不是什么

这个说法被用在两件不同的事上。

让你的推文在 X 自己的搜索里被找到 —— 这是真实的,而且基本很直接:用人们真正会搜的词,因为 X 是按推文正文匹配的。这里没有网页搜索那种可优化的排序系统;够新加上有互动就是大部分。

让你的推文在 Google 上排名 —— 基于上面的抓取原因,基本上已经做不到了。单条推文现在很少能排上。

⚠️ 但仍然有效的是: ★你的资料页常常能为你的品牌名排名,这值得做好。★ 简介是被索引的文本 —— 这是个很小的 SEO 面,而大多数人把它当成一句玩笑话就扔在那儿了。


当你需要它可靠的时候

这两个入口都是为"人在浏览"设计的,不是为"系统需要一致答案"设计的。 Google 的收录不受你控制而且在变薄;X 的搜索有结果上限,而且两次跑的结果会不一样。

import requests

BASE = "https://api.socialapi.tech"
KEY  = "your_api_key"

r = requests.get(
    f"{BASE}/v1/search/advanced",
    params={"query": '"exact phrase" -filter:retweets', "product": "Latest", "limit": 100},
    headers={"X-API-Key": KEY},
    timeout=60,
)
r.raise_for_status()

for t in r.json()["data"]:
    print(f"{t['created_at']}  @{t['author']['username']}: {t['text'][:70]}")

说清楚它解决什么、不解决什么: 它给你的是同一个索引、一致的查询方式,加上翻页和结构化输出。★它不会给你一个比 X 更深的存档 —— 没有人能做到,因为浅的是索引本身。★


大家会问的问题

推特算搜索引擎吗? 对实时信息,功能上算。对历史搜索,不算 —— 它不是一个持久索引

能用 Google 搜推特吗? site:twitter.com 关键词 还能用,但收录很薄而且在继续萎缩。值得花三十秒,不值得依赖。

Google 为什么搜不到推文了? X 限制抓取,所以 Google 索引到的比过去少得多。

怎么在 Google 上找一条推文?site:twitter.com "原句"失败的话,用同样的引号短语在 X 自己的搜索里更可能成功。

推特会出现在 Google 搜索结果里吗? 资料页经常会,尤其是品牌名。单条推文比过去少得多。

最好的推特搜索引擎是哪个? X 自己的就是那个索引。 第三方工具是在它之上查询再加过滤或导出 —— 没有谁另建了一份 X 的索引

有推特简介搜索引擎吗? 账号搜索覆盖简介文本 —— 见怎么找账号独立的简介搜索工具查的是同一份数据。

怎么为搜索优化推文? 用人们会搜的词,因为匹配是基于推文正文的。这里没有网页那种可以博弈的排序算法。

推特 SEO 有用吗? 就"在 X 搜索里被找到"而言,有用。就"让推文在 Google 排名"而言,基本已经不行了

Google 为什么显示很老的推文? 缓存页面。 Google 持有的内容可能滞后现实好几个月,包括已经不存在的推文

能在 Google 上搜推特图片吗? 有时候能 —— Google 索引了一部分 X 媒体,覆盖很薄。见X 上的图片搜索

看新闻是推特搜索好还是 Google 好? 突发事件通常是推特,而且快很多。 已经尘埃落定的事,Google 的索引更完整。

为什么我每次搜结果都不一样? X 搜索本身有波动,而结果上限意味着你可能拿到同一个匹配集合的不同切片

能不用推特来搜推特吗? 只能通过某个查询 X 索引的东西。不存在一个独立的索引可供搜索。

Bing 对推特的收录更好吗? 覆盖有差异,但面对同样的抓取限制。不是一个绕路方案。

怎么找 Google 删掉的推文? Google 没有删它们 —— 是它从没索引到,或者把它丢出了索引。那条推文可能还在 X 上。

有全部推文的存档吗? 不存在公开的完整存档。 特定账号被第三方存过档,其余的没有被保留。

怎么让我的推文更容易被找到? 写人们会搜的词,并且不要把关键信息埋在图片里——那里的文字不是文本。

搜索引擎能看到受保护的推文吗? 不能。受保护账号在任何地方都不被索引。

为什么我的资料页能排名而推文不能? 资料页是稳定且会被链接的页面。 单条推文数量巨大、生命短暂,而且现在基本不被抓取。

搜 X 最可靠的方式是什么? 直接查 X 自己的索引。 其余一切都是在多绕几步之后查同一个东西。

怎么搜索推文? 直接用关键词查搜索索引,可以再用运算符收窄。

有推特搜索网站吗? X 自己的搜索就是那个索引。 ★第三方搜索站查的是同一个地方★ —— 区别在界面,不在覆盖范围

有推文搜索引擎吗? 只存在一个索引。任何把自己呈现为独立搜索引擎的,要么在查 X,要么在提供它自建的存档★ —— 值得搞清是哪一种。

怎么按日期查一条推文? since:until: —— 日期搜索的真实行为,包括它为什么返回得比你预期的少

怎么找老推文? 搜索的回溯不可靠。翻账号时间线能挖得更深★ —— 存档那个问题

有老推文查找工具吗? 时间线翻页就是那个工具。 ★叫这个名字的工具做的正是这件事★,或者在搜它们自建的存档。

怎么看推文历史? 按顺序翻那个账号的时间线。"历史"是你拼装出来的,不是你请求得到的。

怎么看某人的第一条推文? 一直翻到他时间线的末尾。小账号可行,大账号昂贵★ —— 成本就是页数。

怎么搜索已归档的推文? 只能在捕获过它们的存档内部搜。X 的搜索不是存档★ —— 这意味着什么

怎么查看一条推文下的评论? 取那条帖子的回复。引用是单独一份列表★ —— 为什么

怎么在长对话里找到我自己的那条回复? from:你的用户名 加上回复里一个有辨识度的词。比下拉一个长串快得多。

为什么两个搜索工具结果不一样? 对同一个索引的采样不同。两者都不权威★ —— 搜索返回的是一个窗口,不是完整集合。

能只搜某一个人的推文吗? 能 —— from:用户名 加关键词。那是搜索;翻他的时间线是枚举。★ 两件不同的事。

搜索覆盖有史以来的每一条推文吗? 不覆盖。没有任何搜索界面暴露完整存档★,这是关于搜 X 最被误解的一件事。

能按互动量搜索吗? 能 —— min_faves:min_retweets: 可以收窄到跨过某个门槛的帖子。

推特搜索引擎优化是什么?这是把两件事混在了一起★ —— 在 X 站内搜索里排名,和让 X 上的内容在网页搜索里排名两者几乎没有共同机制。


简短版

Google 用来找"关于 X 的文章",X 用来找 X 本身。★ 这个分工比大多数人的习惯要新,而它是这个问题几乎每个版本的实际答案。

任何自动化场景,我们的 API同样的操作符查同一个索引,返回带游标翻页的一致 JSON。只读、固定按次价格、没有属于你的限流要管 —— 也不声称拥有比 X 自己更深的存档

延伸阅读:仍然有效的全部搜索操作符 · 为什么时间区间返回得比应有的少 · 退出登录能做什么