市面上的GEO/SEO工具读起来像是为了卖课而写的,不是为了解决问题。所以我写了四个工具。
四个Node命令行工具,零运行时依赖,MIT协议,每个只做一件事。它们都托管在npm的@geosuite作用域下,源码在github.com/TryGeoSuite。
以下是它们的功能,以及每个工具背后的设计决策。
@geosuite/ai-crawler-bots
功能:检测GPTBot、ClaudeBot、PerplexityBot等约20种AI爬虫能否真正访问你的网站,以及在无法访问时阻断来自何处。
使用方法:
npx @geosuite/ai-crawler-bots robots https://your-site.com
非显而易见的细节:当请求返回403时,结果会区分边缘阻断(响应中包含Cloudflare/CloudFront/Vercel/Akamai/Fastly/Netlify的指纹)与源站阻断(无此类指纹——问题出在你的应用或Web服务器)。两种情况的修复方式不同:边缘阻断意味着在CDN控制台切换一个开关,源站阻断则意味着更新配置文件。
该工具还能逐行解析robots.txt的来源,当某个爬虫被Disallow时,它会指出是哪个组中的哪一行导致的。它还能检测Cloudflare注入的"# BEGIN Cloudflare Managed Content"…"# END Cloudflare Managed Content"标记——如果你自己的规则原本允许该爬虫,但托管规则禁止了,报告会明确说明。
用户代理字符串来自运营商官方文档,而非互相抄袭的第三方SEO博客。我们不接受没有文档链接的条目。
@geosuite/schema-templates
功能:提供23个可直接复制粘贴的schema.org JSON-LD模板,以及离线结构验证器。
使用方法:
npx @geosuite/schema-templates list
npx @geosuite/schema-templates show Product
JSON-LD是你能向AI助手发出的最便宜、最明确的信号,告诉它你的页面是什么。这本身不会让ChatGPT引用你——权威性和时效性仍然重要——但它消除了一类本可避免的错误。AI不再需要猜测你的价格、作者,或者页面上的某个数字是基准测试还是笔误。
我故意排除了那些并非真正推荐的字段。用schema.org的每个可选属性填充模板会稀释信号。如果你需要某个未包含的字段,schema.org是权威来源——自行添加即可。
还有geosuite-schema fill --url --ai命令,如果你想让大语言模型从真实页面填充占位符,但确定性部分(模板+验证器)不需要网络或API密钥。
@geosuite/llms-txt-generator
功能:将sitemap.xml转换为符合llmstxt.org提议标准的llms.txt文件。
使用方法:
npx @geosuite/llms-txt-generator https://your-site.com/sitemap.xml \
--name="Your Site" --enrich --out=public/llms.txt
llms.txt旨在成为LLM形态的站点地图等价物:一个经过策划、分段的Markdown索引,收录你最重要的页面。该格式足够小巧,可被经典工具解析。
热门跟贴