網站部署了,但網路還不認識你。
網路爬蟲不會主動發現你,你必須主動告訴它們你在哪、你是誰、你的內容長什麼樣。讓 Google 知道你在哪、讓讀者訂閱你、讓 AI 讀懂你——這三件事,我們一起來實現:
- 人找你 → RSS 訂閱
- Google 找你 → Search Console + Sitemap
- AI 找你 → raw markdown + AEO
各有各的協定,各做一次,之後就不用再管了。
RSS:讓讀者訂閱,不靠演算法
RSS 是一種訂閱協定,概念很簡單:你的 blog 產出一個 XML 格式的 feed 檔案,讀者用 Feedly 之類的 RSS reader 訂閱這個 URL,之後每次你發新文章,他們的 reader 就會自動收到——不需要你去各平台發貼、不需要演算法幫你分發,讀者直接訂,安靜又可靠。
技術社群的讀者比一般人更習慣用 RSS,這是你的目標讀者群。做這個對的人很有用,跳過它就少了一個安靜但穩定的觸達管道。
在 Astro 裝 @astrojs/rss,建 src/pages/rss.xml.ts:
import rss from '@astrojs/rss';import { getCollection } from 'astro:content';
export async function GET(context) { const posts = await getCollection('blog'); return rss({ title: 'Jasper cowork with AI', description: '與 AI 協作的實戰紀錄', site: context.site, items: posts.map(post => ({ title: post.data.title, pubDate: post.data.date, description: post.data.description, link: `/posts/${post.id}/`, })), });}裝完還有一步:RSS autodiscovery。在 <head> 加一行:
<link rel="alternate" type="application/rss+xml" title="你的 Blog" href="/rss.xml" />RSS reader 只要貼入你的網址,就能自動找到 feed,不用用戶手動填路徑。
Google Search Console:讓 Google 索引你
Domain 設定好之後,要主動把 sitemap 送給 Google,否則等自然爬取可能要等很久。
進 Google Search Console,新增 property,選 Domain 類型。Cloudflare DNS 的話,GSC 直接走 OAuth 授權自動加 TXT record,不用手動操作。
Sitemap 提交:輸入框填入完整 sitemap URL:
https://jasperhung.dev/sitemap-index.xmlAEO:讓 AI crawler 讀懂你
做這個之前,我忽然想到一件事:這個時代應該有專門針對 AI 的 SEO 吧?於是跟 AI 討論了這個問題:
GitHub 有個 Raw 按鈕,可以直接看到檔案的原始內容,不帶任何 HTML 包裝。如果我的 blog 也做類似的東西,讓 AI crawler 可以直接讀到乾淨的 markdown,而不是去解析整頁的 HTML + sidebar + header + script 標籤——這樣 AI 對文章的理解會不會更好?
答案是對的——這個概念有個名字:AEO(AI Engine Optimization),SEO 的下一層,針對的不是 Google,而是 Perplexity、ChatGPT 這類 AI 搜尋引擎。
AI 在爬你的文章時,讀到的是整個 HTML 頁面,裡面除了文章內容,還有導覽列、footer、dark mode script、CSS class 名稱……它必須自己辨別哪些是「真正的內容」。如果你提供一個乾淨的 markdown 版本,AI 直接讀那個,理解品質和引用準確度都會好很多。
做法兩步。
Step 3-1 建 raw markdown endpoint:
export async function getStaticPaths() { const posts = await getCollection('blog'); return posts.map(post => ({ params: { slug: post.id }, props: { body: post.body }, }));}
export const GET = ({ props }) => new Response(props.body, { headers: { 'Content-Type': 'text/plain; charset=utf-8' }, });Step 3-2 在 <head> 宣告這個 alternate 版本:
<link rel="alternate" type="text/markdown" href="/posts/your-slug.md" />這個 tag 就是告訴 AI crawler:「這篇文章有個乾淨的 markdown 版本,你去那裡讀。」Perplexity 已確認會優先使用這個 endpoint。
FAQ
新 blog 沒讀者,RSS 值得裝嗎? 值得。RSS 是基礎建設,早裝和晚裝的成本一樣,但早裝的話,第一批關注你的人一開始就能訂閱——不用之後再補通知說「我加了 RSS」。
Sitemap 一定要手動提交嗎? Google 最終還是會自然爬到,但新 blog 沒有外部連結時等待時間可能很長。手動提交大幅縮短這段等待。
AEO 有辦法確認 AI 真的在讀 markdown 嗎?
看 server log:AI crawler 的 user-agent 會是 PerplexityBot、GPTBot 等。如果這些 bot 有訪問 /posts/*.md 路徑,就代表有效。
三個設定裝完,blog 才算真正接上網路。讀者能訂、Google 能索引、AI 能讀懂——文章寫出來是第一步,讓人找得到才算開門。