Xin chào! Cảm ơn bạn
đã ghé thăm Blog của tôi.
Xin chào! Cảm ơn bạn
đã ghé thăm Blog của tôi.
Trạng thái HTTP 410 Gone hiển thị rằng tài nguyên mà người dùng đang cố gắng truy cập không còn tồn tại và tài nguyên đó đã bị xóa vĩnh viễn khỏi máy chủ.
Trạng thái HTTP 404 được trả về khi máy chủ không tìm thấy tài nguyên (trang web, file, v.v.) mà người dùng hoặc bot (như Googlebot) yêu cầu. Điều này có thể xảy ra khi URL bị sai, trang bị xóa nhưng không được xử lý đúng cách, hoặc nội dung không còn tồn tại.
Trạng thái HTTP 410 là một thông báo rõ ràng hơn 404, cho biết tài nguyên không chỉ “không tìm thấy” mà còn thông báo rằng tài nguyên đó đã bị xóa vĩnh viễn và không có ý định khôi phục. Nó khác với 404 ở chỗ 404 không nói rõ liệu tài nguyên có quay lại trong tương lai hay không, trong khi 410 khẳng định tài nguyên đó sẽ biến mất mãi mãi.
Dưới đây là các trường hợp cụ thể:
Khi các công cụ tìm kiếm như Google gặp mã 410, chúng hiểu rằng trang đó đã bị xóa vĩnh viễn và sẽ nhanh chóng xóa URL đó khỏi chỉ mục (index) của họ. Điều này giúp tránh lãng phí “crawl budget” (ngân sách thu thập dữ liệu) khi bot quay lại kiểm tra URL không còn tồn tại.
Với 404, Google sẽ tiếp tục thu thập dữ liệu URL đó nhiều lần để xác nhận xem nó có thực sự bị xóa vĩnh viễn hay chỉ xóa tạm thời, làm chậm quá trình cập nhật chỉ mục.
Mã 410 thể hiện thông điệp rõ ràng tới người dùng hoặc công cụ phân tích rằng tài nguyên đó không còn tồn tại nữa.
Nếu website của bạn có nhiều trang không còn sử dụng nữa (ví dụ: sản phẩm ngừng kinh doanh, bài viết cũ bị xóa), việc dùng 410 giúp bạn quản lý tốt hơn và tránh nhầm lẫn với các trang chỉ tạm thời không hoạt động.
Việc để quá nhiều lỗi 404 tồn tại có thể khiến công cụ tìm kiếm đánh giá website của bạn kém chất lượng. Sử dụng 410 sẽ thể hiện rằng bạn chủ động kiểm soát nội dung website của mình.
Thời gian gần đây có rất nhiều website bị tình trạng spam search hay spam tạo các url rác trên website, sau đó bị GoogleBot crawl dữ liệu và báo cáo về Google Search Console như ảnh bên dưới.

Tức nhiên là các url này không tồn tại và khi truy cập sẽ trả về lỗi 404, nhưng việc này làm cho GoogleBot phải liên tục crawl để thu thập dữ liệu khiến lãng phí tài nguyên. Do đó chúng ta cần cấu hình để các url không tồn tại, spam này trả về trạng thái 410, để Google hiểu rằng các url này đã được xóa vĩnh viễn và sẽ bỏ qua việc thu thập dữ liệu ở các lần sau.
Dưới đây là các cách cấu hình mà bạn có thể tham khảo. Bạn hãy chọn cách phù hợp với mình nhé.
Cách này chỉ nên sử dụng nếu bạn là một lập trình viên hoặc người có kiến thức về Code. Bạn thực hiện như sau
Bạn copy đoạn code bên dưới và dán vào bên dưới thẻ mở <?php
// Gửi header HTTP 410 Gone khi phát hiện 404
add_action('template_redirect', function() {
if (is_404()) {
header($_SERVER["SERVER_PROTOCOL"] . " 410 Gone");
}
});
Đây là cách mình khuyến nghị các bạn sử dụng, vì cách này thao tác khá đơn giản , cũng như hạn chế được việc các bạn cấu hình sai gây lỗi website. Các bạn có thể cấu hình thông qua các Plugin SEO thông dụng hiện nay như Rank Math SEO hay Yoast SEO. Bên dưới là cách cấu hình qua Rank Math SEO.

Cách này sẽ khác với Cách 1 và Cách 2, là thay vì áp dụng 410 cho toàn bộ các Url 404, thì ở cách này chúng ta chỉ thiết lập 410 cho các url được chỉ định. Cụ thể Rule bên dưới sẽ chặn các truy vấn có ký tự ( !, @, #, $, %, &, *, ? ) trong Url. Các bạn có thể thay thế ký tự muốn chặn bằng cách sửa nội dung bên trong 2 dấu [].
Lưu ý: Bạn chỉ nên sử dụng cách này nếu bạn thực sự am hiểu, để tránh trường hợp chặn nhầm các Url chính của website.
RewriteEngine On
# Không áp dụng rule cho wp-admin
RewriteCond %{REQUEST_URI} !^/wp-admin [NC]
# Chặn các url có chứa các ký tự ! @ # $ % & * ?
RewriteCond %{REQUEST_URI} "[!@#$%&*?]" [NC]
RewriteRule .* - [G]Để dễ hình dung hơn, các bạn có thể xem mô tả hình bên dưới:

Sau khi đã hoàn tất việc cấu hình, bạn hãy thử kiểm tra bằng cách truy cập một url nào đó không tồn tại hoặc chứa ký tự mà bạn đã chặn ở trên để kiểm tra. Bạn có thể check thông qua một số cách sau:
Với cách này bạn chỉ cần nhập Url cần kiểm tra và nhấn analyse . Kết quả sẽ trả về ngay bên dưới, nếu trả về kết quả 410 Gone là chính xác.

Với cách này bạn sử dụng câu lệnh curl -I và url cần check như bên dưới:
curl -I http://damtrungkien.com/danh-b@i-tien-lenTương tự kết quả trả về 410 Gone là thành công.

Bên dưới là một case thực tế website bị spam index số lượng lớn, và sau khi cấu hình trạng thái 410 cho các link spam thì Google đã ngưng việc thu thập và lập chỉ mục các liên kết spam.

Việc sử dụng 410 Gone cho các URL 404 (trong trường hợp tài nguyên bị xóa vĩnh viễn) giúp website của bạn hoạt động hiệu quả hơn, cải thiện SEO, đồng thời gửi tín hiệu rõ ràng đến cả người dùng lẫn các công cụ tìm kiếm. Tuy nhiên, hãy đảm bảo rằng bạn hiểu rõ chức năng và ý nghĩa của nó trước khi sử dụng nhé. Chúc bạn thực hiện thành công.!
Chào mọi người, mình là Kiên – hiện đang công tác tại Phòng Kỹ thuật AZDIGI. Trong quá trình làm việc mình có cơ hội được tiếp xúc với khá nhiều các vấn đề liên quan đến Website/Hosting/VPS/Server, do đó mình viết lại các hướng dẫn này nhằm chia sẻ kiến thức, cũng như tạo một môi trường để chúng ta giao lưu và học hỏi lẫn nhau.
2026 - Website được phát truyền nội dung bởi Đàm Trung Kiên
Hãy để lại thông tin của bạn. Đội ngũ chuyên gia của chúng tôi sẽ trực tiếp phân tích nhu cầu và tư vấn giải pháp công nghệ phù hợp, tối ưu hiệu quả cho công việc của bạn hoàn toàn miễn phí.
Tìm kiếm bài viết...