Dev.to AI 🤖 Ai 👁 0 📖 5 min read

Khai báo Organization + sameAs bằng JSON-LD để AI không nhầm thương hiệu của bạn

Khi hỏi ChatGPT hay Gemini về một doanh nghiệp nhỏ, câu trả lời hay sai ở những chỗ rất cơ bản: nhầm với một công ty trùng tên, ghi sai lĩnh vực, hoặc lấy số điện thoại cũ từ một trang danh bạ nào đó. Phần lớn lỗi này kh

Khi hỏi ChatGPT hay Gemini về một doanh nghiệp nhỏ, câu trả lời hay sai ở những chỗ rất cơ bản: nhầm với một công ty trùng tên, ghi sai lĩnh vực, hoặc lấy số điện thoại cũ từ một trang danh bạ nào đó. Phần lớn lỗi này không nằm ở nội dung bài viết mà ở chỗ website chưa nói rõ "tôi là ai" bằng dữ liệu có cấu trúc.

Bài này đi thẳng vào phần kỹ thuật: dựng một khối JSON-LD Organization có @id cố định, nối với Person (người sáng lập) và danh sách sameAs trỏ tới các hồ sơ bên ngoài. Không có phép màu nào ở đây, nhưng đây là phần nền mà các công cụ tìm kiếm và AI dùng để ghép các mảnh thông tin về cùng một thực thể.

1. Vì sao cần @id cố định

@id là một URI định danh cho thực thể, không phải trang. Quy ước hay dùng là lấy URL trang chủ cộng một fragment:

https://example.com/#organization
https://example.com/#founder

Khi mọi trang trên site đều trỏ về đúng @id này (trong publisher, author, provider...), bạn đang nói với parser rằng đây là một thực thể duy nhất, chứ không phải 50 tổ chức khác nhau trên 50 trang.

2. Khối JSON-LD tối thiểu

Đặt trên trang chủ (và có thể lặp lại trên trang giới thiệu):

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://example.com/#organization",
      "name": "Công ty ABC",
      "url": "https://example.com/",
      "logo": "https://example.com/logo.png",
      "description": "Dịch vụ SEO website cho doanh nghiệp nhỏ.",
      "founder": { "@id": "https://example.com/#founder" },
      "contactPoint": {
        "@type": "ContactPoint",
        "telephone": "+84-000-000-000",
        "contactType": "customer service",
        "areaServed": "VN"
      },
      "sameAs": [
        "https://www.linkedin.com/company/abc",
        "https://github.com/abc",
        "https://www.youtube.com/@abc"
      ]
    },
    {
      "@type": "Person",
      "@id": "https://example.com/#founder",
      "name": "Nguyễn Văn A",
      "jobTitle": "Founder",
      "worksFor": { "@id": "https://example.com/#organization" },
      "url": "https://example.com/gioi-thieu"
    }
  ]
}
</script>

Vài lưu ý khi điền:

  • name phải khớp từng chữ với tên trên Google Business Profile, hồ sơ mạng xã hội và footer website. Lệch một chữ ("ABC" và "ABC Agency") là đủ để tạo ra hai thực thể.
  • sameAs chỉ ghi hồ sơ do chính bạn quản lý và đang hoạt động. Thêm link chết hoặc hồ sơ bỏ hoang chỉ làm nhiễu.
  • Số điện thoại, địa chỉ trong schema phải giống hệt phần hiển thị trên trang. Schema khai một đằng, HTML ghi một nẻo là lỗi rất hay gặp.

3. Nối các trang khác về cùng thực thể

Trên trang bài viết, đừng khai lại Organization đầy đủ. Chỉ cần tham chiếu:

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Tiêu đề bài",
  "author": { "@id": "https://example.com/#founder" },
  "publisher": { "@id": "https://example.com/#organization" }
}

Trên trang dịch vụ, dùng Service với provider trỏ về @id của tổ chức. Cách này giữ dữ liệu một nguồn, sửa một chỗ là đúng ở mọi nơi.

4. Kiểm tra trước khi deploy

  1. Dán HTML vào Schema Markup Validator để xem graph có parse đúng và các @id có nối với nhau không.
  2. Chạy Rich Results Test của Google cho các loại có rich result (Article, FAQ...).
  3. View source (không phải Inspect) để chắc khối JSON-LD nằm trong HTML ban đầu. Nhiều crawler, kể cả một số bot AI, không chạy JavaScript, nên schema chỉ được chèn sau khi render có thể bị bỏ qua.
  4. Đối chiếu sameAs với danh sách hồ sơ thật, xoá cái nào đã chết.

5. Schema không phải là tất cả

Schema chỉ là lời tự khai. Công cụ tìm kiếm và AI còn kiểm chứng bằng nguồn bên ngoài: hồ sơ doanh nghiệp, bài báo, diễn đàn có nhắc tên bạn với cùng một bộ thông tin. Nếu bên ngoài không có gì khớp, khai schema đẹp đến mấy cũng ít tác dụng.

Mình có ghi lại phần này kỹ hơn, kèm thứ tự ưu tiên khi một website muốn được AI nhắc đúng tên, trong ghi chú SEO AI: những việc nên làm trước. Còn nếu muốn xem cách một đơn vị làm SEO AI gói phần thực thể, nội dung và nguồn bên ngoài vào chung một phạm vi, có thể tham khảo trang dịch vụ của Mạnh Digital. Bài trước của mình về checklist kỹ thuật để website vừa lên Google vừa được AI trích dẫn đi rộng hơn, bài này chỉ tập trung vào schema.

Bạn đang khai sameAs cho bao nhiêu hồ sơ? Có ai từng gặp trường hợp AI nhầm thương hiệu dù schema đã đúng chưa?

📰 Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.