返回文章列表
技術實作2026年4月20日·10 分鐘閱讀

B2B 網站要被 AI 引用,先做這三件事(Next.js 實作筆記)

AEO 的 TODO 列表可以寫到 20 條,但 80% 的效果集中在三件事。這篇講我們幫自家官網做的三個最低成本動作,附 Next.js 程式碼。

上一篇講了 AEO 是什麼(當使用者開始問 ChatGPT,你的網站還被看見嗎),這篇講實作。網路上 AEO 指南動輒寫到 20 個 TODO,實際做下來,80% 的效果集中在三件事上。我們在自家官網(Next.js App Router + TypeScript)是這樣做的。

前情:為什麼只做三件事

我們花了一個下午把市面上的 AEO 指南整理過一輪,發現大部分條目屬於兩類:

  • 長期戰:寫 FAQ、累積外部連結、E-E-A-T 訊號——這些都重要,但沒有一週見效的版本
  • 次要戰:Open Graph 調整、OGP 圖片、canonical——SEO 時代該做的事,AEO 沒有放大它們的重要性

真正決定你「能不能被 AI 讀到」的只有三件:能進來、讀得懂、會更新。對應到實作:robots.txt、JSON-LD、IndexNow。

第一件:robots.txt 放行 AI bot

最容易被忽略。很多公司出於「保護內容」把所有非 Google bot 擋掉,結果 ChatGPT、Claude、Perplexity 根本不認識你。

public/robots.txt

User-agent: GPTBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: Claude-Web
Allow: /

User-agent: anthropic-ai
Allow: /

User-agent: Google-Extended
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Perplexity-User
Allow: /

User-agent: Applebot-Extended
Allow: /

User-agent: *
Allow: /
Disallow: /admin/
Disallow: /api/

Sitemap: https://www.heiso.io/sitemap.xml

幾個重點:

  • Google-ExtendedGooglebot 是兩回事——前者是 Google 訓練 Gemini 用的,要另外列
  • Applebot-Extended 是 Apple Intelligence 用的,2024 年才出現,很多舊 robots.txt 沒有

第二件:JSON-LD 結構化數據

這是讓 AI「讀得懂你」的關鍵。純文字網頁對 AI 來說是一團文字,JSON-LD 則是直接告訴它「主詞—動詞—受詞」。

最低成本版本是放 Organization + WebSite 兩個 schema 在根 layout,讓每一頁都有。

src/lib/schema.ts

export function getOrganizationSchema() {
    return {
        '@context': 'https://schema.org',
        '@type': 'Organization',
        name: 'Heiso 黑首數位',
        url: 'https://www.heiso.io',
        description: 'Heiso 黑首數位提供軟體外包、客製化系統開發與 AI Agent 建置服務。',
        sameAs: [
            'https://www.linkedin.com/company/heiso',
            // 其他社群連結
        ],
    };
}

src/components/JsonLd.tsx

export function JsonLd({ data }: { data: object }) {
    return (
        <script
            type="application/ld+json"
            dangerouslySetInnerHTML={{ __html: JSON.stringify(data) }}
        />
    );
}

塞進根 layout:

// src/app/layout.tsx
import { JsonLd } from '@/components/JsonLd';
import { getOrganizationSchema } from '@/lib/schema';

export default function RootLayout({ children }) {
    return (
        <html>
            <body>
                <JsonLd data={getOrganizationSchema()} />
                {children}
            </body>
        </html>
    );
}

這樣做完,用 Rich Results Test 丟你的首頁,應該能驗證到 Organization schema。

進階一點可以每個服務頁塞 Service schema、每個產品頁塞 SoftwareApplication、有 FAQ 的頁面塞 FAQPage——但先把 Organization 做對,已經解決 60% 的「AI 不認識我是誰」問題。

第三件:IndexNow 自動推送

Sitemap 是被動的——爬蟲想來才來。IndexNow 是主動的——你發文了,立刻通知 Bing、Yandex、Naver 來爬。Google 沒有加入 IndexNow,但 ChatGPT 走 Bing 的索引,所以對 AI 搜尋來說 IndexNow 比 Google Search Console 還重要。

設定步驟:

  1. 產一把 key(任意 32–128 字元):例 heiso-indexnow-2026-xyz789
  2. 把 key 放成檔案:public/heiso-indexnow-2026-xyz789.txt,內容就是 key 本身
  3. 寫一個發送函式:
// src/lib/indexnow.ts
const KEY = 'heiso-indexnow-2026-xyz789';
const KEY_LOCATION = `https://www.heiso.io/${KEY}.txt`;

export async function notifyIndexNow(urls: string[]) {
    await fetch('https://api.indexnow.org/indexnow', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({
            host: 'www.heiso.io',
            key: KEY,
            keyLocation: KEY_LOCATION,
            urlList: urls,
        }),
    });
}
  1. 在以下時機呼叫:
    • Blog 新文章發布後
    • 服務頁文案更新後
    • 新增 landing page 後

我們的做法是把 notifyIndexNow 綁在 CMS 的 publish hook 上,發文 = 自動推送。每次省掉手動進 Bing Webmaster 按「要求索引」那顆按鈕。

一個結果:兩週後的差距

我們做完這三件事之後兩週:

  • ChatGPT 問「Heiso 是做什麼的」能答出「軟體外包、客製系統、AI Agent」三條主力服務線(之前答「無法確定」)
  • Perplexity 搜我們公司名能把官網列為來源
  • Bing 索引頁面數從 12 漲到 47

沒有買廣告、沒有做外部連結、沒有寫新內容。只是讓既有內容「AI 讀得懂」。

收尾

AEO 實作的水可以很深,但要踏進第一步只需要這三件事。難的不是技術——robots.txt 加三行、JSON-LD 貼十行、IndexNow 寫個 fetch——難的是決定「要讓 AI 怎麼認識你」。那個答案要花時間想,但想清楚之後,技術實作一天之內做完。

如果你們的 B2B 網站需要我們幫忙做 AEO 健檢,或想直接把這三件事外包掉,歡迎聊聊 → 預約諮詢

AEONext.jsJSON-LDrobots.txtIndexNow
更多文章

延伸閱讀