Schema & Structured Data

PostalAddress Schema

Schema mô tả địa chỉ bưu chính đầy đủ: streetAddress, addressLocality, addressRegion, postalCode, addressCountry.

3 lượt xem Cập nhật: 26/05/2026

PostalAddress Schema là gì?

PostalAddress Schema là một loại dữ liệu có cấu trúc (structured data) thuộc chuẩn Schema.org, dùng để mô tả đầy đủ và chính xác một địa chỉ bưu chính. Nó giúp máy tìm kiếm hiểu rõ từng thành phần của địa chỉ: số nhà và tên đường (streetAddress), quận/huyện/thành phố trực thuộc (addressLocality), tỉnh/thành phố trực thuộc trung ương (addressRegion), mã bưu chính (postalCode) và quốc gia (addressCountry). Đây không phải là thẻ HTML hay mã JavaScript riêng biệt, mà là một tập hợp các thuộc tính được định nghĩa theo chuẩn JSON-LD, Microdata hoặc RDFa — trong đó JSON-LD là cách được Google khuyến nghị mạnh mẽ nhất.

Tại sao quan trọng trong SEO?

PostalAddress Schema giúp Google và các công cụ tìm kiếm khác nhận diện, phân tích và hiển thị thông tin địa chỉ một cách rõ ràng — đặc biệt với doanh nghiệp địa phương như tiệm sửa xe, phòng khám, nhà hàng, cửa hàng vật liệu xây dựng hay trung tâm đào tạo. Khi được triển khai đúng, schema này hỗ trợ:

  • Tăng khả năng xuất hiện trong Kết quả tìm kiếm địa phương (Local Pack, Local Carousel)
  • Cải thiện độ tin cậy của trang web nhờ dữ liệu được xác minh rõ ràng
  • Hỗ trợ Rich Result cho các loại trang như LocalBusiness, Organization, Person hoặc Event — nếu địa chỉ là một phần bắt buộc
  • Giảm nhầm lẫn khi nhiều doanh nghiệp cùng tên nhưng ở khu vực khác nhau

Lưu ý: Schema không trực tiếp nâng thứ hạng từ khóa, nhưng là yếu tố hỗ trợ gián tiếp qua việc tăng độ liên quan và khả năng hiển thị trong ngữ cảnh tìm kiếm có tính địa lý cao.

Cách hoạt động

PostalAddress Schema hoạt động bằng cách gắn nhãn có nghĩa (semantic markup) lên dữ liệu địa chỉ trên trang web. Thay vì chỉ hiển thị “123 Nguyễn Văn Cừ, Quận 5, TP.HCM 700000”, trình thu thập dữ liệu của Google sẽ đọc được:

{"@type": "PostalAddress", "streetAddress": "123 Nguyễn Văn Cừ", "addressLocality": "Quận 5", "addressRegion": "TP.HCM", "postalCode": "700000", "addressCountry": "VN"}

Google sau đó so sánh thông tin này với cơ sở dữ liệu địa lý nội bộ, xác thực tính nhất quán giữa địa chỉ trên trang và thông tin trong Google Business Profile (nếu có), từ đó quyết định hiển thị kết quả phù hợp với người dùng ở khu vực cụ thể.

Hướng dẫn thực hiện

Dưới đây là các bước triển khai PostalAddress Schema chuẩn xác:

  1. Xác định vị trí cần đánh dấu: Thường là trang giới thiệu doanh nghiệp, trang liên hệ, chân trang (footer) hoặc trang Google Business Profile được nhúng.
  2. Chọn định dạng: Ưu tiên JSON-LD (đặt trong thẻ <script type=\"application/ld+json\"> trong phần <head> hoặc trước thẻ </body>).
  3. Điền đầy đủ thuộc tính bắt buộc: addressCountry và ít nhất một trong các thuộc tính còn lại. Tuy nhiên, để đạt hiệu quả tối đa, nên điền đủ cả năm thuộc tính.
  4. Sử dụng mã quốc gia chuẩn ISO 3166-1 alpha-2: Ví dụ \"VN\" cho Việt Nam, \"US\" cho Hoa Kỳ — không dùng “Việt Nam”, “Vietnam” hay “VN.”.
  5. Kiểm tra bằng công cụ chính thức: Dùng URL Inspection Tool hoặc Structured Data Testing Tool (đã ngừng cập nhật nhưng vẫn chạy ổn) để xác minh.

Lỗi thường gặp

Dưới đây là những sai sót phổ biến và cách khắc phục:

Lỗi Hệ quả Cách sửa
Dùng tên quốc gia thay vì mã ISO (ví dụ: \"Việt Nam\" thay vì \"VN\") Google bỏ qua toàn bộ schema hoặc báo lỗi “Invalid country code” Thay bằng mã 2 ký tự chuẩn ISO 3166-1 alpha-2
Thiếu thuộc tính addressCountry Schema bị coi là không hợp lệ, không kích hoạt Rich Result Bắt buộc thêm \"addressCountry\": \"VN\"
Gộp nhiều thành phần vào streetAddress (ví dụ: \"123 Nguyễn Văn Cừ, Quận 5, TP.HCM\") Giảm độ chính xác khi phân tích địa lý, ảnh hưởng đến xếp hạng địa phương Tách riêng từng thành phần theo đúng thuộc tính tương ứng
Dùng dấu chấm phẩy hoặc dấu gạch ngang thay vì dấu phẩy làm phân tách trong postalCode Mã bưu chính không được nhận diện (ví dụ: \"70-000\" hoặc \"70.000\") Dùng dạng thuần số hoặc chuỗi đúng chuẩn quốc gia (ở Việt Nam: \"700000\" hoặc \"100000\")

Ví dụ thực tế

Dưới đây là đoạn JSON-LD PostalAddress Schema áp dụng cho một phòng khám tư nhân tại Hà Nội:

{ "@context": "https://schema.org", "@type": "PostalAddress", "streetAddress": "45A Bà Triệu", "addressLocality": "Hoàn Kiếm", "addressRegion": "Hà Nội", "postalCode": "100000", "addressCountry": "VN" }

Nếu tích hợp trong ngữ cảnh doanh nghiệp, schema này thường nằm bên trong khối LocalBusiness:

{ "@context": "https://schema.org", "@type": "LocalBusiness", "name": "Phòng Khám Đa Khoa An Bình", "address": { "@type": "PostalAddress", "streetAddress": "45A Bà Triệu", "addressLocality": "Hoàn Kiếm", "addressRegion": "Hà Nội", "postalCode": "100000", "addressCountry": "VN" }, "telephone": "+842439261234" }

Câu hỏi thường gặp

PostalAddress Schema có bắt buộc phải dùng trên mọi trang không?

Không. Chỉ cần triển khai trên các trang chứa thông tin địa chỉ chính thức của doanh nghiệp — như trang Liên hệ, Giới thiệu, hoặc trang chủ nếu có địa chỉ nổi bật. Việc lặp lại trên nhiều trang không gây hại, nhưng không cần thiết nếu không mang giá trị bổ sung.

Mã bưu chính Việt Nam có bắt buộc 6 chữ số không?

Theo quy định của Bộ Thông tin và Truyền thông, mã bưu chính Việt Nam gồm 5–6 chữ số. Trong schema, bạn nên dùng đúng mã do Bưu điện Việt Nam cấp cho địa chỉ cụ thể. Nếu chưa biết, tra cứu tại vnpost.vn. Trường postalCode là tùy trường hợp — có thể để trống nếu không có, nhưng nên điền để tăng độ hoàn chỉnh.

Có thể dùng PostalAddress Schema cho địa chỉ nước ngoài không?

Có thể. Schema hỗ trợ toàn cầu. Chỉ cần đảm bảo: (1) mã quốc gia đúng chuẩn ISO 3166-1 alpha-2, (2) tên vùng địa lý viết đúng chuẩn ngôn ngữ bản địa và phù hợp với cách Google hiểu (ví dụ: “California” chứ không phải “CA” cho bang ở Mỹ), và (3) mã bưu chính tuân thủ định dạng quốc gia tương ứng — ví dụ “10001” cho New York, “SW1A 1AA” cho London.