Thẻ meta robots là các đoạn mã cung cấp hướng dẫn cho trình thu thập thông tin (bot) về cách thu thập thông tin hoặc lập chỉ mục nội dung trang web.
Trong khi tập tin robots.txt cung cấp cho bot các đề xuất về cách thu thập dữ liệu các trang của trang web, thì thẻ meta robots cung cấp hướng dẫn chắc chắn hơn về cách thu thập thông tin và lập chỉ mục nội dung của trang.
Có hai loại thẻ meta robots: những thẻ là một phần của trang HTML (như thẻ meta robots) và những thẻ mà máy chủ web gửi dưới dạng tiêu đề HTTP (chẳng hạn như thẻ x-robots). Các thông số tương tự (hướng dẫn thu thập dữ liệu hoặc lập chỉ mục mà thẻ meta cung cấp, chẳng hạn như noindex và nofollow) có thể được sử dụng với cả thẻ meta robots và thẻ x-robots; điều khác biệt là cách các thông số đó được truyền đạt đến trình thu thập thông tin.
Meta robots cung cấp cho trình thu thập thông tin hướng dẫn về cách thu thập thông tin và lập chỉ mục thông tin họ tìm thấy trên một trang web cụ thể. Nếu các lệnh này được phát hiện bởi bot, các tham số của chúng sẽ đóng vai trò là đề xuất mạnh mẽ cho hành vi lập chỉ mục của trình thu thập thông tin.
Trên đây là ví dụ đơn giản về một câu lệnh meta robots trong mã HTML. Thuộc tính content có nội dung là noindex và nofollow được gọi là các tham số (parameters). noindex chỉ định các bot không lập chỉ mục trang này, còn nofollow chỉ định các bot không follow trang này.
Danh sách các tham số trong thẻ meta robots
Dưới đây là các thông số mà trình thu thập thông tin của công cụ tìm kiếm hiểu và tuân theo khi chúng được sử dụng trong thẻ meta robots. Các tham số không phân biệt chữ hoa chữ thường, nhưng xin lưu ý rằng có thể một số công cụ tìm kiếm có thể chỉ tuân theo một tập hợp con của các tham số này hoặc có thể xử lý một số quy định hơi khác.
- Noindex: Yêu cầu công cụ tìm kiếm không lập chỉ mục một trang.
- index: Cho công cụ tìm kiếm lập chỉ mục một trang. Lưu ý rằng bạn không cần thêm thẻ meta này; nó là mặc định.
- follow: Ngay cả khi trang không được lập chỉ mục, trình thu thập thông tin phải theo dõi tất cả các liên kết trên một trang và chuyển chủ sở hữu đến các trang được liên kết.
- Nofollow: Yêu cầu trình thu thập thông tin không đi theo bất kỳ liên kết nào trên một trang hoặc chuyển theo bất kỳ liên kết nào.
- Noimageindex: Yêu cầu trình thu thập thông tin không lập chỉ mục bất kỳ hình ảnh nào trên trang.
- None: Tương đương với việc sử dụng đồng thời cả hai thẻ noindex và nofollow.
- Noarchive: Công cụ tìm kiếm không hiển thị liên kết được lưu trong bộ nhớ cache đến trang này trên SERP.
- Nocache: Giống như noarchive, nhưng chỉ được sử dụng bởi Internet Explorer và Firefox.
- Nosnippet: Yêu cầu công cụ tìm kiếm không hiển thị đoạn mã của trang này (tức là mô tả meta) của trang này trên SERP.
- Noodyp / noydir [OBSOLETE]: Ngăn các công cụ tìm kiếm sử dụng mô tả DMOZ của trang làm đoạn mã SERP cho trang này. Tuy nhiên, DMOZ đã ngừng hoạt động vào đầu năm 2017 nên thẻ này bạn sẽ ít thấy.
- Unavailable_ after: Các công cụ tìm kiếm sẽ không còn lập chỉ mục trang này sau một ngày cụ thể.
X-robots và meta robots có gì khác nhau?
Bất kỳ thông số nào có thể được sử dụng trong thẻ meta robots cũng có thể được chỉ định trong thẻ x-robots.
Thẻ meta robots
Thẻ meta robots là một phần của mã HTML của trang web và xuất hiện dưới dạng các phần tử mã trong phần <head> của trang web, thẻ sẽ có dạng:
<meta name=”robots” content=”[PARAMETER]”>
Ở trên mình có nhắc chi tiết về cú pháp thẻ này rồi nên ở đây mình không nhắc lại. Ở đây mình chỉ nói thêm phần bạn có thể cung cấp lệnh cho các trình thu thập thông tin cụ thể bằng cách thay thế robots bằng tên của con bot cụ thể. Ví dụ: để nhắm mục tiêu một chỉ thị cụ thể đến Googlebot, bạn sẽ sử dụng mã sau:
<meta name = “googlebot” content = “[PARAMETER]”>
Bạn muốn sử dụng nhiều tham số trên một trang? Miễn là chúng được nhắm mục tiêu đến cùng một “robot”, nhiều tham số có thể được đưa vào một chỉ thị meta – chỉ cần phân tách chúng bằng dấu phẩy. Đây là một ví dụ:
<meta name=”robots” content=”noimageindex, nofollow, nosnippet”>
Thẻ này sẽ yêu cầu robots không lập chỉ mục bất kỳ hình ảnh nào trên trang, theo bất kỳ liên kết nào hoặc hiển thị đoạn mã của trang khi nó xuất hiện trên SERP. Nếu bạn đang sử dụng các lệnh thẻ meta robots khác nhau cho các bot tìm kiếm khác nhau, bạn sẽ cần sử dụng các thẻ riêng biệt cho từng bot.
X-robots
Mặc dù thẻ meta robots cho phép bạn kiểm soát hành vi lập chỉ mục ở cấp độ trang, thẻ x-robots có thể được bao gồm như một phần của tiêu đề HTTP để kiểm soát việc lập chỉ mục toàn bộ trang cũng như các phần tử rất cụ thể của trang.
Bạn có thể sử dụng thẻ x-robots tương tự tất cả các lệnh lập chỉ mục giống như meta robots, nhưng x-robots mang lại tính linh hoạt và chức năng cao hơn đáng kể mà thẻ meta robots không có. Cụ thể, x-robots cho phép sử dụng các biểu thức chính quy (regular expressions), thực hiện lệnh thu thập thông tin trên các tệp không phải HTML và áp dụng các tham số ở cấp độ global.
Để sử dụng x-robots, bạn cần có quyền truy cập vào phần header của file .php, .htaccess hoặc tệp truy cập máy chủ tương tự trên trang web của bạn. Từ đó, thêm đánh dấu thẻ x-robots-tag của cấu hình máy chủ cụ thể của bạn, bao gồm bất kỳ thông số nào.
Dưới đây là một số trường hợp sử dụng giải thích tại sao bạn có thể sử dụng thẻ x-robots:
- Kiểm soát việc lập chỉ mục nội dung không được viết bằng HTML (như flash hoặc video).
- Chặn lập chỉ mục của một phần tử cụ thể của trang (như hình ảnh hoặc video), nhưng không phải của toàn bộ trang.
- Kiểm soát lập chỉ mục nếu bạn không có quyền truy cập vào HTML của trang (cụ thể là vào phần <head>) hoặc nếu trang web của bạn sử dụng tiêu đề chung không thể thay đổi.
- Thêm quy tắc về việc một trang có nên được lập chỉ mục hay không (ví dụ: nếu người dùng đã nhận xét hơn 20 lần, hãy lập chỉ mục trang hồ sơ của họ).
Phần X-robots này khá phức tạp nên hẹn các bạn ở một bài viết khác nhé.
Ví dụ: trên các máy chủ web dựa trên Apache, bạn có thể sử dụng các tệp .htaccess và httpd.conf. Lợi ích của việc sử dụng X-Robots-Tag với phản hồi HTTP là bạn có thể chỉ định các lệnh thu thập dữ liệu mà sẽ áp dụng trên toàn bộ một trang web. Bên cạnh đó, các biểu thức chính quy được hỗ trợ cũng mang lại mức độ linh hoạt cao.
Ví dụ: để thêm noindex, nofollow X-Robots-Tag vào phản hồi HTTP cho tất cả các tệp có đuôi .PDF trên toàn bộ trang web, hãy thêm đoạn mã sau vào tệp .htaccess gốc hoặc tệp httpd.conf của trang web trên Apache, hoặc tệp .conf của trang web trên NGINX
Apache:
<Files ~ "\.pdf$"> Header set X-Robots-Tag "noindex, nofollow" </Files>
NGINX:
location ~* \.pdf$ { add_header X-Robots-Tag "noindex, nofollow"; }
Cách dùng meta robots hiệu quả
Tất cả các thẻ meta (robots hoặc các thẻ meta khác) được phát hiện khi URL được thu thập thông tin. Điều này có nghĩa là nếu tệp robots.txt không cho phép URL thu thập thông tin, thì mọi thẻ meta trên một trang của bạn (trong HTML hoặc tiêu đề HTTP) sẽ không được nhìn thấy và sẽ bị bỏ qua.
Trong hầu hết các trường hợp, việc sử dụng thẻ meta robots có tham số “noindex, follow” nên được sử dụng như một cách để hạn chế thu thập thông tin hoặc lập chỉ mục.
Điều quan trọng cần lưu ý là các trình thu thập dữ liệu độc hại (không phải các bot bình thường như Google, Bing) có khả năng hoàn toàn bỏ qua các tham số của thẻ meta và do đó, giao thức này không tạo ra một cơ chế bảo mật tốt. Nếu bạn có thông tin cá nhân mà bạn không muốn công khai tìm kiếm, hãy chọn một cách tiếp cận an toàn hơn, chẳng hạn như bảo vệ bằng mật khẩu, để ngăn không cho khách truy cập xem các trang bí mật.
Bạn không cần phải sử dụng cả meta robots và thẻ x-robots trên cùng một trang – làm như vậy sẽ là thừa.
Thẻ Meta Robots so với Robots.txt
Sự khác nhau cơ bản là tệp Robots.txt hướng dẫn trình thu thập thông tin về toàn bộ trang web, Trong khi các thẻ meta robots đi vào thực tế của một trang cụ thể. Mình thích sử dụng thẻ meta robots cho nhiều thứ mà các chuyên gia SEO khác có thể chỉ sử dụng sự đơn giản của tệp robots.txt. Không có câu trả lời đúng hay sai. Đó là sở thích cá nhân dựa trên kinh nghiệm của bạn.
Thẻ meta robots có ảnh hưởng đến các dữ liệu có cấu trúc (schema) không?
Thẻ meta robots chi phối lượng nội dung mà Google tự động trích xuất từ các trang web để hiển thị dưới dạng kết quả tìm kiếm. Nhưng nhiều trang web hiện nay sử dụng dữ liệu có cấu trúc schema.org để cung cấp thông tin cụ thể cho việc trình bày kết quả tìm kiếm. Các giới hạn với thẻ meta robots không ảnh hưởng đến việc sử dụng dữ liệu có cấu trúc đó, ngoại trừ schema article.description và các giá trị của description đối với dữ liệu có cấu trúc đã chỉ định.
Để chỉ định thời lượng tối đa của nội dung xem trước dựa trên các giá trị description này, hãy sử dụng thẻ meta robots với tham số là max-snippet. Ví dụ: dữ liệu có cấu trúc recipe trên một trang sẽ đủ điều kiện xuất hiện trong băng chuyền công thức, ngay cả khi văn bản xem trước bị giới hạn. Bạn có thể sử dụng max-snippet để giới hạn độ dài của nội dung xem trước bằng văn bản, nhưng thẻ meta robots đó không áp dụng khi thông tin được cung cấp bằng dữ liệu có cấu trúc để hiển thị dưới dạng kết quả nhiều định dạng.
Để quản lý việc sử dụng dữ liệu có cấu trúc cho các trang web của bạn, hãy sửa đổi các loại và giá trị của dữ liệu có cấu trúc, thêm hoặc xóa thông tin để chỉ cung cấp dữ liệu mà bạn muốn hiển thị.
Bạn đừng bỏ qua bài viết danh sách 41 bước bạn cần kiểm tra qua khi SEO trang web nhé.