Googlebot Gửi 7 Loại HTTP Requests: HEAD, OPTIONS, PUT, PATCH, DELETE Và Rủi Ro SEO Ẩn

Googlebot Gửi 7 Loại HTTP Requests
Câu trả lời nhanh
Gary Illyes xác nhận Googlebot gửi 7 loại HTTP requests: GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE. 5 method sau chiếm dưới 1,5% tổng requests, nguyên nhân từ JavaScript rendering. SEOer cần kiểm tra server logs và đảm bảo API endpoint yêu cầu authentication để tránh lỗi crawl bất ngờ.

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.

Googlebot gửi 7 loại HTTP requests khi crawl web

Đâ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 MethodMục ĐíchRủi Ro Khi Googlebot GửiCách Khắc Phục
GETLấy dữ liệuThấp – an toànKhông cần
POSTGửi dữ liệuTrung bình – có thể tạo data rácYêu cầu CSRF token
HEADLấy header không có bodyThấp – server thường xử lý tốtĐảm bảo trả 200
OPTIONSKiểm tra method hỗ trợThấp – dùng cho CORS preflightCấu hình CORS đúng
PUTCập nhật toàn bộ resourceCao – có thể sửa dataYêu cầu authentication
PATCHSửa một phần resourceCao – có thể sửa dataYêu cầu authentication
DELETEXóa resourceRất cao – có thể xóa dataYê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.

Minh Đức

Tôi là Minh Đức, làm SEO đã mấy năm. Ngày xưa tôi cũng nghĩ SEO chỉ là nhét từ khóa cho đủ tỷ lệ, đến khi tự tay đẩy vài site lên top mới hiểu nó phức tạp đến mức nào. Tôi thích tự test, tự đo, và chỉ tin khi có số liệu. Ngoài giờ thì tôi đọc sách, chơi cờ, và hay tranh luận với bạn bè về chuyện AI có giết chết SEO không.

Xem tất cả bài viết →

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *