Schema & Structured Data

EntryPoint Schema

Schema xác định điểm vào (endpoint) cho API hoặc hành động tương tác, thường dùng trong SearchAction hoặc potentialAction.

5 lượt xem Cập nhật: 01/06/2026

EntryPoint Schema là gì?

EntryPoint Schema là một loại markup cấu trúc (structured data) thuộc chuẩn schema.org, dùng để mô tả điểm vào (endpoint) — tức địa chỉ URL hoặc giao diện kỹ thuật — nơi người dùng hoặc hệ thống có thể gửi yêu cầu tương tác, như tìm kiếm, đăng nhập, đặt hàng hoặc gọi API. Nó thường xuất hiện trong ngữ cảnh của các hành động có thể thực hiện (potentialAction) hoặc hành động tìm kiếm (SearchAction), đặc biệt khi trang web cung cấp chức năng tương tác trực tiếp qua giao diện người dùng hoặc tích hợp với nền tảng bên ngoài (ví dụ: Google Assistant, Bing, Siri Shortcuts).

EntryPoint không phải là một schema độc lập mà là một phần mở rộng của các loại khác như SearchAction, CommunicateAction, FindAction hoặc Action. Giá trị cốt lõi nằm ở thuộc tính urlTemplate — nơi định nghĩa mẫu URL nhận tham số đầu vào (ví dụ: https://example.com/search?q={search_term}), giúp máy tìm hiểu cách xây dựng yêu cầu hợp lệ.

Tại sao quan trọng trong SEO?

EntryPoint Schema không trực tiếp cải thiện thứ hạng trên Google, nhưng hỗ trợ mạnh cho khả năng hiển thị trong các tính năng tìm kiếm nâng cao và trải nghiệm người dùng đa nền tảng:

  • Tăng khả năng xuất hiện trong Rich Results: Khi kết hợp với SearchAction, nó giúp Google hiểu cách kích hoạt thanh tìm kiếm trang web từ kết quả tìm kiếm — dẫn đến nút "Tìm trên trang" (Site Search Box) xuất hiện dưới tiêu đề trang trong SERP.
  • Hỗ trợ tích hợp với trợ lý ảo: Các nền tảng như Google Assistant, Siri hay Alexa sử dụng EntryPoint để kết nối hành động người dùng (ví dụ: "Tìm sản phẩm trên Aeon.vn") với endpoint đúng, từ đó thực thi lệnh mà không cần mở trình duyệt.
  • Cải thiện tính khả dụng cho bot và hệ thống tự động: Các công cụ crawl, crawler hoặc nền tảng phân tích hành vi có thể đọc được cách thức tương tác chính xác, giảm sai sót khi tự động hóa quy trình.
  • Thể hiện tính chuyên nghiệp và tuân thủ chuẩn dữ liệu có cấu trúc: Đây là tín hiệu gián tiếp về chất lượng kỹ thuật của website — yếu tố Google đánh giá trong tổng quan trải nghiệm người dùng (UX signals).

Cách hoạt động

EntryPoint Schema hoạt động bằng cách khai báo rõ ràng ba thành phần chính:

  1. Địa chỉ endpoint: Qua thuộc tính urlTemplate, định dạng URL có thể chứa biến (ví dụ: {query}, {id}) để thay thế động.
  2. Phương thức HTTP: Dùng thuộc tính httpMethod (giá trị phổ biến: GET, POST). Nếu không khai báo, mặc định là GET.
  3. Yêu cầu dữ liệu đầu vào: Mô tả qua potentialAction hoặc target (thuộc tính thay thế của urlTemplate trong một số phiên bản), kèm theo query-input để chỉ rõ tham số nào bắt buộc/phù hợp.

Khi Googlebot hoặc hệ thống khác đọc markup này, nó biết cách tạo yêu cầu hợp lệ tới endpoint — ví dụ: chuyển câu hỏi "giá iPhone 15 tại FPT Shop" thành URL https://fptshop.com.vn/tim-kiem?q=iPhone+15 và gửi yêu cầu tìm kiếm.

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

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

  1. Xác định hành động cần hỗ trợ: Ví dụ: tìm kiếm sản phẩm, đăng ký nhận tin, gửi phản hồi.
  2. Xác định endpoint thực tế: URL xử lý hành động (ví dụ: /api/search hoặc /tim-kiem).
  3. Xây dựng urlTemplate: Đảm bảo có dấu ngoặc nhọn cho biến, ví dụ: https://site.com/tim-kiem?q={search_term}. Không dùng dấu cách hoặc ký tự đặc biệt không được mã hóa.
  4. Chọn schema cha phù hợp: Thường là WebSite (cho tìm kiếm toàn trang) hoặc Organization (nếu muốn gắn với doanh nghiệp).
  5. Thêm markup JSON-LD vào thẻ <head> hoặc cuối <body>, kiểm tra bằng Google Search Console hoặc Rich Results Test.

Lỗi thường gặp

Lỗi Nguyên nhân Cách khắc phục
urlTemplate không hợp lệ Thiếu dấu ngoặc nhọn, dùng biến không tồn tại, hoặc URL không dẫn tới endpoint thực sự Kiểm tra lại cú pháp: {search_term} (không viết search_term hay [search_term]). Đảm bảo endpoint trả về HTTP 200 và xử lý biến đúng.
Thiếu query-input Google yêu cầu mô tả rõ ràng tham số đầu vào khi dùng SearchAction Thêm thuộc tính "query-input": "required name=search_term" hoặc "required name=query" tùy tên biến.
EntryPoint bị lồng sai Đặt EntryPoint trực tiếp trong WebSite thay vì trong potentialAction hoặc potentialAction.target Theo chuẩn schema.org, EntryPoint phải là giá trị của thuộc tính target trong potentialAction, không phải con trực tiếp của WebSite.

Ví dụ thực tế

Dưới đây là markup JSON-LD hoàn chỉnh cho thanh tìm kiếm trang web:

{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "url": "https://bachkhoaseo.vn/",
  "potentialAction": {
    "@type": "SearchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://bachkhoaseo.vn/tim-kiem?q={search_term}",
      "httpMethod": "GET"
    },
    ""query-input": "required name=search_term"
  }
}

Sau khi triển khai, nếu Google công nhận, bạn sẽ thấy nút "Tìm trên bachkhoaseo.vn" xuất hiện dưới tiêu đề trang trong kết quả tìm kiếm — giúp người dùng tìm nội dung sâu hơn mà không cần vào trang chủ trước.

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

EntryPoint Schema có ảnh hưởng trực tiếp đến thứ hạng Google không?

Không. Google khẳng định rõ rằng structured data — bao gồm EntryPoint — không là yếu tố xếp hạng. Tuy nhiên, nó ảnh hưởng gián tiếp qua tăng CTR, giảm tỷ lệ thoát và hỗ trợ trải nghiệm tìm kiếm nâng cao.

Có bắt buộc phải dùng JSON-LD không?

Có. Google chỉ hỗ trợ JSON-LD cho tất cả loại structured data liên quan đến hành động (Action, SearchAction, EntryPoint). Microdata và RDFa không được khuyến nghị và có thể không hoạt động đúng với tính năng Site Search Box.

Một trang có thể có nhiều EntryPoint không?

Có thể. Một trang có thể khai báo nhiều potentialAction, mỗi cái chứa một EntryPoint riêng — ví dụ: tìm kiếm, đăng ký, gửi phản hồi. Tuy nhiên, chỉ nên khai báo những endpoint thực sự hoạt động và liên quan mật thiết đến mục đích trang.