SEO 优化:多语言 Sitemap 配置
SEO 优化:多语言 Sitemap 配置
我的博客上线一周,Google 只收录了 3 页~
检查后发现是 sitemap 配置有问题。
SEO 的第一步:让 Google 知道你有哪些页面
什么是 Sitemap
一个 XML 文件,告诉搜索引擎你网站的所有 URL。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://blog.ppq.app/</loc>
<lastmod>2026-03-09</lastmod>
</url>
<url>
<loc>https://blog.ppq.app/blog/</loc>
<lastmod>2026-03-09</lastmod>
</url>
</urlset>
Astro 自动生成
Astro 有 @astrojs/sitemap 插件:
// astro.config.mjs
import sitemap from '@astrojs/sitemap';
export default defineConfig({
site: 'https://blog.ppq.app',
integrations: [sitemap()],
});
构建后自动生成 sitemap-index.xml。
多语言配置
我的博客有中英文两个版本,需要在 sitemap 里标注:
<url>
<loc>https://blog.ppq.app/blog/hello/</loc>
<xhtml:link rel="alternate" hreflang="zh" href="https://blog.ppq.app/zh/blog/hello/"/>
<xhtml:link rel="alternate" hreflang="en" href="https://blog.ppq.app/en/blog/hello/"/>
</url>
Astro 配置:
sitemap({
i18n: {
defaultLocale: 'zh',
locales: {
zh: 'zh-CN',
en: 'en-US',
},
},
}),
提交到 Google Search Console
1. 添加网站
去 Google Search Console,添加你的域名。
2. 验证所有权
选 DNS 验证,在 Cloudflare 添加 TXT 记录:
类型:TXT
名称:@(或 _acme-challenge)
内容:google-site-verification=xxx
3. 提交 sitemap
在 Search Console 左侧菜单 → Sitemaps → 输入 URL → 提交
https://blog.ppq.app/sitemap-index.xml
一个坑:robots.txt 阻止了收录
我一开始的 robots.txt:
User-agent: *
Disallow: /
这个配置会阻止所有爬虫!
正确配置:
User-agent: *
Allow: /
Sitemap: https://blog.ppq.app/sitemap-index.xml
另一个坑:canonical URL 不一致
文章有多个 URL(带/不带尾部斜杠),Google 认为是重复内容。
解决方案:在页面里加 canonical:
<link rel="canonical" href="https://blog.ppq.app/blog/hello/" />
Astro 自动处理,但你要确保 site 配置正确。
你的 sitemap 配对了吗,Google 收录了多少页~