Hướng dẫn JavaScript SEO: cách Google thu thập, kết xuất và lập chỉ mục các trang JS, so sánh CSR, SSR và kết xuất tĩnh, vì sao các trình thu thập AI thường bỏ sót nội dung JS, và cách kiểm tra và sửa lỗi.

Trên trang này
Tóm lại
JavaScript SEO đảm bảo rằng nội dung và liên kết do JavaScript tạo ra có thể được thu thập, kết xuất và lập chỉ mục. Google có thể kết xuất JavaScript, nhưng ở một bước riêng có thể bị trì hoãn và sẽ thất bại khi các tập lệnh bị chặn hoặc cần một cú nhấp chuột. Nhiều trình thu thập AI hoàn toàn không thực thi JavaScript. Cách thiết lập an toàn nhất là kết xuất phía máy chủ hoặc tạo tĩnh, dùng liên kết “a href” thật, và đưa nội dung quan trọng có sẵn trong HTML ban đầu.
Muốn tìm hiểu sâu hơn? Hãy hỏi
Bài trắc nghiệm nhanh
Ai nên sửa phần kỹ thuật của website?
Lời khuyên dành cho bạn
Tự kiểm tra bằng các công cụ miễn phí của Google
Search Console liệt kê các trang Google không đọc được, còn PageSpeed Insights kiểm tra tốc độ. Nhiều lỗi nhỏ có thể sửa ngay trong phần cài đặt của trình tạo website.
Lời khuyên dành cho bạn
Một lập trình viên web
Vấn đề nằm ở mã nguồn hoặc máy chủ: lập trình viên hiểu SEO là người phù hợp. Hãy đưa cho họ danh sách lỗi từ Search Console.
Lời khuyên dành cho bạn
Công cụ kiểm tra kỹ thuật
Website của bạn có nhiều trang: một công cụ thu thập dữ liệu sẽ đọc tất cả giống Google và đưa danh sách đầy đủ các lỗi cần sửa, từng trang một.
Lời khuyên dành cho bạn
Kiểm tra tự động, rồi đến nội dung
Website hoạt động bình thường nhưng ít khách truy cập: lỗi kỹ thuật hiếm khi là nguyên nhân. Sorank kiểm tra website, rồi viết các trang đưa lượng truy cập về.
Các framework hiện đại như React, Vue, Angular hay Svelte xây dựng trang trong trình duyệt. Điều đó rất tốt cho tính tương tác và rủi ro cho khả năng hiển thị. JavaScript SEO là tập hợp các thực hành giúp một website JS vẫn đọc được đối với công cụ tìm kiếm và các AI. Hướng dẫn này giải thích cách Google xử lý JavaScript, các lựa chọn kết xuất, những lỗi thường gặp và cách kiểm tra trang của bạn.
Qua ba giai đoạn: thu thập, kết xuất, lập chỉ mục. Google Search Central mô tả quy trình này như sau:
Hệ quả: bất cứ thứ gì thiếu trong HTML thô đều phụ thuộc vào việc bước kết xuất thành công. Nếu một tập lệnh lỗi, quá thời gian hoặc bị robots.txt chặn, Google sẽ lập chỉ mục những gì đã thấy trước đó, và đó có thể chỉ là một khung rỗng.
Khác biệt nằm ở nơi HTML được tạo ra: trong trình duyệt, trên máy chủ cho mỗi yêu cầu, hay một lần duy nhất khi build.
| Chế độ kết xuất | Cách hoạt động | Tác động đến SEO |
|---|---|---|
| Kết xuất phía client (CSR) | Máy chủ gửi HTML tối thiểu; JavaScript dựng trang trong trình duyệt | Rủi ro cao nhất: nội dung phụ thuộc vào kết xuất, thường vô hình với trình thu thập AI |
| Kết xuất phía máy chủ (SSR) | Máy chủ tạo HTML đầy đủ cho mỗi yêu cầu, rồi JavaScript hydrat hóa (hydration) nó | An toàn: nội dung và liên kết nằm trong HTML đầu tiên |
| Tạo tĩnh (SSG) | HTML được tạo khi build và phục vụ dưới dạng tệp | An toàn nhất và nhanh nhất cho các trang nội dung |
| Lai (SSR hoặc SSG kèm các phần tương tác) | HTML tĩnh hoặc từ máy chủ, JavaScript chỉ cho các phần tương tác | Cân bằng tốt cho hầu hết website |
| Kết xuất động | Bot nhận phiên bản đã kết xuất sẵn, người dùng nhận ứng dụng JS | Giải pháp tạm mà Google không còn khuyến nghị |
Các framework như Next.js, Nuxt, SvelteKit hay Astro đặt SSR và tạo tĩnh làm mặc định cho các trang nội dung. Với blog, tài liệu hay trang sản phẩm, hiếm khi có lý do để chỉ kết xuất nội dung trong trình duyệt.
Phần lớn vấn đề đến từ nội dung hoặc liên kết chỉ tồn tại sau một thao tác tương tác.
Vì phần lớn trình thu thập AI chỉ đọc HTML thô. Các phân tích nhật ký trình thu thập, như nghiên cứu năm 2024 của Vercel về lưu lượng trình thu thập AI, cho thấy các bot của OpenAI và Anthropic tải các tệp JavaScript nhưng không thực thi chúng. Một trang mà văn bản chỉ xuất hiện sau khi JavaScript chạy có thể trông trống rỗng đối với các hệ thống nuôi dữ liệu cho ChatGPT, Claude hay Perplexity, dù Google lập chỉ mục nó đúng cách.
Nếu việc được các AI trích dẫn là quan trọng với bạn, hãy đưa câu trả lời chính, các tiêu đề, bảng và liên kết vào HTML phía máy chủ, rồi kiểm tra xem robots.txt có cho phép các trình thu thập AI bạn muốn vào không. Hướng dẫn của chúng tôi về robots.txt cho trình thu thập AI liệt kê các bot chính, còn kiểm tra khả năng thu thập cho AI cho thấy chúng đọc được gì trên trang của bạn.
So sánh HTML thô với những gì Google kết xuất.
Sáu quy tắc bao quát hầu hết các trường hợp:
JavaScript và SEO hoạt động cùng nhau khi nội dung không phụ thuộc vào JavaScript để tồn tại. Hãy kết xuất các trang nội dung trên máy chủ hoặc khi build, giữ liên kết là liên kết thật, và kiểm tra những gì Google và các AI thực sự thấy. Sorank xuất bản bài viết dưới dạng HTML sạch trực tiếp trong CMS của bạn, kèm liên kết nội bộ và dữ liệu có cấu trúc, tự động: xem các gói và bản dùng thử miễn phí 3 ngày.

Có. Google kết xuất trang bằng một phiên bản Chromium gần đây, nên nó có thể thấy nội dung do JavaScript thêm vào. Việc kết xuất diễn ra sau khi thu thập, đôi khi có độ trễ, và sẽ thất bại nếu tập lệnh bị chặn, quá chậm hoặc phụ thuộc vào thao tác của người dùng. Nội dung có sẵn trong HTML ban đầu luôn là lựa chọn an toàn nhất.
Không tự động, nhưng nó làm tăng rủi ro. Với kết xuất phía client, HTML đầu tiên gần như trống, nên các công cụ tìm kiếm phải chạy JavaScript mới thấy nội dung, còn nhiều trình thu thập AI thì không làm vậy. Kết xuất phía máy chủ hoặc tạo tĩnh cung cấp nội dung trực tiếp và tránh được các vấn đề này.
Hầu hết là không, tính đến hiện nay. Các phân tích nhật ký trình thu thập, như nghiên cứu Vercel công bố năm 2024, cho thấy trình thu thập của OpenAI và Anthropic tải các tệp JavaScript mà không thực thi chúng. Nội dung chỉ xuất hiện sau khi JavaScript chạy vì thế thường vô hình với ChatGPT, Claude và các trợ lý tương tự.
HỌ ĐÃ THỬ SORANK TRƯỚC BẠN
