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 收录了多少页~