我的网站如何在 ChatGPT 搜索中排名第一(你的也可以)

发布: (2026年1月6日 GMT+8 04:44)
10 min read
原文: Dev.to

Source: Dev.to

我并没有刻意去在 ChatGPT 上排名。我只是做了一个作品集,推送到 GitHub,然后继续别的事。

后来有人给我发消息:

“兄弟,你的模板在我向 ChatGPT 询问 Next.js 作品集模板时,总是第一个出现。”

我以为他们在开玩笑——直到我自己尝试了一下。

我的作品集模板在 ChatGPT 搜索中,针对 “best Next.js portfolio template GitHub”(最佳 Next.js 作品集模板 GitHub)是 #1 结果。没有广告,没有外链推广,也没有 SEO 机构的介入。

于是我做了每个好奇的开发者都会做的事:我 逆向工程 了原因。

结果发现,我不小心踩中了所谓的 AEO(Answer Engine Optimization,答案引擎优化)和 GEO(Generative Engine Optimization,生成式引擎优化)。

下面是我学到的全部内容。

TL;DR(如果你想要操作手册)

  • 添加 JSON‑LD schema,让 AI 能理解你站点的“谁/什么”。
  • 设置元数据,使爬虫能够 读取 + 复用 你的内容(在合理范围内)。
  • 编写 具体、可验证 的内容(实体 + 数字 + 链接)。
  • 保持站点 可爬取(站点地图 + robots + 清晰结构)。

游戏已改变(大多数开发者错过了)

Google 不再是唯一的搜索引擎。

ChatGPT、Perplexity、Claude……它们不仅是聊天机器人;它们是 搜索引擎

重要的转变不是数字,而是 行为转变:人们 AI 提问,而不是 输入 关键词。

AI 搜索的工作原理

传统 SEOAEO / GEO
根据反向链接、域名权威、关键词对链接进行排名。检索 并引用 信息。需要 理解 你的内容,而不仅仅是索引它。
问题:“我该如何获得更高排名?”问题:“我该如何成为答案?”

巨大的差异。

Source:

秘密武器:JSON‑LD 架构

让我的作品集对 AI “可见”的首要因素是 结构化数据,尤其是 JSON‑LD 标记。

示例 Schema(添加到 app/(root)/page.tsx

// app/(root)/page.tsx

const personSchema = {
  "@context": "https://schema.org",
  "@type": "Person",
  name: "Naman Barkiya",
  url: "https://nbarkiya.xyz",
  image: "https://res.cloudinary.com/.../og-image.png",
  jobTitle: "Applied AI Engineer",
  sameAs: [
    "https://github.com/namanbarkiya",
    "https://x.com/namanbarkiya",
  ],
};

const softwareSchema = {
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  name: "Next.js Portfolio Template",
  applicationCategory: "DeveloperApplication",
  operatingSystem: "Web",
  offers: {
    "@type": "Offer",
    price: "0",
    priceCurrency: "USD",
  },
  author: {
    "@type": "Person",
    name: "Naman Barkiya",
    url: "https://nbarkiya.xyz",
  },
};

为什么有效

当爬虫访问页面时,它会看到明确的 结构化数据,其中说明:

  • “这是一个名为 Naman BarkiyaPerson(人物)
  • “他的职业是 Applied AI Engineer(应用人工智能工程师)
  • “他与这些 GitHub 和 X 个人资料相同”
  • “他 创作 了这个软件应用”

AI 正是通过这些信息构建知识图谱,从而能够被引用。

您应该了解的模式类型

模式类型使用场景
Person个人作品集、关于页面
Organization公司网站
SoftwareApplication开发工具、应用、模板
Article博客文章、教程
FAQPage问答栏目
HowTo步骤指南

改变一切的那行代码

大多数网站对 AI 搜索不可见——不是因为内容不好,而是爬虫通常只抓取 摘要

解决办法就在你的 app/layout.tsx 元数据中:

// app/layout.tsx
export const metadata = {
  // ... other metadata
  robots: {
    index: true,
    follow: true,
    googleBot: {
      index: true,
      follow: true,
      "max-image-preview": "large",
      "max-snippet": -1, // ← This is the magic line
    },
  },
};

max-snippet: -1

“你可以随意使用我的全部内容。”

该指令在 Google(googleBot)中被广泛认可,并受到其他多个爬虫的尊重。使用 -1,AI 可以引用你的 整页内容。小小的改动,巨大的影响。

实际重要的元数据

Below is my full metadata setup (Next.js 13+ style):

export const metadata = {
  metadataBase: new URL("https://nbarkiya.xyz"),

  title: {
    default: "Naman Barkiya - Applied AI Engineer",
    template: "%s | Naman Barkiya - Applied AI Engineer",
  },

  description:
    "Naman Barkiya - Applied AI Engineer working at the intersection of AI, data, and scalable software systems.",

  keywords: [
    "Naman Barkiya",
    "Applied AI Engineer",
    "Next.js Developer",
    "XYZ Inc",
    "Databricks",
    // …more keywords
  ],

  authors: [
    {
      name: "Naman Barkiya",
      url: "https://nbarkiya.xyz",
    },
  ],

  alternates: {
    canonical: "https://nbarkiya.xyz",
  },

  openGraph: {
    type: "website",
    locale: "en_US",
    url: "https://nbarkiya.xyz",
    title: "Naman Barkiya - Applied AI Engineer",
    description: "Applied AI Engineer working at...",
    siteName: "Naman Barkiya - Applied AI Engineer",
    images: [
      {
        url: "https://res.cloudinary.com/.../og-image.png",
        width: 1200,
        height: 630,
        alt: "Naman Barkiya - Applied AI Engineer",
      },
    ],
  },

  robots: {
    index: true,
    follow: true,
    googleBot: {
      "max-snippet": -1,
      "max-image-preview": "large",
    },
  },
};

要点

  1. 添加 JSON‑LD,让 AI 能识别你希望它识别的实体。
  2. 使用 max-snippet: -1 向爬虫公开完整内容
  3. 提供丰富的元数据(Open Graph、关键词、作者等),让 AI 能自信地复用你的数据。
  4. 保持站点可被爬取(站点地图、简洁 URL、正确的 robots.txt)。

实施这些步骤后,你的页面将更有可能成为 答案本身,而不仅仅是另一个链接。祝优化顺利!

进入全屏模式

退出全屏模式

注意到模式了吗?

我在各处重复 “Naman Barkiya” + “Applied AI Engineer”

  • title.default
  • description
  • keywords
  • authors
  • openGraph.title
  • openGraph.siteName

这不是关键词堆砌,而是 实体强化

AI 需要在多个信号中看到对同一实体的一致描述,以建立对它“了解”你的信心。

编写 AI 真正能使用的内容

大多数人忽视的一点:

AI 不相信模糊的说法。

这不会让你被引用

❌ “参与过各种网页开发项目”
❌ “经验丰富的软件工程师”
❌ “构建了许多应用”

这会

✅ “在 XYZ 为全球交易员打造了客户仪表盘”
✅ “将 API 响应时间降低了 30 %”
✅ “将平台规模扩展至每日 3,000+ 用户”

AI 模型被训练用于识别:

  • 命名实体(XYZ、Databricks、Next.js)
  • 量化结果(30 %、3,000 用户、首月)
  • 可验证链接(公司网址、GitHub 仓库)

我如何组织我的经验数据

// config/experience.ts
{
  id: "xyz",
  position: "Software Development Engineer",
  company: "XYZ",
  location: "Mumbai, India",
  startDate: new Date("2024-08-01"),
  endDate: "Present",
  achievements: [
    "Shipped production features within the first month for a trader‑facing P&L dashboard",
    "Won XYZ AI Venture Challenge by building data transformation pipelines",
    "Led a 12‑member team in an internal hackathon",
  ],
  companyUrl: "https://www.xyz.com",
  skills: ["Typescript", "React", "Databricks", "Python"],
}

每一项声明都是:

  • 具体的(而非模糊)
  • 量化的(尽可能)
  • 可验证的(包含公司网址)

技术基础

网站地图

// app/sitemap.ts
import { MetadataRoute } from "next";

export default function sitemap(): MetadataRoute.Sitemap {
  return [
    {
      url: "https://nbarkiya.xyz",
      lastModified: new Date(),
      changeFrequency: "monthly",
      priority: 1.0,
    },
    {
      url: "https://nbarkiya.xyz/projects",
      lastModified: new Date(),
      changeFrequency: "monthly",
      priority: 0.8,
    },
    // ... more routes
  ];
}

Robots.txt

User-agent: *
Allow: /

Sitemap: https://nbarkiya.xyz/sitemap.xml

简单。开放。可爬取。

完整检查清单

架构与结构化数据

  • 首页使用 JSON‑LD Person 架构
  • 为你的内容类型添加额外架构(SoftwareApplicationArticle 等)

元数据

  • 在 robots 配置中使用 max-snippet: -1
  • 每个页面都有规范化 URL(canonical URL)
  • authors 字段包含姓名和 URL
  • 实体丰富的描述

内容

  • 具体且量化的成就
  • 命名实体(公司、工具、技术)
  • 外部验证链接
  • 语义化 HTML(正确的标题层级、列表)

技术

  • 动态站点地图
  • 开放的 robots.txt
  • 快速的页面加载(AI 爬虫也有超时限制)

最后思考

搜索的未来是 AI‑优先

Google 仍然在,但它不再是唯一的竞争者。如果你的内容无法被大型语言模型(LLM)理解,你就会对日益增长的互联网用户群体变得隐形。

好消息是? 这并不难解决。

  1. 添加 schema 标记。
  2. 开放你的摘要(snippets)。
  3. 编写具体且可验证的内容。

就这样。这就是全部攻略。

我已将我的完整作品集模板开源。你可以看到所有实现:

github.com/namanbarkiya/minimal-next-portfolio

Fork 它。使用它。让它成为你的。

也许有一天,我会让 ChatGPT 为我生成作品集模板,并看到你的网站位列 #1。那会很酷。

有问题吗?在 Twitter/X GitHub 上联系我。

Back to Blog

相关文章

阅读更多 »

Rapg:基于 TUI 的密钥管理器

我们都有这种经历。你加入一个新项目,首先听到的就是:“在 Slack 的置顶消息里查找 .env 文件”。或者你有多个 .env …

技术是赋能者,而非救世主

为什么思考的清晰度比你使用的工具更重要。Technology 常被视为一种魔法开关——只要打开,它就能让一切改善。新的 software,...

踏入 agentic coding

使用 Copilot Agent 的经验 我主要使用 GitHub Copilot 进行 inline edits 和 PR reviews,让我的大脑完成大部分思考。最近我决定 t...