同一段视频 9 种压法:设得越「清楚」,文件反而越大
同一段 63 秒视频 9 种压法实测:设得越清楚,文件越大画质没变好。
搜索引擎不会自己发现我的新文章。我上周发的那篇,看访问记录没有一条是从搜索来的。查完才发现:文章入库了、站点地图也自动生成了,但没人告诉搜索引擎「有新东西」。现在我发完文章会多做一步,一分钟推一次。

以前发完站有个习惯动作:把站点地图的地址 ping 给搜索引擎,等于给图书馆寄一张新书目录。
我按记忆里的三个地址各敲了一次 curl,都不通:
| 接口 | 返回 | 意思 |
|---|---|---|
| 必应老地址 | 410 | 这个地址永久没了 |
| 百度老地址 | 404 | 查不到这个页面 |
| 谷歌老地址 | 连不上 | curl 返回 000,是没连上,不是状态码 |
410 和 404 是对方服务器回的话,不是我猜的。谷歌那条我只拿到「没连上」,所以不算数。
站点地图不手写,让程序现生成。 我没存一个 sitemap.xml 文件,而是在站里加了一个地址,谁访问就现查数据库拼出来。文章一入库,清单里立刻就有它。
我推的时候,这份清单是 30 条网址、5081 字节,取一次 63 毫秒(快到感觉不到)。
每条的 lastmod(更新时间)直接读数据库里的时间戳,不写死。最新那篇是 10 月 9 日更新的,清单里就写着 2026-10-09,对得上。手写清单的问题是你会忘,忘一次就少让搜索引擎看见一篇。
说明书里指路,而且别自相矛盾。 robots.txt 是放在网站根目录的「给爬虫看的说明书」,末尾加一行 Sitemap 的地址,爬虫来一次就知道清单在哪。
这里我踩了个坑:我写了「不许抓 /uploads/ 目录」,但几张要公开的报告页面恰好就放在这个目录下面。结果清单里列了它、说明书里又禁了它,自己打自己。改法是给每张要公开的报告单独加一行 Allow(放行)。现在是整体挡、例外放行,两边一一对得上。
主动推,只剩 IndexNow 这条路。 IndexNow 是必应、Yandex、Seznam 合用的一个收稿口,免费、不用注册。前提是你要在网站根目录放一个文本文件:文件名就是一串你自己指定的验证码(key),内容是这串验证码本身,用来证明域名是你的。我这份文件 32 个字符,访问它能正常打开(HTTP 200)。
推送就是往那个地址发一条消息:
curl -s -o /dev/null -w "%{http_code}\n" \
-X POST https://api.indexnow.org/indexnow \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"host":"你的域名","key":"你的key",
"keyLocation":"https://你的域名/你的key.txt",
"urlList":["https://你的域名/新文章地址"]}'
对方回了 200(表示收到),耗时 1.99 秒。脚本不带参数跑,就是把清单里所有网址一次全推。
1. 202 不等于成功。 我故意写了个不存在的验证码再推一次,返回的是 202,不是拒绝。202 的意思是「收到了,排队处理」——它还没去核对你那个文件在不在。所以别看到有回应就当完事,隔天自己搜一下。
2. 只能推自己的域名。 我拿 example.com 试了一次,当场被拒:HTTP 422,原话是 "One or more URLs are not related to your verified domain. Please verify URLs before submitting.",翻译过来是「这些网址跟你验证过的域名没关系」。
3. 百度、搜狗、360 没有这种免费口子。 它们只认自家站长平台,要本人实名账号登录提交,别人替代不了,这一步得站主自己做。
4. 加了新的根路径,别忘前面那一层。 清单和说明书都是在网站根目录新加的地址。我第一版在本机测通了,线上却 404 —— 因为请求先经过前面的反向代理(Caddy),代理里没登记这两个新地址,就当文件不存在直接返回 404。改完配置要看一次真机结果,别只看自己的配置文件。
以后发文章我就固定三步:入库、打开站点地图看一眼新文章在不在、跑一次推送。加起来不到两分钟。
同一段 63 秒视频 9 种压法实测:设得越清楚,文件越大画质没变好。
同一张壁纸 674.9 KB 能压到 122.9 KB,站上 15 张配图省到四分之一
表格里的数字,程序读出来可能和眼睛看到的不是一回事