Trình kiểm tra HTML thô và đã kết xuất
Free, no signup. Open the page in a browser and it looks complete; Google sees raw HTML first, then runs JavaScript and looks again — and those two views don't always agree. Test a public URL through the bounded rendering service to find where they diverge, with a side-by-side raw-vs-rendered diff.
Free, no sign-up. The page is rendered in headless Chrome only when the initial HTML looks incomplete — most server-rendered sites never need it.
Các lần kiểm tra chạy từ máy chủ của chúng tôi; chúng tôi tải URL bạn nhập và không lưu kết quả. Reports are kept 7 days so you can share a link to the result. Anonymous aggregate stats feed our research posts; domains are counted once via an anonymized hash and never stored in the clear. Số đếm kết quả ẩn danh theo từng lần chạy có thể được dùng cho nghiên cứu tổng hợp; URL, tên miền, IP và mã định danh không bao giờ được bao gồm, và không công bố số liệu thống kê khi có dưới 100 lần chạy.
+ lưu trang web hoặc trang hiện tại. Dùng ☆ bên cạnh trang web, trang hoặc danh sách đã lưu để thêm vào mục yêu thích. Lịch sử kiểm tra gần đây hiển thị bên dưới.
Tạo danh sách có tên
Đã điền mục tiêu từ các lựa chọn cục bộ của bạn.
Hộ chiếu trang web Ngữ cảnh cục bộ cho trang đã lưu này
Dữ liệu cục bộ
Các mục tiêu đã lưu, danh sách có tên và bản tóm tắt kiểm tra gần đây chỉ được giữ trong trình duyệt này.
What JavaScript changed
Resources Google and AI bots couldn’t get
What non-rendering AI crawlers can see
This is a fast, directional check. For anything that affects indexing, confirm it in Google Search Console's URL Inspection tool — that's Google's own renderer and the real source of truth.
Đánh giá công cụ này
What this is checking
The render gap
Google can process JavaScript in a rendering phase after crawling. Content that appears only after rendering depends on that phase and is absent from the initial response; this comparison does not predict discovery or indexing timing.
The most restrictive rule wins
If a noindex appears in either the raw or rendered HTML, Google may use it — and an initial-HTML noindex may cause Google to skip rendering, so JavaScript cannot reliably undo it.
Canonicals are conditional
JavaScript may add a canonical when the raw HTML has none, or keep the same value. A different or additional value creates competing canonical input.
Checks based on the JavaScript SEO guide on Ahrefs. Confirm findings in Search Console.
Giới thiệu công cụ
So sánh nội dung có trong HTML thô được máy chủ gửi với DOM sau khi JavaScript chạy. Trình kiểm tra cho biết nội dung hoặc thẻ quan trọng nào chỉ xuất hiện sau khi render và nơi Google có thể cần thêm một giai đoạn xử lý.
Kết quả là phép so sánh nhanh để định hướng, không dự đoán thời điểm Google crawl hoặc index một URL.
Tính năng
- Chế độ xem HTML thô và DOM đã render, với phép so sánh từng dòng cho mười trường quan trọng
- Chỉ chạy Headless Chrome khi heuristic có giới hạn đánh giá HTML ban đầu là chưa đầy đủ
- Khoảng 15 kiểm tra JavaScript SEO đã hiệu chỉnh cho noindex, canonical, robots.txt, liên kết, soft 404 và dữ liệu có cấu trúc
- Kết luận theo Problems, Worth fixing, Notes và Passing, kèm bằng chứng cụ thể và báo cáo có thể chia sẻ
Cách hoạt động
Nhập URL công khai đầy đủ và chạy lượt tải có giới hạn. Worker đọc HTML thô và robots.txt trước; chỉ khi trang ban đầu có vẻ chưa đầy đủ mới chạy Headless Chrome. Cả hai phiên bản được phân tích ở trạng thái không hoạt động, các trường được chuẩn hóa và mỗi khác biệt được gắn mức độ nghiêm trọng cùng hướng dẫn sửa.
Giới hạn
- Headless Chrome không phải trình render Evergreen của Google; điều kiện mạng, thời gian và tài nguyên có thể khác.
- Bỏ qua bước render không chứng minh SSR hoặc tính tương đương đầy đủ; điều đó chỉ có nghĩa HTML thô đáp ứng heuristic.
- Trang lớn, tương tác phức tạp và nội dung sau thao tác nhấp bị giới hạn khi phân tích; công cụ không thay thế URL Inspection trong Search Console.
Câu hỏi thường gặp
Khoảng cách kết xuất trong SEO JavaScript là gì?
Khoảng cách kết xuất là sự khác biệt giữa nội dung của trang trong HTML thô do máy chủ phân phối và nội dung sau khi trình duyệt chạy JavaScript để tạo DOM cuối cùng. Google có thể xử lý JavaScript trong một giai đoạn kết xuất sau khi thu thập dữ liệu. Bất cứ nội dung nào chỉ xuất hiện sau khi JavaScript chạy đều phụ thuộc vào việc kết xuất thành công và không có trong phản hồi ban đầu. Công cụ này đo lường sự phụ thuộc đó; nó không dự đoán thời điểm Google sẽ phát hiện hoặc lập chỉ mục nội dung.
Google có thật sự kết xuất JavaScript không?
Có. Google kết xuất trang bằng Chromium luôn được cập nhật, nên nội dung phía máy khách có thể được lập chỉ mục. Kết xuất là một giai đoạn xử lý riêng, và tài nguyên bị chặn hoặc lỗi JavaScript có thể khiến nội dung không xuất hiện trong HTML đã kết xuất. Google Tìm kiếm không tương tác với trang để tải nội dung, vì vậy nội dung cần thao tác mới tải phải có sẵn trong HTML đã kết xuất thì mới khả dụng. Đưa nội dung và thẻ quan trọng vào phản hồi của máy chủ sẽ loại bỏ sự phụ thuộc vào kết xuất.
Tại sao đôi khi công cụ không kết xuất trang của tôi?
Chrome không giao diện chỉ chạy khi một quy tắc kinh nghiệm có giới hạn cho thấy HTML ban đầu có vẻ chưa đầy đủ. Tiêu đề, liên kết và văn bản nội dung đáng kể trong HTML thô có thể khiến công cụ bỏ qua kết xuất, nhưng điều đó không chứng minh nền tảng đã kết xuất phía máy chủ hay JavaScript không bổ sung gì. Lần chạy bị bỏ qua chỉ phân tích HTML ban đầu mà không so sánh mức tương đồng sau kết xuất.
Google có tôn trọng canonical hoặc noindex do JavaScript chèn không?
Google có thể bỏ qua kết xuất sau khi thấy noindex trong HTML ban đầu, nên JavaScript không thể gỡ chỉ thị đó một cách đáng tin cậy về sau; noindex chỉ xuất hiện sau kết xuất cũng có thể được sử dụng. Với canonical, JavaScript có thể thêm một thẻ khi HTML ban đầu chưa có và việc đặt cùng một giá trị là chấp nhận được. Đổi sang giá trị khác hoặc để lại nhiều giá trị sẽ tạo ra các tín hiệu cạnh tranh đầy rủi ro.
Công cụ này có giống công cụ Kiểm tra URL của Google Search Console không?
Không, và công cụ này không nhằm thay thế nó. Đây là phép so sánh nhanh mang tính định hướng. Công cụ Kiểm tra URL của Search Console cung cấp bằng chứng riêng của Google về thu thập dữ liệu, lập chỉ mục và kiểm thử trực tiếp cho một tài sản đã xác minh, nhưng cả hai công cụ đều không bảo đảm URL sẽ được xử lý thế nào trong lần thu thập sau.
Các vấn đề thường gặp và cách khắc phục
- Cảnh báo Phần head của tài liệu ban đầu đóng sớm bất thường Cách khắc phục: Sửa mã đánh dấu head sai để siêu dữ liệu nằm trong một phần tử <head> hợp lệ duy nhất trong HTML ban đầu.
- Lỗi Thiếu tiêu đề Cách khắc phục: Thêm một <title> ngắn gọn, độc nhất nêu chủ đề chính của trang vào HTML ban đầu.
- Cảnh báo Tiêu đề thay đổi sau khi kết xuất Cách khắc phục: Cho giá trị <title> phía máy chủ và sau kết xuất giống nhau, trừ khi thay đổi phía máy khách là yêu cầu có chủ ý.
- Lỗi Tiêu đề chỉ xuất hiện sau JavaScript Cách khắc phục: Xuất <title> cuối trong HTML ban đầu thay vì dựa vào JavaScript để chèn.
- Cảnh báo Thiếu mô tả meta Cách khắc phục: Thêm mô tả meta riêng cho trang vào HTML ban đầu để tóm tắt chính xác nội dung.
- Cảnh báo Mô tả meta thay đổi sau khi kết xuất Cách khắc phục: Căn chỉnh mô tả meta ban đầu và sau kết xuất để trình thu thập nhận một bản tóm tắt nhất quán.
- Lỗi URL chính tắc ban đầu và sau kết xuất xung đột Cách khắc phục: Chọn URL tuyệt đối ưu tiên và cho các thẻ chính tắc ban đầu lẫn sau kết xuất cùng trỏ đến URL đó.
- Lỗi JavaScript ghi đè URL chính tắc Cách khắc phục: Giữ một URL chính tắc trong HTML ban đầu và ngăn mã máy khách thay thế nó sau khi kết xuất.
- Cảnh báo URL chính tắc chỉ tồn tại sau khi kết xuất Cách khắc phục: Chuyển thẻ chính tắc vào HTML ban đầu thay vì chỉ thêm sau khi JavaScript chạy.
- Lỗi JavaScript xóa noindex Cách khắc phục: Xóa noindex khỏi phản hồi máy chủ ban đầu khi trang cần được lập chỉ mục; không dựa vào JavaScript để hoàn tác.
- Cảnh báo JavaScript thêm noindex Cách khắc phục: Ngăn mã máy khách thêm noindex vào các trang cần tiếp tục có thể lập chỉ mục.
- Lỗi Noindex vẫn còn sau khi kết xuất Cách khắc phục: Xóa chỉ thị noindex khỏi cả HTML ban đầu và sau kết xuất khi trang cần được lập chỉ mục.
- Cảnh báo Nofollow vẫn còn sau khi kết xuất Cách khắc phục: Xóa nofollow khi trình thu thập cần theo các liên kết của trang, hoặc chỉ áp dụng cho những liên kết thực sự cần.
- Cảnh báo hreflang chỉ xuất hiện sau khi kết xuất Cách khắc phục: Xuất mọi chú thích hreflang trong HTML ban đầu hoặc tiêu đề HTTP thay vì chỉ thêm bằng JavaScript.
- Cảnh báo hreflang thay đổi sau khi kết xuất Cách khắc phục: Cho các tập hreflang ban đầu và sau kết xuất giống nhau, có tính tương hỗ và trỏ đến các URL ngôn ngữ, khu vực dự kiến.
- Lỗi Nội dung quan trọng chỉ xuất hiện sau khi kết xuất Cách khắc phục: Kết xuất phía máy chủ hoặc tạo tĩnh phần nội dung quan trọng để nó có trong HTML ban đầu.
- Cảnh báo Nội dung đáng kể được thêm sau khi kết xuất Cách khắc phục: Chuyển phần nội dung thiết yếu do JavaScript thêm vào HTML ban đầu và chỉ để các cải tiến không thiết yếu cho máy khách.
- Cảnh báo Liên kết quan trọng chỉ xuất hiện sau khi kết xuất Cách khắc phục: Hiển thị các đích quan trọng dưới dạng liên kết <a href> thông thường trong HTML ban đầu.
- Lỗi Liên kết sau kết xuất không phải URL có thể thu thập Cách khắc phục: Thay trình xử lý onclick, javascript: hoặc điều hướng bằng nút bằng URL <a href> có thể thu thập.
- Cảnh báo Hình ảnh sau kết xuất thiếu thuộc tính alt Cách khắc phục: Thêm văn bản alt ngắn gọn cho hình ảnh có ý nghĩa và thuộc tính alt trống cho hình ảnh trang trí.
- Lỗi robots.txt chặn tài nguyên kết xuất Cách khắc phục: Cho phép Googlebot tải JavaScript, CSS hoặc tài nguyên dữ liệu bị chặn nhưng cần để kết xuất trang.
- Cảnh báo Quá trình kết xuất tạo lỗi bảng điều khiển Cách khắc phục: Sửa ngoại lệ phía máy khách được nêu tên và xác nhận nội dung thiết yếu vẫn kết xuất khi tải mới hoàn toàn.
- Cảnh báo Quá trình kết xuất có yêu cầu tài nguyên thất bại Cách khắc phục: Khôi phục, định tuyến đúng hoặc xóa từng yêu cầu tài nguyên thất bại cần cho đầu ra sau kết xuất.
- Cảnh báo Nội dung quan trọng yêu cầu tương tác Cách khắc phục: Đặt toàn bộ nội dung trong DOM đã tải hoặc cung cấp URL có thể thu thập thay vì yêu cầu nhấp hay cuộn.
- Lỗi Trang sau kết xuất trông như lỗi 404 mềm Cách khắc phục: Trả về 404/410 cho trang bị thiếu, hoặc thay phần thân mỏng giống lỗi tại URL 200 bằng nội dung thực chất.
- Cảnh báo JavaScript chuyển hướng trang Cách khắc phục: Thay chuyển hướng JavaScript bằng phản hồi 3xx phía máy chủ phù hợp đến URL cuối.
- Thông tin Thiếu dữ liệu có cấu trúc Cách khắc phục: Thêm JSON-LD chính xác cho thực thể chính được hỗ trợ của trang khi dữ liệu có cấu trúc là phù hợp.
- Cảnh báo Dữ liệu có cấu trúc chỉ xuất hiện sau khi kết xuất Cách khắc phục: Xuất JSON-LD đã xác thực trong HTML ban đầu thay vì chỉ chèn sau khi JavaScript chạy.
- Thông tin Trang phụ thuộc vào WebSocket trong khi kết xuất Cách khắc phục: Kết xuất nội dung thiết yếu mà không cần WebSocket mở, đồng thời cung cấp phương án dự phòng HTTP hoặc kết xuất phía máy chủ có khả năng phục hồi.
- Cảnh báo Thiếu thẻ meta khung nhìn Cách khắc phục: Thêm <meta name="viewport" content="width=device-width, initial-scale=1"> vào head ban đầu.
- Lỗi Nội dung trọng yếu phụ thuộc vào kết xuất phía máy khách Cách khắc phục: Kết xuất phía máy chủ hoặc kết xuất trước tiêu đề, H1, liên kết và nội dung chính trong HTML ban đầu.
- Cảnh báo Trang dựa vào định tuyến bằng dấu thăng Cách khắc phục: Chuyển bộ định tuyến sang đường dẫn chế độ lịch sử mà máy chủ có thể phân giải không cần đoạn neo URL.
- Cảnh báo Phần tử tiêu đề nằm ngoài HTML head Cách khắc phục: Chuyển tiêu đề vào head của tài liệu và chỉ giữ đúng một giá trị tiêu đề không trống ở đó.
- Cảnh báo Phần tử chính tắc nằm ngoài HTML head Cách khắc phục: Chuyển liên kết chính tắc dự kiến vào head của tài liệu và xóa các khai báo chính tắc trong phần thân.
- Cảnh báo HTML ban đầu chứa các URL chính tắc xung đột Cách khắc phục: Xuất một URL chính tắc trong HTML ban đầu thay vì dựa vào JavaScript để sửa các khai báo xung đột.