Skip to content

技术SEO检查清单

目标

在网站上线前完成所有 SEO 技术配置,确保搜索引擎能正确抓取、索引和排名你的页面。

前置条件

  • Next.js 项目代码库可访问
  • 项目已通过 Vercel 部署成功(可在 xxx.vercel.app 访问)
  • 自定义域名已完成 DNS 绑定(域名已指向 Vercel)
  • 拥有域名的 DNS 管理权限(用于 GSC 验证)

操作步骤

步骤1:GSC 收录配置

目的:让 Google 知道你的网站存在,并开始抓取和索引页面。 操作

  1. 访问 Google Search Console,点击「添加属性」。
  2. 输入你的自定义域名(如 www.yourproduct.com),选择「网域」验证方式。
  3. 按照提示在你的域名 DNS 记录中添加一条 TXT 记录进行验证:
    • 登录域名注册商后台(如 Cloudflare、Namecheap、阿里云)。
    • 在 DNS 设置中添加一条 TXT 记录,值为 GSC 提供的验证字符串。
    • 等待 DNS 生效(通常 5-30 分钟,最长 48 小时)。
  4. 回到 GSC 点击「验证」,验证成功后进入控制台。
  5. 在 GSC 左侧菜单找到「Sitemaps」,提交 sitemap URL:https://www.yourproduct.com/sitemap.xml
  6. 在「网址检查」中输入首页 URL,点击「请求编入索引」。
  7. 等待 Google 抓取,首次收录通常需要 3-14 天。 验证
  • GSC 中属性状态为「已验证」
  • Sitemap 提交状态为「成功」
  • 首页索引状态为「已发现 - 已编入索引」

步骤2:sitemap.xml 生成

目的:为搜索引擎提供网站所有页面的结构化地图,确保完整收录。 操作

  1. 在 Next.js 项目中安装 next-sitemap 包:
    bash
    npm install next-sitemap
  2. 在项目根目录创建 next-sitemap.config.js
    js
    /** @type {import('next-sitemap').IConfig} */
    module.exports = {
      siteUrl: process.env.SITE_URL || 'https://www.yourproduct.com',
      generateRobotsTxt: false, // 我们手动配置 robots.txt
      generateIndexSitemap: false,
      changefreq: 'weekly',
      priority: 0.7,
      exclude: ['/api/*', '/admin/*'],
      robotsTxtOptions: {
        policies: [
          { userAgent: '*', allow: '/', disallow: ['/api/', '/admin/'] }
        ]
      }
    }
  3. package.json 中添加构建后脚本:
    json
    {
      "scripts": {
        "postbuild": "next-sitemap"
      }
    }
  4. 执行 npm run build,确认 public/ 目录下生成了 sitemap.xml 文件。
  5. 本地验证:打开 public/sitemap.xml,确认包含所有目标页面 URL。
  6. 部署后线上验证:访问 https://www.yourproduct.com/sitemap.xml,确认可正常访问。 验证
  • sitemap.xml 文件已生成在 public/ 目录
  • 包含所有需要被收录的页面 URL
  • 线上 URL 可正常访问,返回 HTTP 200
  • XML 格式正确(可用 XML 验证器检查)

步骤3:robots.txt 配置

目的:告诉搜索引擎爬虫哪些页面可以抓取、哪些不可以,保护私有页面。 操作

  1. 在 Next.js 项目的 public/ 目录下创建 robots.txt 文件。
  2. 写入以下内容:
    txt
    # 允许所有搜索引擎抓取公开内容
    User-agent: *
    Allow: /
    
    # 禁止抓取 API 路由和管理后台
    Disallow: /api/
    Disallow: /admin/
    
    # 指定 Sitemap 位置
    Sitemap: https://www.yourproduct.com/sitemap.xml
  3. 部署后线上验证:访问 https://www.yourproduct.com/robots.txt
  4. 用 Google's robots.txt Tester 验证规则是否正确。 验证
  • robots.txt 可通过线上 URL 访问
  • Allow / 规则存在
  • Disallow /api/ 和 /admin/ 规则存在
  • Sitemap 路径指向正确的 sitemap.xml 地址

步骤4:Canonical 标签配置

目的:告诉搜索引擎页面的规范 URL,避免重复内容问题导致权重分散。 操作

  1. 在 Next.js 的 layout 或页面组件中,确保每个页面都有 canonical 标签。
  2. 使用 Next.js Metadata API 设置 canonical:
    tsx
    // app/layout.tsx 或各页面中
    export const metadata = {
      alternates: {
        canonical: 'https://www.yourproduct.com/',
      },
    }
  3. 每个子页面设置各自的 canonical URL:
    tsx
    // app/blog/[slug]/page.tsx
    export const metadata = {
      alternates: {
        canonical: 'https://www.yourproduct.com/blog/keyword-research-guide',
      },
    }
  4. 如果网站支持多语言,添加 hreflang 标签:
    tsx
    export const metadata = {
      alternates: {
        canonical: 'https://www.yourproduct.com/en/feature-page',
        languages: {
          'en': 'https://www.yourproduct.com/en/feature-page',
          'zh': 'https://www.yourproduct.com/zh/feature-page',
          'ja': 'https://www.yourproduct.com/ja/feature-page',
        },
      },
    }
  5. 检查规则:
    • 每个页面有且仅有一个 canonical 标签。
    • canonical URL 必须是绝对路径(包含 https:// 和域名)。
    • canonical 不能指向 404 页面。 验证
  • 用 AITDK 插件在每个页面检查 canonical 标签是否存在
  • canonical URL 与当前页面 URL 一致(或指向规范版本)
  • 多语言页面的 hreflang 标签完整且互相对应

步骤5:TDH 优化

目的:优化每个页面的 Title、Description、H1 标签,提升搜索结果点击率和关键词排名。 操作

  1. Title(标题标签)
    • 长度控制在 50-60 个字符(超过会被 Google 截断)。
    • 格式:核心关键词 - 品牌名核心关键词 | 产品价值描述
    • 核心关键词放在标题最前面。
    • 示例:AI Writing Tool - Generate Blog Posts in Minutes | YourProduct
  2. Description(描述标签)
    • 长度控制在 150-160 个字符
    • 包含核心关键词和一次长尾词。
    • 以动词开头,描述页面内容的核心价值。
    • 包含 CTA(Call to Action),如 "Try free"、"Learn more"。
    • 示例:Generate high-quality blog posts, marketing copy, and social media content with AI. Save hours of writing time. Try free today.
  3. H1(主标题)
    • 每个页面有且仅有 1 个 H1 标签
    • H1 内容应包含核心关键词。
    • H1 和 Title 可以相似但不要完全相同。
    • 示例 H1:AI Writing Tool That Creates Content in Minutes
  4. 在 Next.js 中配置:
    tsx
    export const metadata = {
      title: 'AI Writing Tool - Generate Blog Posts in Minutes | YourProduct',
      description: 'Generate high-quality blog posts, marketing copy, and social media content with AI. Save hours of writing time. Try free today.',
    }
    // H1 在 JSX 中直接使用 <h1> 标签

验证

  • 所有页面 Title 长度 50-60 字符,包含核心关键词
  • 所有页面 Description 长度 150-160 字符,包含关键词和 CTA
  • 所有页面有且仅有 1 个 H1 标签
  • Title、Description、H1 三者关键词一致但不重复

步骤6:图片 SEO

目的:优化图片元素,让搜索引擎理解图片内容,同时提升页面加载速度。 操作

  1. alt 属性
    • 每张图片必须有 alt 属性。
    • alt 文本用自然语言描述图片内容,包含相关关键词。
    • 不要关键词堆砌,alt 文本控制在 125 个字符以内。
    • 示例:<img src="ai-writing-dashboard.png" alt="AI writing tool dashboard showing blog post generation interface" />
  2. 文件名
    • 图片文件名使用小写英文 + 连字符,包含关键词。
    • 错误:Screenshot 2024-01-15.pngIMG_001.jpg
    • 正确:ai-writing-tool-dashboard.pngblog-post-generator-interface.webp
  3. 图片压缩
    • 使用 WebP 格式替代 PNG/JPG(体积减少 25-35%)。
    • Next.js 的 <Image> 组件会自动处理格式转换和懒加载,优先使用。
    • 手动压缩工具:Squoosh、TinyPNG。
    • 图片大小控制:首屏图片 < 100KB,非首屏 < 200KB。
  4. 尺寸标注
    • 使用 <Image> 时设置 widthheight 属性,避免布局偏移(CLS)。 验证
  • 页面中所有 <img> 标签都有 alt 属性
  • 图片文件名使用英文关键词命名
  • 图片格式为 WebP 或已通过 Next.js Image 优化
  • 首屏图片加载时间 < 2 秒

步骤7:用 AITDK 插件全面检查

目的:上线前做一次全面的 SEO 技术健康检查,确保没有遗漏。 操作

  1. 在 Chrome 浏览器中打开你的网站首页,点击 AITDK 插件图标。
  2. 查看 AITDK 的检查结果,逐项核实:
    • Title & Meta Description:是否完整、长度合规。
    • Headings 结构:H1 是否唯一,H2-H3 层级是否合理。
    • Canonical 标签:是否存在且正确。
    • Open Graph 标签:og:title、og:description、og:image 是否完整(社交分享需要)。
    • 图片 alt:是否有缺失 alt 的图片。
    • 页面加载速度:Core Web Vitals 指标是否达标。
  3. 逐页检查核心页面(首页、定价页、功能页、博客列表页、博客文章页)。
  4. 记录所有问题,按优先级修复:
    • P0(阻断上线):页面 404、canonical 缺失、Title 缺失。
    • P1(上线后 3 天内修复):Description 缺失、H1 缺失或重复、图片无 alt。
    • P2(上线后 1 周内修复):OG 标签缺失、页面速度优化。 验证
  • AITDK 检查报告中无 P0 级别问题
  • 核心页面全部通过检查
  • 所有 P0 问题已修复并验证

检查清单

  • [ ] GSC 属性已验证,sitemap 已提交
  • [ ] sitemap.xml 可在线上正常访问
  • [ ] robots.txt 配置正确(Allow /、Disallow /api/ 和 /admin/)
  • [ ] 每个页面都有 canonical 标签且指向正确 URL
  • [ ] Title 50-60 字符,包含核心关键词
  • [ ] Description 150-160 字符,包含关键词和 CTA
  • [ ] 每个页面有且仅有 1 个 H1 标签
  • [ ] 所有图片有 alt 属性且文件名合规
  • [ ] AITDK 检查无 P0 级别问题

常见问题

问题原因解决方案
GSC DNS 验证一直失败TXT 记录配置错误或 DNS 未生效检查 TXT 记录值是否完整复制,等待 DNS 传播最多 48 小时
sitemap.xml 返回 404next-sitemap 未在构建后执行确认 postbuild 脚本存在,手动运行 npx next-sitemap 测试
canonical 指向 http 而非 https站点 URL 配置缺少 https检查 next-sitemap.config.js 和环境变量中的 siteUrl
Title 在搜索结果中被截断Title 超过 60 个字符精简 Title,核心关键词前置,控制在 60 字符内
图片导致 CLS 偏移图片未设置宽高属性使用 Next.js Image 组件并设置 width/height
页面未被 Google 收录内容质量低或技术问题阻断爬取检查 GSC 覆盖率报告,排除 noindex 标签和 robots.txt 阻断

关联内容

  • 概念卡片:技术SEO、TDH优化、Canonical标签、Core Web Vitals
  • 工具档案:Google Search Console、AITDK、next-sitemap
  • SOP主线:04-SEO优化配置