Gary Illyes, Analytics Advocate tại Google, vừa xác nhận trên LinkedIn rằng Googlebot không chỉ gửi HTTP GET và POST như nhiều SEOer vẫn tưởng. Hệ thống crawler của Google còn gửi HEAD, OPTIONS, PUT, PATCH, và DELETE. Những request này chiếm dưới 1,5% tổng số requests, nhưng nguyên nhân lại nằm ở JavaScript – đúng hơn là “JavaScript nonsense” theo đúng lời Gary.

Đây là thông tin quan trọng cho bất kỳ ai làm technical SEO. Nếu server của bạn không xử lý đúng các HTTP method này, Googlebot có thể gặp lỗi 405 Method Not Allowed, 403 Forbidden, hoặc tệ hơn là trigger các hành động không mong muốn khi render trang.
Googlebot Gửi Những HTTP Method Nào?
Theo Gary Illyes, Googlebot gửi tổng cộng 7 loại HTTP requests: GET, POST (chiếm hơn 98,5%), và 5 method còn lại là HEAD, OPTIONS, PUT, PATCH, DELETE (dưới 1,5%). Lý do đơn giản: JavaScript. Khi Googlebot render trang, nó thực thi JavaScript giống như browser. Nếu code JavaScript của bạn gọi API bằng PUT hay DELETE, Googlebot sẽ tuân theo và gửi chính xác request đó.
Tại Sao SEOer Cần Quan Tâm Đến 1,5% Này?
Con số 1,5% nghe nhỏ, nhưng hãy tính theo quy mô. Googlebot gửi hàng tỷ requests mỗi ngày. 1,5% tương đương hàng chục triệu requests không phải GET hay POST. Nếu server trả lời 405 hoặc 500 cho những request này, Google có thể hiểu sai trang của bạn.
Nghiêm trọng hơn, tôi đã thấy các trường hợp JavaScript vô tình trigger DELETE request tới API endpoint khi trang được render. Googlebot tuân theo, gửi DELETE, và dữ liệu bị xóa. Đây không phải lý thuyết – đây là lỗi thực tế mà nhiều developer gặp phải khi build SPA (Single Page Application).
JavaScript Rendering Của Googlebot Hoạt Động Ra Sao?
Googlebot sử dụng Chromium để render trang web. Quá trình này bao gồm tải HTML, CSS, JavaScript, sau đó thực thi JavaScript để xem nội dung cuối cùng. Khi JavaScript gọi XHR (XMLHttpRequest) hoặc Fetch API, Googlebot sẽ gửi những request đó y như một browser thật.
Điều này có nghĩa là bất kỳ API call nào trong code JavaScript của bạn – dù là PUT để update data, PATCH để sửa một phần, hay DELETE để xóa – đều có thể bị Googlebot trigger trong quá trình rendering.
Cách Kiểm Tra Server Có Xử Lý Đúng Các HTTP Method Không?
Tôi khuyên bạn nên kiểm tra server logs để xem Googlebot có gửi các HTTP method ngoài GET/POST không, và server phản hồi ra sao. Dưới đây là cách thực hiện:
Bước 1: Lọc server logs theo Googlebot user-agent. Tìm các request có method không phải GET hay POST. Nếu bạn dùng Nginx, log mặc định đã ghi HTTP method ở cột đầu tiên.
Bước 2: Kiểm tra response code. Nếu thấy 405 Method Not Allowed, server đang từ chối request đó – thường không sao. Nhưng nếu thấy 200 OK cho một DELETE request, bạn cần kiểm tra ngay xem endpoint đó có thực sự xóa data hay không.
Bước 3: Đảm bảo các API endpoint nhạy cảm (POST, PUT, PATCH, DELETE) đều yêu cầu authentication. Googlebot không tự động đăng nhập, nên request không có credentials sẽ nhận 401 hoặc 403 – đây là phản hồi an toàn.
Lỗi Thường Gặp Khi Googlebot Render JavaScript
Trong quá trình audit technical SEO cho khách hàng, tôi thường thấy 3 lỗi liên quan đến HTTP method và JavaScript rendering:
1. Infinite loop từ JavaScript redirect: Code JavaScript gửi request kiểm tra session, nhận 401, rồi redirect. Googlebot follow redirect, lại gửi request, lại nhận 401. Vòng lặp này tốn crawl budget và khiến Google đánh dấu trang là lỗi.
2. API endpoint không có rate limiting: Khi Googlebot render hàng trăm trang cùng lúc, mỗi trang gọi 3-5 API request. Nếu API không có rate limiting, server bị quá tải và trả về 500.
3. Form submission qua JavaScript: Một số trang dùng JavaScript để submit form tự động khi trang tải. Nếu form gửi POST hay PUT request, Googlebot sẽ gửi theo. Hậu quả là database bị chèn data rác hoặc worse, data thật bị sửa đổi.
Googlebot Rendering 2026 Khác Gì So Với Trước?
Năm 2026, Google đã cải thiện đáng kể khả năng rendering. Theo thông tin từ Google Search Central, rendering hiện tại hỗ trợ đầy đủ ES6+, Web Components, và thậm chí một số API mới như View Transitions. Rendering queue cũng được tối ưu để ưu tiên các trang có tín hiệu chất lượng cao.
Tuy nhiên, điều này cũng có nghĩa Googlebot thực thi JavaScript “thật” hơn bao giờ hết. Nếu code JavaScript của bạn gửi request đến endpoint không an toàn, Googlebot sẽ không phân biệt được đó là bot request hay user request – nó cứ gửi như một browser thông thường.
Bảng Tóm Tắt: HTTP Method Và Rủi Ro SEO
| HTTP Method | Mục Đích | Rủi Ro Khi Googlebot Gửi | Cách Khắc Phục |
|---|---|---|---|
| GET | Lấy dữ liệu | Thấp – an toàn | Không cần |
| POST | Gửi dữ liệu | Trung bình – có thể tạo data rác | Yêu cầu CSRF token |
| HEAD | Lấy header không có body | Thấp – server thường xử lý tốt | Đảm bảo trả 200 |
| OPTIONS | Kiểm tra method hỗ trợ | Thấp – dùng cho CORS preflight | Cấu hình CORS đúng |
| PUT | Cập nhật toàn bộ resource | Cao – có thể sửa data | Yêu cầu authentication |
| PATCH | Sửa một phần resource | Cao – có thể sửa data | Yêu cầu authentication |
| DELETE | Xóa resource | Rất cao – có thể xóa data | Yêu cầu authentication + confirmation |
Redirect Chain Và HTTP Method: Lưu Ý Quan Trọng
Một điểm ít người để ý: khi server trả về redirect 301 hoặc 302 cho POST, PUT, PATCH, DELETE request, một số client (bao gồm cả Googlebot) có thể đổi method thành GET. Điều này khiến request mất dữ liệu ban đầu. Nếu API của bạn phụ thuộc vào redirect, hãy sử dụng 307 (Temporary Redirect) hoặc 308 (Permanent Redirect) để giữ nguyên HTTP method.
SEOer Nên Làm Gì Ngay Hôm Nay?
Dựa trên thông tin từ Gary Illyes, tôi đề xuất 3 hành động ngay:
1. Kiểm tra server logs: Lọc theo Googlebot user-agent và tìm các HTTP method ngoài GET. Ghi chú response code cho từng method.
2. Audit JavaScript code: Tìm tất cả Fetch API và XMLHttpRequest call. Đảm bảo không có call nào gửi PUT, PATCH, DELETE khi trang tải (chỉ cho phép khi user click button có confirmation).
3. Cấu hình server: Đảm bảo các endpoint nhạy cảm yêu cầu authentication. Đối với method không hỗ trợ, trả về 405 thay vì 500 để Google không hiểu là lỗi server.
Kết Luận
Thông tin từ Gary Illyes nhắc nhở chúng ta rằng Googlebot 2026 không chỉ là một simple GET crawler. Nó là một browser headless đầy đủ, thực thi JavaScript và gửi mọi loại HTTP request mà code yêu cầu. 1,5% có vẻ nhỏ, nhưng hậu quả có thể lớn nếu server không được cấu hình đúng.
Technical SEO không chỉ về meta tags hay sitemap. Nó còn về việc hiểu chính xác cách Googlebot tương tác với server của bạn ở tầng HTTP protocol. Kiểm tra server logs hôm nay, bạn có thể phát hiện vấn đề mình chưa bao giờ nghĩ tới.

