// 免費工具 · FAQ SCHEMA 產生器

FAQ schema 產生器

問題和答案只寫一次,就同時拿到 FAQPage 的 JSON-LD,以及和它逐字一致的可見 HTML 區塊。免費、在你的瀏覽器裡跑完、複製就能貼。

免費即時免註冊在瀏覽器裡執行

其他語言:English繁體中文日本語한국어EspañolFrançaisDeutschPortuguês (Brasil)

FAQPage · 產生器
問題與答案

只吃純文字。答案裡的換行會保留。內容不會送到任何地方——產生器就是這個頁面上的一小段程式。

錯誤與警告
    JSON-LD — 貼進頁面
    
                
    可見 HTML — 貼在 FAQ 要出現的位置
    
              

    FAQ 結構化資料怎麼產生

    每一組問答只寫一次;產生器從同一份清單產出兩種輸出,所以標記和頁面上看到的 FAQ 不可能說出不一樣的話。

    1. 把問題和答案填進去。 一組一列。問題用別人在搜尋框裡真的會打的說法寫,答案的第一句要能單獨成立、把問題答完。
    2. 看一下警告。 空白列會被略過,只有問題或只有答案的列算錯誤,重複的問題和過長的答案會被標出來。
    3. 貼上 JSON-LD。 把 script 區塊複製進頁面——放 head 或 body 都可以——一頁只放一個 FAQPage。
    4. 貼上可見 HTML。 把 details/summary 區塊複製到讀者會看到 FAQ 的位置。它帶的就是 JSON-LD 宣告的同一段文字。之後改了其中一邊,兩邊都要重新產生。

    為什麼標記必須和看得到的文字逐字一致

    FAQ 結構化資料是 FAQPage 型別的 JSON-LD 區塊,它列出頁面上實際顯示的問題與答案,讓搜尋引擎和 AI 回答引擎可以直接把它們當成資料讀取,而不必從版面去猜。關鍵在「實際顯示」四個字。Google 的結構化資料規範要求:被標記的內容必須讓讀者看得到,而且要和標記所宣告的一致。JSON-LD 列了訪客根本看不到的問題,或宣告了跟畫面上不一樣的答案,就是違反這條規範,可能因為人工處理而失去結構化資料的資格。

    多數產生器做到 JSON-LD 就停了,可見的那一半留給你自己處理。落差就是從這裡開始的:內容在後台被改了,script 區塊沒人動,半年後標記描述的是一個已經不存在的頁面。這個產生器把可見 HTML 和 JSON-LD 從同一份清單、同一次動作裡寫出來——<summary> 裡的字就是 name<p> 裡的字就是 acceptedAnswer.text,一個字元都不差。改了一邊就把兩邊都重新產生,它們就沒有機會互相矛盾。

    這條規則不只是為了合規。AI 回答引擎引用的是畫面上看得到的那一句,而循著那段引用點進來的讀者,會預期在頁面上找到同一句話。兩個面只留一個來源,就是讓他真的找得到的方法。

    現在加 FAQ 結構化資料到底有什麼用

    2023 年 8 月起,Google 把搜尋結果裡的 FAQ 複合式搜尋結果限縮到知名且具權威性的政府與醫療網站。其他網站的搜尋結果底下,那個可以展開的問答片段已經不會出現了;到現在還在承諾這件事的工具,講的是 2022 年的情況。那還要不要標記 FAQ?

    • 看得到的那個 FAQ 本身會排名。用大家真的會搜的說法寫問題、用一句話把答案講完,這一段本身就能單獨拿到排名,也會被 AI 引擎引用。標記是這一段的機器可讀副本,不是它會排名的原因。
    • 結構化資料還是有人在讀。就算不顯示複合式搜尋結果,Google 一樣會解析 FAQPage 標記;Bing、各家回答引擎,以及你自己的 agent,也都把它當成乾淨的擷取路徑。
    • 這套寫法在別的地方回本。把問題寫成查詢、把答案寫成能單獨成立的句子,正是一個頁面能被 AI 回答引用的條件——有沒有 JSON-LD 都一樣。

    不該期待的是:光靠標記本身帶來排名提升,或是在商業網站上看到複合式搜尋結果。用它的正當理由只有一個:這一頁有真的 FAQ,而你希望它的兩個面說同一件事。

    怎麼寫才會被引用

    • 不要把英文問題直接翻過來。繁體中文搜的是「運費 多少」「怎麼退貨」,不是「配送費用政策」。意圖從搜尋詞來,標題則寫成「運費怎麼算?」這種自然的一句問句——搜的是詞,被引用的是句子。
    • 用台灣的說法。是「外掛」不是「插件」、是「網路」不是「網絡」、是「資料」不是「數據」。同一頁裡混著兩岸用詞,讀者第一眼就知道這頁是別的地方翻過來的。
    • 第一句就把答案講完。擷取的一方只會拿走開頭那一句,其餘算補充。
    • 每一句都要能單獨成立。少用「這個」「如上所述」這種脫離上下文就看不懂的寫法——被引用的句子沒有鄰居。
    • 一組問答只講一件事。需要三個答案的問題,其實是三個問題。
    • 用事實,不要用形容詞。有出處的數字會被引用,「業界第一」不會。
    • 只放真的有人問的問題。FAQ 不是把行銷話術藏在問號後面的地方。

    程式碼要放哪裡

    JSON-LD 放在頁面裡的任何位置都可以,只要包在 <script type="application/ld+json"> 裡——head 或 body,Google 兩邊都讀。一頁只放一個 FAQPage 區塊,也不要把同一組問題重複放到很多頁:標記描述的是它所在的那一頁。可見的區塊放在你希望讀者看 FAQ 的位置;<details>/<summary> 不需要任何 JavaScript 就能展開收合,對爬蟲來說也一直留在 HTML 裡。用 WordPress 的話,把 JSON-LD 貼進「自訂 HTML」區塊、可見區塊貼進內文,不裝外掛也能讓兩邊出自同一份稿。

    貼完之後,用 Google 的複合式搜尋結果測試工具或 schema.org 驗證器檢查一次:它會告訴你這個區塊有沒有被辨識成 FAQPage、讀到了哪些問題。就算沒有出現複合式搜尋結果的預覽,也不代表標記寫錯了——2023 年之後,那個預覽只提供給仍然符合顯示資格的網站。上線後可以在 Search Console 的「複合式搜尋結果」報表裡,持續看到被偵測到的 FAQPage 數量和錯誤。

    另外,FAQPage 是給網站自己提問、自己回答的問題用的。訪客貼問題、其他人回答的頁面——論壇討論串、支援社群——要用 QAPage,那是另一個型別。JSON-LD 也只描述這一頁上的東西:語言版本要另外宣告,交給 hreflang 標籤產生器;給 agent 讀的索引則用 llms.txt 檢查工具 驗。兩個都照這一頁同樣的規則做:一份來源、兩份輸出、不會走樣。

    // 常見問題

    什麼是 FAQ 結構化資料?

    FAQ 結構化資料是 FAQPage 型別的 JSON-LD 區塊,它列出頁面上實際顯示的問題與答案,讓搜尋引擎和 AI 回答引擎可以直接把它們當成資料讀取,而不必從版面去猜。每一筆都是一個 Question,它的 acceptedAnswer 文字必須和頁面上看得到的答案一致。

    Google 現在還會顯示 FAQ 的複合式搜尋結果嗎?

    只剩知名且具權威性的政府與醫療網站還會。Google 在 2023 年 8 月做了這項調整,所以絕大多數網站的搜尋結果底下,那個可以展開的 FAQ 片段已經不會出現。標記本身還是會被解析,對回答引擎仍然有用,但它不是排名因素,也不會讓商業頁面長出複合式搜尋結果。

    加了 FAQ 結構化資料,排名會變好嗎?

    不會。Google 沒有把結構化資料當成排名因素。真正在幫排名的是看得到的那個 FAQ:用大家會搜的說法寫的問題,加上第一句就講完的答案。標記只是讓這段內容被機器讀懂,不是拿來換名次的。

    標記一定要和頁面上看得到的文字一樣嗎?

    一定要。Google 的結構化資料規範要求被標記的內容必須顯示在頁面上,而且要與頁面一致。列出讀者看不到的問題或答案,就是違反規範,可能讓這一頁失去結構化資料的資格。這個產生器把 HTML 和 JSON-LD 從同一份清單寫出來,所以兩邊逐字一致。

    WordPress 一定要裝外掛才能加 FAQ 結構化資料嗎?

    不用。JSON-LD 就是一段文字,貼進「自訂 HTML」區塊、佈景主題或 head 都能生效。外掛也能產生,但多數外掛是從它自己的欄位只輸出 JSON-LD,結果可見文字和標記分散在兩個地方,久了就對不起來;在這裡兩邊出自同一份清單。

    怎麼確認標記有沒有正確被讀到?

    把網址或程式碼貼進 Google 的複合式搜尋結果測試工具或 schema.org 驗證器,它會告訴你這個區塊有沒有被辨識成 FAQPage、讀到哪些問題。上線後再看 Search Console 的「複合式搜尋結果」報表,可以持續追蹤偵測到的數量與錯誤。沒有預覽畫面不代表標記有問題。

    FAQPage 和 QAPage 差在哪?

    FAQPage 是網站自己提問、自己回答的問題。訪客貼問題、其他人回答的頁面——論壇討論串或支援社群——要用 QAPage 這個型別。兩者搞混會讓標記描述的內容和頁面實際的互動方式對不上。

    clize seo check — 檢查自己的網域免費

    標記貼好了?那就量頁面,不要量承諾。

    檢查自己的網站不用錢:Search Console 的排名與曝光跟上一個週期對照、你的頁面現在的 HTTP 與索引狀態、流量來源(AI 引擎單獨列出)。在你的 agent 裡一行指令就跑完。

    $ npm i -g @clize/clize && clize install
    $ clize seo check --domain yourdomain.tw
    [ Clize 的 Agent SEO → ]