用 robots.txt 精准控制 AI 爬虫 — 拒绝训练、放行引用的 2026 策略
很多站点用一行屏蔽 GPTBot 就以为"AI 已挡住"。我实际写了一份把训练、搜索、用户请求爬虫分开控制的 robots.txt,并用标准解析器验证。还包括 Google-Extended 挡不住 AI Overviews 的陷阱,以及 llms.txt 的真实现状。
archive
356 · 第 6
很多站点用一行屏蔽 GPTBot 就以为"AI 已挡住"。我实际写了一份把训练、搜索、用户请求爬虫分开控制的 robots.txt,并用标准解析器验证。还包括 Google-Extended 挡不住 AI Overviews 的陷阱,以及 llms.txt 的真实现状。
把一个虚构的面包店落地页扔进Lighthouse无障碍审计,得了55分。这里是逐条修复6个WCAG违规、做到100分的实测日志,以及自动化工具始终没能发现的键盘陷阱。
我以为并行触发子代理会让本地模型也随之变快。实测发现默认的Ollama会把请求排队处理,接8个和接1个的总吞吐量一样。我在M1 16GB上实测了调高OLLAMA_NUM_PARALLEL带来的吞吐增益,以及它的代价。
用JS注入店铺页的LocalBusiness JSON-LD,原始HTML里ld+json块为0。本文与服务端输出直接对比,并梳理Google官方立场与排名的边界。
上一篇文章里我把gemma4:12b的空回复断定为打包bug。错了,它其实是推理模型。于是我用推理开/关跑了13道题。 推理多答对了1题,却多花了68倍的输出token和19倍的时间。本文用实测整理在代理里该何时开、何时关。
本地智能体在长输入下突然无视指令。我把一段秘密代码藏在提示开头,逐步加长输入直到 recall 崩掉。 一旦超过 num_ctx,Ollama 就不报错地砍掉提示前半段。而且"默认值是 4096"这个说法,在我的 MacBook 上是错的。
离开一会儿再叫回代理,第一条响应就格外迟钝。我把Ollama每次响应都返回的load_duration按模型大小拆开看:2GB是1.5秒, 9.6GB最高9.7秒。而且"冷"原来有两种。keep_alive一个开关如何决定这笔开销,我做了实测整理。
同样一段9,700 token的提示词,在我的笔记本上第一个token要等55秒,而第二次相同调用只用了65毫秒。我直接取出Ollama的时间戳,分离测量prefill与generation,弄清prefix缓存为何快了396倍,以及如何把它用到代理的上下文设计上。
我把同一篇文章以ko/ja/en/zh四语发布的博客285篇,用三种真实分词器逐一分词,测量非英语的token成本。 韩语是英语的1.38倍,日语1.34倍,而且分词器的代际更替实质上是给非英语文本的一次打折。
我把同一个提示词向本地Gemma 4发送了数十次,测量输出的可复现程度。temperature=0是确定性的, 即使提高temperature,只要固定seed,输出也会收敛成一行。文末给出可直接用于评估和CI的结论。
把同样的50条记录序列化成JSON、YAML、CSV、TSV、XML等9种格式,用tiktoken实测token。平坦数据下TSV比pretty JSON便宜62%,而数据一旦嵌套,结论就反转。
我亲自安装了 @modelcontextprotocol/sdk v1.29.0,构建了一个 TypeScript MCP 客户端。 不依赖 Claude Desktop,通过编程方式调用 MCP 服务器工具和读取资源的实战指南,包含真实运行日志和错误处理模式。