Structured DataSchemaSEO IssuesGEO

Schema Markup Errors That Hurt SEO and AI Rankings

How invalid JSON-LD and conflicting schema hurt SEO and GEO: lost rich results, the wrong entity, and AI answers that cite a fact the page never showed.

A page can be indexed, fast, and unique, and still send machines the wrong facts. Structured data is the JSON-LD block that names the organization, the article, the price, or the FAQ. It is an SEO issue when the markup is invalid and rich results disappear, or when it describes a different entity than the one on the page. It is a GEO issue when ChatGPT, Perplexity, or a Google AI Overview repeats a price, date, or address that the visible copy never stated.

This guide follows common SEO and GEO issues that hurt rankings. Use the indexing and crawl guide when the URL is not in the index, duplicate content and keyword cannibalization when the wrong URL ranks, and the Core Web Vitals guide when field data for speed or stability is poor. Use this one when Search Console reports structured-data errors, or when the markup and the paragraph disagree.

What schema is for

Schema does not act as a ranking boost on its own. Google has said that for years. Valid markup makes a page eligible for a rich result, and it gives search systems a typed version of facts that are also on the page: the name, the canonical URL, the author, the date, the price, the address.

Generative engine optimization has the same constraint. Many AI crawlers read the HTML and do not execute JavaScript. A JSON-LD block in the initial HTML is easy to parse. It helps only when it matches the passage you want quoted. Hidden claims, or a template that still describes another brand, give the retriever two versions of the page. How to rank in AI search covers the passage. This guide covers the markup that must not contradict it.

Errors that show up in audits

ErrorWhat breaksUsual cause
Missing required propertyThe rich result is ineligibleArticle without headline or image; Product without offers
Invalid valueThe item is droppedA date that is not ISO 8601, a rating above 5, an empty name
Markup the visitor cannot seePolicy failure, and a GEO mismatchFAQ, price, or star rating present only in JSON-LD
Two entities in conflictThe wrong name or URL is storedOrganization in the layout plus a different LocalBusiness in the page
Wrong language URLEnglish facts on the Chinese canonicalOne JSON-LD snippet copied onto both locales
Self-serving reviewsStars ignored, or a manual actionReview snippet on your own service page, written by you

“Valid” in a syntax checker is not the same as eligible. The Rich Results Test and Search Console’s enhancements report are the checks that match Google Search. A green JSON parse can still be ineligible because a required field is missing or the type is not a supported rich result.

Google has also retired or narrowed several rich-result types. How-to rich results were removed. FAQ rich results are limited to well-known government and health sites. Marking up every service page as FAQPage or HowTo will not bring those treatments back, and a block that does not match visible questions is still a content mismatch for any system that reads it.

Schema as an SEO ranking problem

Teams treat a ranking drop after a redesign as a keyword problem. Often the new template shipped JSON-LD with the staging URL, a relative image, or an Organization whose url is the apex host while the canonical is www. Search still indexes the page. The enhancement report fills with errors, the breadcrumb or article rich result stops, and the click-through rate falls. That is a technical SEO issue with a measurable traffic effect, not a copy problem.

On Hong Kong sites the pattern is familiar:

  • priceCurrency left as USD on a page that sells in HKD
  • addressCountry omitted, or set to a market the company left
  • openingHours copied from a template that assumes a US timezone, so the published hours do not match the shop in Hong Kong
  • logo pointing at a file the template no longer publishes, which fails the logo requirement
  • Breadcrumb URLs that include a trailing slash while the site’s canonicals do not

Fix the template. Correcting one article’s JSON-LD will not repair a layout that injects the same broken Organization on every URL.

The url and mainEntityOfPage inside the script must be the canonical of that language. A parameterised URL, or the English path on the Traditional Chinese page, fights the canonical tag. That conflict is the same class of problem as the duplicate-content guide: machines are asked to treat two URLs as the page.

Why schema errors are a GEO issue

An AI answer that names the wrong fee, the wrong year, or a discontinued product is often quoting a source that disagreed with itself. If the paragraph says the engagement starts with an audit, and the JSON-LD Offer still lists a 2023 price, a parser can store the price. The citation then looks confident and is wrong.

The same split happens with identity. Local SEO and GEO for Hong Kong covers the Google Business Profile and directories. Schema is the on-site copy of that identity. If name, address, and sameAs differ from the profile and from the footer, entity resolution gets worse, not better. Models cite the competitor whose name, address, and service list agree everywhere.

Author markup has the same job as the byline. author should be a person or organization a reader can see, consistent with the E-E-A-T signals on the page. An author name that exists only in JSON-LD does not make the article more citable.

Do not hide the answer in schema to “help AI” while the HTML stays vague. Put the definition, the steps, and the table in the visible article, as described in content formats AI platforms cite. Then make the JSON-LD a typed copy of those facts.

A practical order of fixes

  1. Read Search Console’s enhancement reports and list the types that are invalid or ineligible. Syntax that never qualified for a rich result is a lower priority than a type you actually depend on, such as Article, Organization, LocalBusiness, Product, or BreadcrumbList.
  2. Make the visible page the source of truth. Delete any claim that appears only in the script: a star rating, a price, an FAQ, a phone number.
  3. Keep one primary entity per page. The layout can state the organization. The article states the article. They must not use two different legal names or two different canonical URLs.
  4. Set url, @id, and inLanguage to the canonical of that locale. English and Traditional Chinese pages need their own blocks. zh-Hant-HK belongs on the Chinese URL, not on both.
  5. Align name, address, telephone, and sameAs with the footer and the Google Business Profile. Use HKD where the page charges in HKD.
  6. Match headline, datePublished, dateModified, and author to the title, the dates, and the byline the visitor sees. Update dateModified when the facts change, not on every deploy.
  7. Remove review and FAQ markup that exists to chase a rich result Google no longer shows for that site. Keep a visible FAQ if it answers real questions. It does not need a type that will be ignored.
  8. Re-test the English URL and the Chinese URL in the Rich Results Test after the deploy. Confirm the fetched HTML, not a local file, contains the corrected script.

Then ask the prompts you care about and see whether the cited facts match the page. A remaining citation gap, once the markup and the paragraph agree, is a content and entity problem. The broader SEO and GEO issues guide is the right next audit.

Questions teams ask

Does schema markup improve AI rankings?

It improves the chance that a machine stores the same facts a person can read. It does not earn a citation by itself. Google AI Overviews still lean on indexed pages, and other products quote passages their crawlers fetched. Invalid or conflicting JSON-LD can make those passages less trustworthy. Valid JSON-LD that repeats a clear answer can make the entity, date, and price easier to extract. The answer still has to be on the page.

Will fixing schema bring rich results back?

It restores eligibility for types Google still supports on that page. It will not restore a how-to rich result, or an FAQ rich result on a site that is outside the sites Google still uses for that treatment. If the enhancement report says a required property is missing, add that property and wait for a recrawl. If the URL is excluded from the index, schema will not put it back. Start with the crawl guide.

Should both languages share one JSON-LD block?

No. Each canonical needs markup whose url and inLanguage match that URL, and whose headline and FAQ text match that language. A shared block that always names the English path teaches search and answer engines that the Chinese page is an alias. Hreflang belongs in the link tags, not as a substitute for a second script.

The Rich Results Test passes, but citations are still wrong. Why?

The test checks eligibility for a rich result. It does not check that the price, date, or address is the one you stand behind, or that a second script later in the page contradicts the first. Compare every JSON-LD block on the URL with the footer, the byline, and the opening paragraph. If those agree and the citation is still wrong, the gap is elsewhere: thin copy, a duplicate URL, or an off-site listing.

What to review this month

Open the enhancement reports and export the error types that affect the most URLs. For the template behind those URLs, write down the Organization name, the canonical url, the price currency, and the author. Ship one layout change so English and Traditional Chinese each emit their own block, matched to visible copy. Re-fetch both URLs and confirm the old staging domain, the old currency, and any self-serving review stars are gone.

Schema is a technical SEO issue with a GEO consequence: search loses the rich result, and answer engines store the fact you no longer mean. Treat the JSON-LD as part of the same audit as the canonical, the byline, and the business profile.

結構化資料SchemaSEO問題GEO

結構化資料錯誤:無效 Schema 標記如何影響 SEO、GEO 與 AI 排名

說明無效 JSON-LD、缺少必填欄位與互相矛盾的 Schema,如何成為拖低 Google 排名的 SEO 問題,並讓 AI 答案引用頁面上從未出現的價格或品牌資料。

頁面可以已被索引、速度正常、內容也不重複,卻仍向機器傳送錯誤的事實。結構化資料是那段為組織、文章、價格或常見問題命名的 JSON-LD。標記無效、複合式搜尋結果消失,或標記描述的實體與頁面上的不同,這就是 SEO問題。ChatGPT、Perplexity 或 Google AI Overview 重複了內文從未寫過的價格、日期或地址,這就是 GEO問題。

本篇接在常見 SEO 與 GEO 問題之後。網址不在索引裡,用索引與爬取問題;排名的是錯誤網址,用重複內容與關鍵字互搶;速度或穩定度的實地數據偏差,用核心網頁指標與頁面體驗。Search Console 回報結構化資料錯誤,或標記與段落互相矛盾,就用本篇。

Schema 標記是做什麼的

Schema 本身不是排名加分。Google 已經這樣說明多年。有效的標記讓頁面有資格顯示複合式搜尋結果,也讓搜尋系統拿到頁面上已有事實的型別版本:名稱、正規網址、作者、日期、價格、地址。

生成式引擎優化的限制相同。不少 AI 爬蟲讀 HTML,不執行 JavaScript。放在最初 HTML 裡的 JSON-LD 很容易被解析。它只有在與你希望被引用的段落一致時才有幫助。隱藏的聲稱,或範本仍在描述另一個品牌,會讓擷取系統看到兩個版本。如何在 AI 搜尋中提升可見度講的是那段文字。本篇講的是不能跟它矛盾的標記。

審計裡常見的錯誤

錯誤會壞掉什麼常見原因
缺少必填屬性沒有資格顯示複合式結果文章沒有 headline 或 image;產品沒有 offers
數值無效該項目被丟棄日期不是 ISO 8601、評分高於 5、name 是空的
訪客看不到的標記違反政策,也是 GEO 落差常見問題、價格或星級只出現在 JSON-LD
兩個實體互相衝突存下錯誤的名稱或網址版面有一段 Organization,頁面又有另一段不同的 LocalBusiness
語言網址錯誤中文正規頁上是英文事實同一段 JSON-LD 被複製到兩種語言
自我服務的評論星級被忽略,或遭到人工處置在自己的服務頁上,用評論摘要標記自己寫的評價

語法檢查器說「有效」,不等於有資格。複合式搜尋結果測試與 Search Console 的加強項目報告,才是對上 Google 搜尋的檢查。JSON 能解析,仍可能因為缺少必填欄位,或該類型已不是支援的複合式結果,而不符合資格。

Google 也已取消或收窄數種複合式結果。操作說明複合式結果已移除。常見問題複合式結果只限知名的政府與健康類網站。把每一頁服務頁都標成 FAQPage 或 HowTo,不會把那些呈現方式帶回來。與頁面上問題不符的標記,對任何會讀它的系統仍是內容落差。

結構化資料如何變成排名問題

改版之後的排名下跌,團隊常常當成關鍵字問題。實際情況往往是新範本帶上了測試環境網址、相對路徑的 image,或 Organization 的 url 指向裸網域、正規網址卻是 www。搜尋仍然索引該頁。加強項目報告堆滿錯誤,麵包屑或文章複合式結果停了,點閱率跟著下降。這是有流量後果的技術 SEO 問題,不是文案問題。

香港網站常見的模式:

  • 頁面以港幣收費,priceCurrency 仍是 USD
  • 沒有 addressCountry,或仍填著公司已離開的市場
  • openingHours 從假設美國時區的範本複製過來,公布的營業時間與香港店舖不符
  • logo 指向範本已不再發布的檔案,通不過標誌要求
  • 麵包屑網址帶有結尾斜線,網站的正規網址卻沒有

修的是範本。改一篇文章的 JSON-LD,修不好每一頁都注入的那段壞掉的 Organization。

指令碼裡的 url 與 mainEntityOfPage 必須是該語言的正規網址。帶參數的網址,或繁體中文頁上的英文路徑,會跟 canonical 打架。這與重複內容指南是同一類問題:機器被要求把兩個網址都當成這一頁。

為什麼 Schema 錯誤也是 GEO 問題

AI 答案寫錯費用、寫錯年份,或提到已停售的產品,常常是在引用一個自相矛盾的來源。段落說合作由審計開始,JSON-LD 的 Offer 仍列著 2023 年的價格,解析器就可能存下那個價格。引用看起來很有把握,內容卻是錯的。

身份也會這樣分裂。香港本地 SEO 與 GEO講的是 Google 商家檔案與目錄。Schema 是這份身份在網站上的副本。若 name、address 與 sameAs 跟商家檔案和頁尾都不一樣,實體對應會更差,而不是更好。模型會改引用名稱、地址與服務清單處處一致的競爭對手。

作者標記的工作與署名相同。author 應是讀者看得到的人或機構,並與頁面上的 E-E-A-T 信號一致。只存在於 JSON-LD 的作者名稱,不會讓文章更容易被引用。

不要把答案藏進 Schema「幫助 AI」,HTML 卻含糊帶過。把定義、步驟與表格放在看得到的文章裡,如AI 平台引用的內容格式所述。然後讓 JSON-LD 成為這些事實的型別副本。

實務上的修正順序

  1. 讀 Search Console 的加強項目報告,列出無效或不符合資格的類型。你真正依賴的類型優先,例如 Article、Organization、LocalBusiness、Product 或 BreadcrumbList。從未有資格出現複合式結果的語法,優先級較低。
  2. 以訪客看得到的頁面為準。刪掉只出現在指令碼裡的聲稱:星級、價格、常見問題、電話。
  3. 每頁保留一個主要實體。版面可以說明組織,文章說明文章。兩者不能使用兩個法律名稱,或兩個正規網址。
  4. 把 url、@id 與 inLanguage 設成該語言版本的正規網址。英文與繁體中文頁需要各自的標記。zh-Hant-HK 屬於中文網址,不是兩邊都寫。
  5. 讓 name、address、telephone 與 sameAs 對上頁尾和 Google 商家檔案。頁面以港幣收費,就使用 HKD。
  6. 讓 headline、datePublished、dateModified 與 author 對上訪客看到的標題、日期與署名。事實改變時才更新 dateModified,不是每次部署都改。
  7. 移除為了追逐 Google 已不再向該網站顯示的複合式結果而加的評論與常見問題標記。若常見問題真的回答了讀者的問題,就留在頁面上。它不需要一個會被忽略的類型。
  8. 部署之後,用複合式搜尋結果測試分別再測英文網址與中文網址。確認抓到的是 HTML,不是本機檔案,而且裡面已是改過的指令碼。

然後用你在意的提示再問一次,看引用的事實是否與頁面一致。標記與段落已經一致,剩下的引用缺口就是內容與實體問題。下一步用常見 SEO 與 GEO 問題。

團隊常問的問題

Schema 標記會提升 AI 排名嗎?

它提高的是機器存下與人讀到相同事實的機會。它本身不會帶來引用。Google AI Overview 仍然倚賴已索引的頁面,其他產品則引用其爬蟲抓到的段落。無效或互相矛盾的 JSON-LD 會讓這些段落較不可信。與清楚答案一致的有效 JSON-LD,可以讓實體、日期與價格更容易被提取。答案仍然必須在頁面上。

修好 Schema 就能找回複合式搜尋結果嗎?

它恢復的是 Google 仍在該頁支援的類型的資格。它不會恢復操作說明複合式結果,也不會讓不在 Google 仍使用範圍內的網站出現常見問題複合式結果。加強項目報告若說缺少必填屬性,補上該屬性並等待重新爬取。網址若被排除在索引之外,Schema 不會把它放回去。請先看爬取指南。

兩種語言可以共用一段 JSON-LD 嗎?

不要。每個正規網址的標記,其 url 與 inLanguage 都要對上該網址,headline 與常見問題文字也要對上該語言。永遠指向英文路徑的共用標記,會讓搜尋與答案引擎把中文頁當成別名。Hreflang 放在連結標籤裡,不能代替第二段指令碼。

複合式搜尋結果測試已通過,引用仍然不對,為什麼?

該測試檢查的是複合式結果的資格。它不檢查價格、日期或地址是不是你現在承認的那一組,也不檢查頁面較後的第二段指令碼是否推翻第一段。把該網址上的每一段 JSON-LD 與頁尾、署名和開首段比較。若那些已經一致而引用仍錯,缺口在別處:內容單薄、重複網址,或站外的商家資料。

這個月要檢查什麼

打開加強項目報告,匯出影響網址最多的錯誤類型。為那些網址背後的範本寫下 Organization 名稱、正規 url、價格貨幣與作者。推出一項版面修改,讓英文與繁體中文各自輸出對上可見內文的標記。重新抓取兩個網址,確認舊的測試網域、舊的貨幣,以及任何自我服務的評論星級都已消失。

結構化資料是帶有 GEO 後果的技術 SEO 問題:搜尋失去複合式結果,答案引擎則存下你已不再採用的事實。把 JSON-LD 放進與 canonical、署名和商家檔案同一輪審計。