Điều kiện kỹ thuật GEO cần kiểm tra trước chiến lược trích dẫn
Nếu một thông tin quan trọng chỉ xuất hiện sau khi JavaScript chạy, AI agent có thể không bao giờ nhận được thông tin đó.
Điều này bao gồm khả năng của sản phẩm, kết luận trên trang so sánh, điều kiện giá, câu trả lời trong tài liệu, thông tin tác giả và bằng chứng mà bạn muốn hệ thống AI trích dẫn. Một người nhìn thấy trang đầy đủ trong Chrome không chứng minh crawler, trình trích xuất bài viết hay browser agent đã nhận được cùng nội dung.
Một chuyên gia SEO đã so sánh HTML thô với trang đã render trên nhiều template. Trong bài viết, hướng dẫn, cửa hàng, khóa học, landing page và trang danh mục, phần lớn nội dung hiển thị đã có sẵn trong HTML; chỉ một phần nhỏ xuất hiện sau JavaScript. Bài học không nằm ở tỷ lệ chính xác. Câu hỏi là: phản hồi HTML đầu tiên đã chứa câu trả lời mà bạn muốn agent hiểu chưa?
Trong GEO, đây là kiểm tra điều kiện trước khi trích dẫn. Hệ thống phải lấy được các sự thật cốt lõi của trang trước khi đánh giá bằng chứng hoặc chọn trang làm nguồn.
Các đường truy cập khác nhau có khả năng dùng JavaScript khác nhau. Raw fetch và trích xuất bài viết thường chỉ dựa vào phản hồi HTML.
Google render được không phải là cam kết cho mọi agent
“Google có thể render JavaScript” là đúng. Nhưng biến điều đó thành giả định rằng mọi sản phẩm tìm kiếm AI và mọi agent sẽ thấy trang trình duyệt cuối cùng là rủi ro.
Cùng một URL có thể đến hệ thống qua nhiều đường:
| Đường truy cập | Hệ thống nhận được gì | Phụ thuộc JavaScript |
|---|---|---|
| Raw HTTP fetch | Phản hồi HTML ban đầu | Không thực thi |
| Reader hoặc trình trích xuất bài viết | Văn bản được chọn từ HTML | Thường không thực thi |
| Browser automation | DOM đã render | Có thể thực thi, chịu giới hạn timeout và chính sách |
| Pipeline lập chỉ mục tìm kiếm | Fetch, hàng đợi và khả năng render | Tùy nền tảng |
| Agent dùng tool | Output của web-fetch tool được chọn | Thường gần với raw fetch |
Khả năng rendering của Google không phải bảo đảm có thể áp dụng cho mọi hệ thống. Các answer engine khác, hệ thống retrieval nội bộ, browsing agent và công cụ trích xuất web có thể chỉ lấy HTML hoặc dừng trước khi dữ liệu client chậm tải xong. Xây kiến trúc site dựa trên khả năng của một nền tảng là một canh bạc không cần thiết.
Quy tắc an toàn rất đơn giản: các sự thật công khai quan trọng cho discovery và citation phải đọc được ngay ở phản hồi đầu tiên.
Hãy audit nơi sự thật xuất hiện, không phải framework
SSR so với CSR không phải thẻ điểm GEO. Một site React, Vue hoặc Next.js có thể thân thiện với agent; một site render phía server truyền thống cũng có thể giấu sự thật quan trọng sau client API call.
Hãy audit layer mà mỗi block quan trọng trở nên khả dụng.
| Layer nội dung | Ví dụ điển hình | Rủi ro GEO |
|---|---|---|
| HTML ban đầu | Tiêu đề, nội dung, thông số, FAQ, tác giả, ngày | Thấp |
| HTML lấy dữ liệu phía server | Giá hiện tại hoặc khả dụng theo vùng | Thấp đến trung bình |
| Client API request | Lợi ích sản phẩm, bảng so sánh, thân tài liệu | Cao |
| Sau tương tác người dùng | Tab, accordion, filter, kết quả infinite scroll | Cao |
| Chỉ thấy sau login | Dashboard hoặc knowledge base riêng tư | Đừng kỳ vọng trích dẫn công khai |
Một sự thật mà bạn muốn AI nhắc lại trong câu trả lời công khai không nên phụ thuộc vào click, client request thành công hoặc tác vụ JavaScript dài. Giữ lại tương tác khi nó có giá trị, nhưng đưa layer giải thích lên sớm hơn.
Các lỗi phổ biến gồm trang sản phẩm chỉ trả về loading shell, trang so sánh có bảng chỉ xuất hiện sau hydration, tài liệu tải nội dung qua client routing, danh mục chỉ dựa vào infinite scroll và module trực quan có kết luận chỉ tồn tại trong ảnh hoặc Canvas.
Trang đã render có thể trông rất tốt nhưng vẫn tiết lộ quá ít ý nghĩa trong phản hồi HTML đầu tiên.
So sánh hai trạng thái trang thay vì đoán
Đừng hỏi site có dùng React hay không. Hãy lưu hai phiên bản của cùng một URL:
- HTML thô lấy được khi không chạy JavaScript.
- Văn bản
mainđã render sau khi mở trang trong trình duyệt và chờ nội dung chính.
Bạn có thể bắt đầu bằng fetch đơn giản:
curl -sL "https://example.com/product" -o raw.html
Hãy so sánh các block ngữ nghĩa, không phải header, banner Cookie và footer:
- H1 và câu trả lời ngắn
- Đoạn giải thích đầu tiên
- Sự thật và giới hạn của sản phẩm
- Bảng so sánh
- Câu trả lời FAQ
- Tác giả và ngày cập nhật
- Internal link và canonical URL
Đừng dùng networkidle làm điều kiện duy nhất cho browser sẵn sàng. Script phân tích, chat widget và kết nối dài có thể giữ trang ở trạng thái bận mãi. Tốt hơn là chờ selector nội dung chính xuất hiện hoặc nguồn dữ liệu cụ thể cung cấp sự thật quan trọng hoàn tất.
So sánh này có thể trở thành metric release:
mức độ lộ nội dung cốt lõi = block quan trọng có trong HTML thô / block quan trọng trang cần có
Mục tiêu không phải đưa mọi pixel vào HTML. Mục tiêu là làm cho bằng chứng cần để hiểu trang không phụ thuộc vào client runtime thành công.
Sửa đường phân phối nội dung trước khi viết lại front end
Hầu hết team không cần viết lại toàn bộ site. Hãy chuyển thông tin công khai ổn định vào phản hồi đầu tiên và tiếp tục dùng JavaScript cho filter, tùy chọn đã lưu, bản đồ, animation và personalization.
| Tình huống | Mẫu phân phối phù hợp hơn |
|---|---|
| Bài viết, hướng dẫn và trang glossary ổn định | Static generation hoặc prerender khi build |
| Giá, tồn kho hoặc chi tiết vùng thay đổi thường xuyên | Server rendering với cache và invalidation rõ ràng |
| Trang tương tác nhưng giải thích ổn định | Render giải thích, sự thật và FAQ trên server; hydrate tương tác ở client |
| Tài liệu công khai trong ứng dụng lớn | Prerender public route và không phụ thuộc login cho câu trả lời cốt lõi |
| Phụ thuộc nhiều API nội bộ | Tổng hợp dữ liệu quan trọng trong server hoặc layer BFF được HTML và app dùng chung |
JSON-LD hữu ích nhưng không thay thế nội dung trang có thể đọc được. Structured data nên mô tả các sự thật mà khách truy cập và extractor cũng tìm thấy trong tài liệu.
Kế hoạch hai tuần cho team GEO
Ngày 1-2: liệt kê các template ảnh hưởng đến organic discovery, AI citation, sales enablement hoặc hỗ trợ. Bài viết, trang sản phẩm, tài liệu, trang so sánh và danh mục thường là đủ.
Ngày 3-5: lấy URL mẫu từ từng template. Lưu HTML thô và nội dung đã render. Đánh dấu H1, giải thích, sự thật sản phẩm, FAQ và internal link bị thiếu.
Ngày 6-9: sửa trước các trang giá trị cao và nội dung ổn định. Đưa định nghĩa, sự thật, kết luận so sánh và FAQ sang server hoặc build output.
Ngày 10-14: lặp lại các test và thêm release gate. Không nên publish template nếu HTML ban đầu thiếu H1, câu trả lời chính, sự thật quan trọng hoặc canonical link.
Điều này không đảm bảo mọi sản phẩm AI sẽ trích dẫn bạn. Nhưng nó loại bỏ một lỗi có thể tránh: publish thông tin công khai mà agent tiềm năng không thể đọc một cách đáng tin cậy.
Góc nhìn của Auspia
Các cuộc thảo luận GEO thường bắt đầu từ brand mention, chất lượng nguồn, độ rõ ràng của entity và cấu trúc câu trả lời. Tất cả đều giả định hệ thống đã lấy được trang trước đó.
JavaScript không phải vấn đề tự thân. Vấn đề là coi giải thích công khai là tác dụng phụ của client runtime. Hãy để HTML chịu trách nhiệm về nội dung và JavaScript chịu trách nhiệm về trải nghiệm. Sự phân chia này cũng cải thiện testing, technical SEO và khả năng tiếp cận của agent.
FAQ
Nếu Google render JavaScript, tôi vẫn cần audit HTML thô không?
Có. Khả năng của Google không có nghĩa crawler, reader tool và agent khác đi cùng một đường. Kiểm tra HTML thô cũng cho thấy độ trễ render và lỗi client request.
SSR luôn tốt hơn CSR cho GEO phải không?
Không. Static generation, server rendering và prerender đều có thể hoạt động. Bạn có thể giữ client rendering cho các phần tương tác cao. Tiêu chí là sự thật cốt lõi của trang công khai có đọc được trong phản hồi HTML ban đầu hay không.
Có cần tránh JavaScript trên toàn bộ trang không?
Không. Hãy dùng nó cho filter, animation, bản đồ, tùy chọn đã lưu, personalization và trải nghiệm sau login. Ưu tiên nội dung giải thích chủ đề trang và cung cấp sự thật có thể trích dẫn.
llms.txt có giải quyết nội dung chỉ xuất hiện sau JavaScript không?
Không. Dù một hệ thống đọc llms.txt, nó cũng không tự động có toàn bộ bài viết hoặc dữ liệu client API. Chính trang công khai vẫn phải làm nội dung cốt lõi của mình có thể truy cập.
Ghi chú nguồn
Bài viết này được gợi ý từ bài đăng của Adrian Skowron so sánh nội dung hiển thị trong SSR và CSR . Biểu đồ trong bài đăng phản ánh phép đo template của chính tác giả, không phải benchmark cho toàn ngành.
Tác giả: Julian Mercer, chuyên gia technical SEO với 14 năm kinh nghiệm tại Auspia. Julian viết về crawling, rendering, structured data và nền tảng kỹ thuật giúp search và AI hiểu nội dung.