惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Threatpost
Project Zero
Project Zero
Know Your Adversary
Know Your Adversary
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
T
Tenable Blog
Scott Helme
Scott Helme
T
Tor Project blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
NISL@THU
NISL@THU
Cisco Talos Blog
Cisco Talos Blog
Security Latest
Security Latest
Simon Willison's Weblog
Simon Willison's Weblog
S
Securelist
Help Net Security
Help Net Security
Google DeepMind News
Google DeepMind News
Cloudbric
Cloudbric
C
Check Point Blog
Jina AI
Jina AI
Webroot Blog
Webroot Blog
量子位
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
P
Privacy & Cybersecurity Law Blog
罗磊的独立博客
H
Heimdal Security Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
人人都是产品经理
人人都是产品经理
N
News and Events Feed by Topic
www.infosecurity-magazine.com
www.infosecurity-magazine.com
宝玉的分享
宝玉的分享
Hacker News - Newest:
Hacker News - Newest: "LLM"
L
LINUX DO - 热门话题
The GitHub Blog
The GitHub Blog
T
Troy Hunt's Blog
PCI Perspectives
PCI Perspectives
Vercel News
Vercel News
N
News | PayPal Newsroom
A
Arctic Wolf
T
The Blog of Author Tim Ferriss
博客园 - 司徒正美
博客园 - 叶小钗
Y
Y Combinator Blog
V
V2EX
美团技术团队
O
OpenAI News
Microsoft Security Blog
Microsoft Security Blog
AWS News Blog
AWS News Blog

gankudadiz的个人小站

网页字体:TTF、WOFF2 和子集化 - gankudadiz blog 一次异常上行排查:揪出一个后台抓包的服务 - gankudadiz blog Opencode Go套餐的API玩法 - gankudadiz blog 本地开发服务, 端口与网络访问基础 - gankudadiz blog PHP 与 Redis:从原理到日常维护 - gankudadiz blog 用 Claude Code 和 Mimo 翻译 Filament 文档的一点记录 2026年了,AI横行的现在,markdown还是文档的主流格式吗? - gankudadiz blog 坚果云同步目录理解错误记录 - gankudadiz blog GitHub Pages 的运作机制与最新规则 - gankudadiz blog 不是,没人和我说这么感人啊 - gankudadiz blog OpenCode 配置 Oh My OpenAgent(OMO) 记录 装了ccusage,总算知道 Claude Code 和 Codex 吃了多少 token --一切尽在 Everything - gankudadiz blog 女儿第一次国际象棋团队赛 - gankudadiz blog AI的积极意义---用GPT-image2制作女儿单词卡 - gankudadiz blog 这个时代要变了 GPT-image2使用感想 - gankudadiz blog 再见,大布 - gankudadiz blog 关于 MySQL 整数显示宽度的排查:为什么同一张表会出现 `bigint(20) unsigned` 和 `bigint unsigned` 博客的未来规划 - gankudadiz blog 给评论区加个草稿箱:sessionStorage 的标签页级缓存 - gankudadiz blog WSL2和Windows同步claude code配置记录 - gankudadiz blog WSL2 安装 Claude Code 全攻略 给博客加上异步邮件通知:Laravel Queue 实践小记 - gankudadiz blog 头像上传裁剪这件小事 - gankudadiz blog
做博客几个月,我终于了解了这些站长工具 - gankudadiz blog
2026-04-15 · via gankudadiz的个人小站

博客上线快半年了,一直以来我以为只要写好文章、搭个 RSS 订阅,就够了。最近把博客提交到了 Bing Webmaster Tools 和 Google Search Console,才发现"让搜索引擎找到你的网站"这件事,远比想象中复杂。

记录一下这段时间学到的东西。

Sitemap:网站的目录页

Sitemap(站点地图)这个名字很直白,就是给搜索引擎看的网站目录。

我的博客用的是动态生成的方式,访问 sitemap.xml 会返回所有已发布的文章列表和标签列表。代码大概是这样:

public function index(): Response
{
    $posts = Post::publiclyVisible()->latest('updated_at')->get();
    $tags = Tag::query()->whereHas('posts', fn ($query) => $query->publiclyVisible())->get();

    return response()->view('front.sitemap', [
        'posts' => $posts,
        'tags' => $tags,
    ])->header('Content-Type', 'text/xml; charset=UTF-8');
}

只返回对外可见的文章,草稿和归档文章不会出现在里面。

然后在 robots.txt 里声明一下位置:

User-agent: *
Disallow:

Sitemap: https://blog.gankudadiz.com/sitemap.xml

这样搜索引擎爬虫来抓网站的时候,就能通过 robots.txt 知道 sitemap 在哪,顺着就能发现你所有的文章。

robots.txt:爬虫的入场须知

robots.txt 是一个简单的文本文件,放在网站根目录下。它告诉搜索引擎:哪些页面你可以抓,哪些你不可以。

我的配置很宽松,所有都允许:

User-agent: *
Disallow:

一个典型的小博客这么做没什么问题。但如果你的后台管理页面不想被索引(比如 /admin),就应该加一条:

User-agent: *
Disallow: /admin

这是最基础的理解:robots.txt 是一个"礼貌性"的协议,恶意爬虫不会遵守,但正常搜索引擎都会遵守。

IndexNow:让搜索引擎"即时"知道页面变了

这是让我觉得最有意思的东西。

传统的流程是:搜索引擎定期来抓你的网站,发现有新内容就收录。但这个"定期"可能是几天甚至几周。

IndexNow 是一种主动通知机制。当你的文章发布、修改或删除时,你的网站主动告诉搜索引擎:"嘿,我这里有变化,过来看看。"

我用的是 ymigval/laravel-indexnow 这个包,配置好了以后,在 PostObserver 里自动触发:

public function created(Post $post): void
{
    if (! $post->isPubliclyVisible()) {
        return;
    }

    $this->submitIndexNowUrls([
        $this->currentPostUrl($post),
    ]);
}

规则写得比较细:

  • 新建文章:提交新 URL
  • 修改文章且 slug 没变:只提交当前 URL
  • 修改文章且 slug 变了:同时提交旧 URL 和新 URL(因为内容迁移了)
  • 删除文章:提交被删除的 URL

这个逻辑搞了好一会儿,主要是想清楚各种状态变化组合。

目前配置的是通用的 IndexNow 协议,Bing、Yandex 这些主流搜索引擎都支持。Google 虽然有自己的一套(Indexing API),但 IndexNow 提交一次能通知多个引擎,效率更高。

Search Console 和 Webmaster Tools:站长的仪表盘

这两个是搜索引擎提供的站长工具,听起来名字很唬人,其实功能挺朴实。

主要能做的事情:

  • 提交 sitemap:让搜索引擎知道你的站点结构
  • 查看索引状态:哪些页面被收录了,哪些没有被收录
  • 检测爬虫错误:搜索引擎来抓的时候遇到了什么问题
  • 性能数据:搜索结果中的点击率、曝光量

说实话我目前用得还比较浅,就是提交 sitemap、看看有没有报错。但光是"知道搜索引擎是怎么看我的站"这件事,就已经值了。

之前以为 RSS 就够了,太天真了

RSS 解决的是"让用户主动订阅内容"的问题。用户装一个 RSS 阅读器,订阅了我的博客,有新文章就会推过来。

但 RSS 不解决"让搜索引擎找到你"的问题。搜索引擎不知道你的 RSS 地址,它也不会去读你的 RSS 来更新搜索结果。

这是一个认知盲区:开发者习惯用技术手段解决问题(搭 RSS、做 API),但搜索引擎是另一套逻辑——它需要你主动告诉它你的站点结构、页面变化。

Sitemap、IndexNow、robots.txt 这些东西,本质上都是在"说搜索引擎能听懂的话"。

总结

这段时间折腾下来,最大的感受是:做网站不只是写代码

域名解析、SSL 证书、SEO 优化、站长工具……这些都是开发之外的东西。好在都不算难,踩一遍就懂了。


写完感觉有点像笔记,但这就是我现在的理解水平。等过一年再回头看,大概会觉得幼稚吧——但那就是进步了。