File robots.txt là gì? Cách tạo và gửi tệp robots.txt

 

MỤC LỤC

Robots.txt là gì?

Robots.txt là một tệp văn bản được đọc bởi các công cụ tìm kiếm (ví dụ như Google, Bing và Yahoo), hay còn được gọi với cái tên “Robots Exclusion Protocol”, là kết quả của sự đồng thuận giữa các nhà phát triển công cụ tìm kiếm ban đầu.

Đây không phải là tiêu chuẩn chính thức do bất kỳ tổ chức tiêu chuẩn nào đặt ra; mặc dù là tất cả các công cụ tìm kiếm đều tuân theo nó.

“Đây không phải là cơ chế ẩn một website khỏi Google”. Nếu bạn muốn ẩn một trang bất kỳ khỏi Google thì nên gắn tag “Noindex” hoặc sử dụng mật khẩu riêng để bảo vệ trang.

Robots.txt sẽ thực hiện công việc gì?

Tôi sẽ nêu ra hai công việc chính của công cụ tìm kiếm để các bạn có được cái nhìn khái quát nhất:

  1. Thu thập thông tin trên website để bắt đầu việc ‘khám phá nội dung’ bên trong đó.
  2. Lập chỉ mục nội dung hay còn gọi là index nội dung để nó có thể cung cấp cho những người tìm kiếm đang đi tìm kiếm thông tin.

Để có thể thu thập dữ liệu các trang web, các công cụ tìm kiếm sẽ đi theo các liên kết để di chuyển từ trang này sang trang khác và cuối cùng chính là thu thập lại toàn bộ thông tin qua hàng tỷ liên kết khác và trang web khác nhau. Hành động thu thập thông tin này còn được gọi với cái tên “spidering”.

Sau khi đã tới được một trang web, trước khi bắt đầu việc xem xét trang web đó, trình thu thập thông tin (search crawler) sẽ tìm kiếm tệp Robots.txt.

Khi tìm thấy một tệp thì trình thu thập sẽ đọc tệp đó trước khi tiếp tục công việc của mình qua những trang kế tiếp. Lý do là bởi tệp robots.txt chứa thông tin về cách mà công cụ tìm kiếm sẽ thu thập thông tin, thông tin được tìm thấy ở đó sẽ hướng dẫn cho trình thu thập thông tin hành động tiếp theo trên trang web cụ thể này.

Nếu như tệp robots.txt không chứa bất kỳ lệnh nào không cho phép hoạt động của tác nhân người dùng (hay trang web đó không có tệp robots.txt) thì nó sẽ tiến hành việc thu thập thông tin ở trên những trang khác trên trang web.

Tại sao Robots.txt lại quan trọng?

Có thể nói rằng, hầu hết các trang web không cần tới tệp Robots.txt.

Lý do là bởi Google thường có thể tìm và lập chỉ mục tất cả các trang quan trọng trên trang web của bạn.

Tuy nhiên, họ sẽ KHÔNG lập chỉ mục các trang quan trọng hay các phiên bản trùng lặp của các trang khác.

Điều đó có thể diễn giải rằng, có 3 lý do chính mà bạn thực sự MUỐN sử dụng Robots.txt.

Chặn các trang không công khai

Đôi khi bạn có các trang trên trang web của mình mà bạn không muốn nó được lập chỉ mục.

Ví dụ: Bạn có thể có phiên bản theo từng giai đoạn của một trang hoặc một trang đăng nhập. Các trang này cần phải tồn tại. Nhưng bạn không muốn những người dùng ‘ngẫu nhiên đổ bộ’ vào chúng. Đây chính là trường hợp mà bạn sử dụng robots.txt để chặn các trang này ra khỏi trình thu thập thông tin và chương trình của công cụ tìm kiếm.

Tối đa hóa ngân sách thu thập thông tin

Nếu bạn gặp khó khăn trong việc lập chỉ mục tất cả các trang của mình, bạn có thể gặp vấn đề về ngân sách thu thập thông tin (Crawl Budget). Bằng cách chặn các trang không quan trọng bằng robots.txt, Googlebot có thể ‘chi tiêu’ nhiều hơn ngân sách thu thập thông tin của bạn trên các trang thực sự quan trọng.

Ngăn lập chỉ mục tài nguyên

Sử dụng chỉ thị meta có thể hoạt động giống như Robots.txt để ngăn các trang được lập chỉ mục. Tuy nhiên, chỉ thị meta không hoạt động tốt cho các tài nguyên đa phương tiện, như PDF và hình ảnh. Đây chính là lúc mà robots.txt được phát huy khả năng của mình.

Điểm mấu chốt ở chỗ, Robots.txt yêu cầu trình thu thập thông tin của công cụ tìm kiếm không thu thập từ dữ liệu các trang cụ thể trên trang web của bạn.

Bạn có thể kiểm tra xem bạn đã lập chỉ mục bao nhiêu trang trong Google Search Console.

Nếu số đó khớp với số trang mà bạn muốn lập chỉ mục, bạn không cần bận tâm tới tệp Robots.txt.

Nhưng nếu con số đó cao hơn con số mà bạn mong đợi (và bạn nhận thấy các URL được lập chỉ mục không nên được lập chỉ mục), thì đã tới lúc tạo tệp robots.txt cho trang web của bạn.

Robots.txt trông như thế nào?

Dưới đây là định dạng cơ bản của tệp robots.txt:

Sitemap: [URL location of sitemap]

User-agent: [bot identifier]

[directive 1]

[directive 2]

[directive …]

User-agent: [another bot identifier]

[directive 1]

[directive 2]

[directive …]

Nếu bạn chưa từng thấy một trong những tệp này trước đây, điều đó nghe có vẻ khó khăn. Tuy nhiên, cú pháp thực hiện rất đơn giản. Nói tóm lại, bạn chỉ định các quy tắc cho bot bằng cách nêu rõ tác nhân người dùng của chúng, sau đó là các lệnh.

Hãy cùng tìm hiểu một cách chi tiết hơn về hai thành phần này.

Tác nhân người dùng (User-agents)

Mỗi công cụ tìm kiếm đều xác định nó với một user-agents khác nhau.

Bạn có thể đặt hướng dẫn tùy chỉnh cho từng hướng dẫn này trong robots.txt của mình. Có hàng trăm user-agents, nhưng dưới đây là một số user-agents thực sự hữu ích cho SEO:

Google: Googlebot

Google Hình ảnh: Googlebot-Image

Bing: Bingbot

Yahoo: Slurp

Baidu: Baiduspider

DuckDuckGo: DuckDuckBot

Chú thích ngoài lề: Tất cả các user-agents đều phân biệt chữ hoa và chữ thường trong robots.txt.

Bạn cũng có thể sử dụng ký tự đại diện dấu (*) để gán chỉ thị dành cho tất cả các user-agents.

Ví dụ: Giả sử rằng bạn muốn chặn tất cả các bot ngoại trừ Googlebot thu thập dữ liệu trang web của bạn. Đây chính là cách mà bạn thực hiện điều đó:

User-agent: *

Disallow: /

User-agent: Googlebot

Allow: /

Biết rằng tệp Robots.txt của bạn có thể bao gồm các lệnh cho bao nhiêu tác nhân user-agents tùy thích. Điều đó nói nên rằng, mỗi khi mà bạn khai báo về một user-agents mới, nó sẽ hoạt động giống như một phương tiện chặn rõ ràng.

Nói theo cách khác, nếu bạn thêm nhiều chỉ thị cho user-agents, các chỉ thị được khai báo cho user-agent đầu tiên sẽ không được áp dụng cho user-agents thứ hai, thứ ba, thứ tư,…

Ngoại lệ cho quy tắc đó là khi bạn khai báo cùng một user-agents dùng nhiều lần. Trong trường hợp đó, tất cả các chỉ thị liên quan được kết hợp và tuân theo.

Lưu ý quan trọng:

Trình thu thập thông tin chỉ tuân theo các quy tắc đã được khai báo trong (các) tác nhân người dùng (user-agents) áp dụng chính xác nhất cho chúng. Đó là lý do vì sao tệp robots.txt ở trên chặn tất cả các bot ngoại trừ Googlebot (và các bot khác của Google) thực hiện việc thu thập dữ liệu trên web. Googlebot bỏ qua phần khai báo user-agents ít cụ thể hơn.

Chỉ thị

Chỉ thị là các quy tắc mà bạn muốn các user-agents đã khai báo tuân theo.

Các chỉ thị được hỗ trợ

Dưới đây là các chỉ thị mà Google hiện hỗ trợ, cùng với cách sử dụng của chúng.

Disallow

Sử dụng chỉ thị này để hướng dẫn các công cụ tìm kiếm không truy cập vào các tệp và trang nằm trong một đường dẫn cụ thể.

Ví dụ: Nếu bạn muốn chặn tất cả các công cụ tìm kiếm truy cập vào blog của mình và tất cả các bài đăng trên blog của mình, tệp robots.txt của bạn có thể trông giống như sau:

User-agent: *

Disallow: /blog (Chặn tất cả bài đăng trên blog)

Chú thích: Nếu bạn không xác định được đường dẫn sau lệnh Disallow, các công cụ tìm kiếm sẽ bỏ qua nó.

Allow

Sử dụng chỉ thị này để cho phép các công cụ tìm kiếm thu thập thông tin một trang hoặc một thư mục con – ngay cả trong một thư mục không được phép khác.

Ví dụ: Nếu bạn muốn ngăn các công cụ tìm kiếm truy cập vào mọi bài đăng trên blog của bạn ngoại trừ một bài đăng, thì tệp robots.txt của bạn có thể trông giống như sau:

User-agent: *

Disallow: /blog

Allow: /blog/allowed-post

Trong ví dụ này, các công cụ tìm kiếm có thể truy cập /blog/allowed-post

Nhưng họ không thể truy cập:

/blog/another-post

/blog/yet-another-post

/blog/download-me.pdf

Cả Google lẫn Bing đều hỗ trợ chỉ thị này.

Chú thích: Cũng như chỉ thị Disallow, nếu bạn không xác định đường dẫn sau chỉ thị allow, các công cụ tìm kiếm sẽ bỏ qua nó.

Một lưu ý về các quy tắc xung đột

 

Bạn nên cẩn thận trong việc này, vì các chỉ thị Allow và Disallow có thể dễ dàng tạo ra xung đột với nhau.

Trong ví dụ bên dưới, chúng tôi không cho phép truy cập /blog/ và cho phép truy cập / blog.

User-agent: *

Disallow: /blog/

Allow: /blog

Trong trường hợp này, URL /blog/post-title/ dường như vừa Disallow và vừa Allow. Vậy cái nào đúng?

Đối với Google và Bing, quy tắc là chỉ thị có nhiều ký tự nhất sẽ đúng. Trong trường hợp ở đây là chỉ thị Disallow.

Disallow: /blog/ (6 ký tự)

Allow: /blog (5 ký tự)

Nếu các lệnh allow và disallow có độ dài như nhau, thì lệnh ít hạn chế nhất sẽ đúng. Trong trường hợp đó, chính là chỉ thị allow.

Chú thích: Tại đây, /blog (không có dấu gạch chéo) vẫn có thể truy cập và thu thập thông tin được.

Điều quan trọng, đây chỉ là trường hợp của Google và Bing. Các công cụ tìm kiếm khác hay lắng nghe chỉ thị phù hợp ban đầu. Trong trường hợp này, điều đó không được phép.

Sitemap

Sử dụng chỉ thị này để chỉ định vị trí của các Sitemap trên trang web của bạn cho các công cụ tìm kiếm. Nếu bạn không quen với sitemap, chúng thường bao gồm các trang mà bạn muốn các công cụ tìm kiếm thu thập thông tin và lập chỉ mục.

Dưới đây là ví dụ về robots.txt sử dụng lệnh sitemap:

Sitemap: https://www.domain.com/sitemap.xml

User-agent: *

Disallow: /blog/

Allow: /blog/post-title/

Việc bao gồm các sitemap trong tệp robots.txt của bạn quan trọng như thế nào?

Nếu bạn đã gửi thông qua Search Console, thì nó sẽ hơi thừa đối với Google. Tuy nhiên, nó cho các công cụ tìm kiếm khác như Bing biết nơi tìm sơ đồ trang web của bạn, vì vậy nó vẫn là một phương pháp khá thú vị.

Lưu ý rằng, bạn không cần lặp lại chỉ thị sơ đồ trang web nhiều lần chỗ mỗi user-agents. Nó không chỉ áp dụng cho một. Vì vậy, tốt nhất bạn nên bao gồm chỉ thị sitemap ở đầu hoặc cuối tệp robots.txt của mình.

Ví dụ:

Sitemap: https://www.domain.com/sitemap.xml

User-agent: Googlebot

Disallow: /blog/

Allow: /blog/post-title/

User-agent: Bingbot

Disallow: /services/

Google hỗ trợ chỉ thị sitemap, cũng giống như Ask, Bing và Yahoo.

Các lệnh không được hỗ trợ

Dưới đây là các lệnh không còn được Google hỗ trợ nữa – một số lệnh trong số đó chưa bao giờ có về mặt kỹ thuật.

Trễ thu thập thông tin

Trước đây, bạn có thể sử dụng chỉ thị này để chỉ định độ trễ thu thập thông tin tính bằng giây.

Ví dụ: Nếu bạn muốn Googlebot đợi 5 giây sau mỗi hành động thu thập thông tin, bạn sẽ đặt độ trễ thu thập thông tin thành 5 như sau:

User-agent: Googlebot

Crawl-delay: 5

Hiện Google không còn hỗ trợ chỉ thị này, nhưng Bing và Yandex thì có.

Điều đó nói rằng, hãy cẩn thận khi thiết lập chỉ thị này, đặc biệt nếu bạn có một trang web lớn. Nếu bạn đặt độ trễ thu thập thông tin là 5 giây, thì bạn đang hạn chế các bot thu thập thông tin tối đa 17.280 URL mỗi ngày.

Điều đó sẽ không hữu ích lắm nếu bạn đang sở hữu hàng triệu trang, nhưng nó có thể tiết kiệm băng thông nếu bạn có một trang web nhỏ.

Noindex

Chỉ thị này chưa bao giờ được Google hỗ trợ một cách chính thức. Tuy nhiên, cho đến gần đây, người ta cho rằng Google đã có một số “mã xử lý các quy tắc không được hỗ trợ và chưa được xuất bản (chẳng hạn như noindex).”

Vì vậy, nếu bạn muốn ngăn Google lập chỉ mục tất cả các bài đăng trên blog của mình, bạn có thể sử dụng lệnh sau:

User-agent: Googlebot

Noindex: /blog/

Tuy nhiên, vào ngày 1 tháng 9 năm 2019, Google đã nói rằng chỉ thị này không được hỗ trợ. Nếu bạn muốn loại trừ một trang hay tệp khỏi công cụ tìm kiếm, hãy sử dụng Meta Robots tags hoặc tiêu đề HTTP X-Robots thay thế.

Nofollow

Đây là một chỉ thị khác mà Google chưa bao giờ chính thức hỗ trợ và được sử dụng để hướng dẫn các công cụ tìm kiếm không đi theo các liên kết trên các trang và tệp theo một đường dẫn cụ thể.

 

Ví dụ: nếu bạn muốn ngăn Google theo dõi tất cả các liên kết trên blog của mình, bạn có thể sử dụng câu lệnh sau:

User-agent: Googlebot

Nofollow: /blog/

Google đã thông báo rằng chỉ thị này chính thức không được hỗ trợ vào ngày 1 tháng 9 năm 2019.

Nếu bạn muốn thực hiện nofollow với tất cả các liên kết trên một trang ngay bây giờ, bạn nên sử dụng Meta Robots Tag hoặc Title X-Robots.

Nếu bạn muốn yêu cầu Google không theo các liên kết cụ thể trên một trang, hãy sử dụng thuộc tính liên kết rel = “nofollow”.

Ưu và nhược điểm của việc sử dụng robots.txt

Chuyên nghiệp trong việc quản lý ngân sách thu thập thông tin

Thông thường, người ta thường hiểu rằng một trình thu thập thông tin tìm kiếm đến một trang web với “mức cho phép” đã được xác định trước cho số lượng trang mà nó sẽ thực hiện việc thu thập thông tin (hoặc lượng tài nguyên / thời gian mà nó sẽ sử dụng, dựa trên quyền hạn / kích thước / danh tiếng của trang web và máy chủ phản hồi hiệu quả như thế nào).

Trong SEO gọi đây là Crawl Budget.

Nếu bạn cho rằng trang web của mình có vấn đề với ngân sách thu thập thông tin, thì việc chặn các công cụ tìm kiếm gây ‘lãng phí’ ngân sách ở các phần không quan trọng trên trang web của bạn có thể có nghĩa là họ tập trung thay vào các phần quan trọng.

Đôi khi có thể có lợi khi chặn các công cụ tìm kiếm thu thập dữ liệu các phần có vấn đề trên trang web của bạn, đặc biệt là trên các trang web cần phải làm sạch nhiều SEO.

Sau khi đã thu dọn mọi thứ, bạn có thể để chúng vào lại.

Lưu ý về việc chặn các tham số truy vấn

Một tình huống mà ngân sách thu thập thông tin đặc biệt quan trọng là khi trang web của bạn sử dụng nhiều tham số chuỗi truy vấn để lọc hoặc sắp xếp danh sách.

Giả sử, bạn có 10 tham số truy vấn khác nhau, mỗi tham số có các giá trị khác nhau có thể được sử dụng trong bất kỳ kết hợp nào (như một chiếc áo phông có nhiều màu và kích thước).

Điều này dẫn tới rất nhiều URL hợp lệ có thể có, tất cả đều có thể được thu thập thông tin. Việc chặn thu thập thông tin truy vấn sẽ giúp đảm bảo công cụ tìm kiếm chỉ thu thập các URL chính trên trang web của bạn và sẽ không đi vào cái bẫy lớn mà bạn có thể sẽ tạo ra.

Nhược điểm

Không xóa một trang ra khỏi kết quả tìm kiếm

Mặc dù, bạn có thể sử dụng tệp robots.txt để cho spider biết nơi nó không thể đi tới trang web của bạn, nhưng bạn không thể sử dụng nó để thông báo cho công cụ tìm kiếm biết những URL nào không hiển thị trong kết quả tìm kiếm – nói cách khác là chặn nó sẽ không ngăn nó được lập chỉ mục.

Nếu công cụ tìm kiếm tìm thấy đủ liên kết đến URL đó, nó sẽ bao gồm cả nó và không biết có gì trên trang đó. Vậy nên, kết quả của bạn trên kết quả tìm kiếm sẽ trông như thế này:

Nếu bạn muốn chặn một cách đáng tin cậy một trang hiển thị trong kết quả tìm kiếm, bạn cần sử dụng Meta Robots Tag noindex. Điều đó có nghĩa là, để tìm thấy thẻ noindex, công cụ tìm kiếm phải truy cập được trang đó, vậy nên đừng chặn nó bằng robots.txt.

Không lan truyền giá trị liên kết

Nếu công cụ tìm kiếm không thể thu thập thông tin một trang, nó không thể truyền được giá trị liên kết qua các liên kết trên trang đó. Khi một trang bị chặn bằng robots.txt, đây là một đường cụt. Bất kỳ giá trị liên kết nào có thể đã chuyển tới hoặc đi qua trang đó đều bị biến mất.

Cách tìm tệp robots.txt

Nếu bạn đã có tệp robots.txt trên trang web của mình, bạn sẽ có thể truy cập tệp này tại domain.com/robots.txt. Điều hướng tới URL trong trình duyệt của bạn.

Nếu thấy thứ gì đó giống như hình dưới đây, thì bạn đã có tệp robots.txt:

Cách tạo tệp robots.txt

Nếu bạn chưa có tệp robots.txt, việc tạo ra một tệp rất dễ dàng. Chỉ cần mở một tài liệu .txt trống và bắt đầu nhập lệnh. Ví dụ: Nếu bạn muốn không cho phép tất cả các công cụ tìm kiếm thu thập thông tin /admin/ folder của bạn, nó sẽ trông như sau:

User-agent: *

Disallow: /admin/

 

Tiếp tục xây dựng các chỉ thị cho đến khi bạn cảm thấy hài lòng với những gì mình có. Lưu tệp của bạn dưới dạng “robots.txt”.

Nơi đặt tệp robots.txt của bạn

Đặt tệp robots.txt vào thư mục gốc của tên miền phụ mà nó áp dụng.

Ví dụ: Để kiểm soát hành vi thu thập thông tin trên domain.com, tệp robots.txt phải truy cập được tại domain.com/robots.txt.

Nếu bạn muốn kiểm soát việc thu thập thông tin trên một miền phụ như blog.domain.com, thì tệp robots.txt phải truy cập được tại blog.domain.com/robots.txt.

Các cú pháp thông dụng

– Cho phép dò và index toàn bộ trang và các thư mục, các file

Allow: /

Hoặc

User-agent: *

Disallow:

 – Chặn không cho phép bot truy cập và index toàn bộ website

Disallow: /

– Chặn toàn bộ một thư mục và các file, thư mục con trong nó

Disallow: /abc/

– Chặn một trang cố định

Disallow: /abc.html

– Chặn một loại file cố định từ một bot của công cụ tìm kiếm

User-agent: Googlebot

Disallow: /*.doc$ (thay doc bằng jpg hoặc bất kì file nào muốn chặn)

– Chặn một hình không cho Googlebot-Image index

User-agent: Googlebot-Image

Disallow: /abc/def.jpg

– Chặn không cho một bot bất kỳ truy cập

User-agent: Googlebot

Disallow: /

Trên đây là một số lệnh cơ bản khi bạn cần thêm vào file robots.txt. Tùy theo nhu cầu của các bạn mà thêm vào những lệnh cần thiết.

– Ngăn chặn lập chỉ mục của trang web bằng một trình crawl dữ liệu web cụ thể

   User-agent: Bot1 

   Disallow: / 

– Cho phép lập chỉ mục cho trình thu thập dữ liệu web cụ thể và ngăn chỉ mục từ người khác

User-agent: Opera 9 

Allow: / 

User-agent: * 

Disallow: / 

– Loại bỏ loại trừ hình ảnh

+ Tệp robot.txt mặc định trong một số phiên bản CMS được thiết lập để loại trừ thư mục hình ảnh của bạn. Vấn đề này không xảy ra trong các phiên bản CMS mới nhất, nhưng cần kiểm tra các phiên bản cũ hơn.

+ Loại trừ này có nghĩa là hình ảnh của bạn sẽ không được lập chỉ mục và đưa vào Tìm kiếm hình ảnh của Google, đây là điều bạn muốn, vì nó làm tăng thứ hạng SEO của bạn. 

+ Nếu bạn muốn thay đổi điều này, hãy mở tệp robot.txt của bạn và xóa dòng có nội dung: 

Disallow: /images/ 

– Một số góp ý

+ Không chặn CSS, Javascript và các tệp tài nguyên khác theo mặc định. Điều này ngăn Googlebot hiển thị trang đúng cách và hiểu rằng trang web của bạn được tối ưu hóa cho thiết bị di động.

+ Bạn cũng có thể sử dụng file robots.txt để ngăn các trang cụ thể không được lập chỉ mục, như đăng nhập hoặc trang 404, nhưng điều này được thực hiện tốt hơn bằng cách sử dụng thẻ meta của robot.

+ Việc thêm các câu lệnh không được phép vào tệp robot.txt sẽ không xóa nội dung. Nó chỉ đơn giản là chặn truy cập của trình crawl. Nếu có nội dung mà bạn không muốn hiển thị, tốt hơn là sử dụng meta noindex.

+ Theo quy định, không bao giờ sử dụng tệp robot.txt để xử lý nội dung trùng lặp. Có nhiều cách tốt hơn như thẻ Rel = canonical.

– Chặn trên cơ sở cấu trúc trang web của bạn

– Mỗi blog có thể được cấu trúc theo nhiều cách khác nhau: 

  1. a) Trên cơ sở các danh mục 
  2. b) Trên cơ sở các thẻ 
  3. c) Trên cơ sở cả hai – không ai trong số đó 
  4. d) Trên cơ sở lưu trữ dựa trên ngày 

– Cụ thể

  1. a) Nếu trang web của bạn có cấu trúc danh mục, bạn không cần phải lưu trữ Thẻ được lập chỉ mục.Tìm cơ sở thẻ của bạn trong trang tùy chọn Permalinks trong menu Cài đặt. Nếu trường được để trống, cơ sở thẻ chỉ đơn giản là ‘tag’: 

   Disallow: /tag/ 

  1. b) Nếu trang web của bạn có cấu trúc thẻ, bạn cần chặn lưu trữ danh mục. Tìm cơ sở danh mục của bạn và sử dụng chỉ thị sau: 

   Disallow: /category/ 

  1. c) Nếu bạn sử dụng cả danh mục và thẻ, bạn không cần sử dụng bất kỳ chỉ thị nào. Trong trường hợp bạn không sử dụng bất kỳ ứng dụng nào trong số đó, bạn cần chặn cả hai: 

    Disallow: /tags/ 

    Disallow: /category/ 

  1. d) Nếu trang web của bạn được cấu trúc trên cơ sở lưu trữ dựa trên ngày, bạn có thể chặn những trang đó theo các cách sau: 

  Disallow: /2010/ 

  Disallow: /2011/ 

  Disallow: / 2012/ 

  Disallow: /2013/ 

LƯU Ý: Bạn không thể sử dụng Disallow: / 20 * / ở đây vì một lệnh như vậy sẽ chặn mọi bài đăng trên blog hoặc trang bắt đầu bằng số ’20’. 

– Sử dụng Robots.txt để chặn các bot không crawl kết quả tìm kiếm của WordPress

Một tweak dành riêng cho WordPress là ngăn việc crawl trang kết quả tìm kiếm. Theo mặc định, WordPress sử dụng tham số truy vấn “?s=”. Do đó, để chặn các truy cập, ta chỉ cần thêm vào quy tắc sau:

User-agent: *

Disallow: /?s=

Disallow: /search/

 

Các phương pháp hay nhất về Robots.txt

Bạn hãy ghi nhớ về điều này để tránh khỏi những sai lầm thường gặp.

Sử dụng một dòng mới cho mỗi chỉ thị

Mỗi chỉ thị nên được nằm trên một dòng mới. Nếu không, có thể nó sẽ gây ra sự nhầm lẫn đối với các công cụ tìm kiếm.

Bad:

User-agent: * Disallow: /directory/ Disallow: /another-directory/

Good:

User-agent: *

Disallow: /directory/

Disallow: /another-directory/

Sử dụng các ký tự đại diện để đơn giản hóa hướng dẫn

Bạn không chỉ có thể sử dụng ký tự đại diện (*) để áp dụng lệnh đối với tất cả user-agents mà còn để khớp với các mẫu URL khi thực hiện khai báo lệnh.

Ví dụ: Nếu bạn muốn ngăn công cụ tìm kiếm truy cập vào URL danh mục sản phẩm được tham số hóa trên trang web của mình, bạn có thể liệt kê chúng ra như sau:

User-agent: *

Disallow: /products/t-shirts?

Disallow: /products/hoodies?

Disallow: /products/jackets?

Nhưng tôi cho rằng điều đó không hiệu quả lắm. Sẽ tốt hơn nếu bạn đơn giản hóa mọi thứ bằng một ký tự đại diện như thế này:

User-agent: *

Disallow: /products/*?

 

Ví dụ này sẽ chặn các công cụ tìm kiếm thu thập thông tin tất cả các URL trong subfolder / product / có chứa dấu chấm hỏi.

Nói theo cách khác, bất kỳ URL danh mục sản phẩm được tham số hóa.

Sử dụng “$” để chỉ định phần cuối của một URL

Bao gồm biểu tượng “$” nhằm để đánh dấu phần cuối của một URL. Ví dụ: Nếu bạn muốn ngăn các công cụ tìm kiếm truy cập vào tất cả các tệp .pdf trên trang web của mình, tệp robots.txt của bạn có thể sẽ trông giống như sau:

User-agent: *

Disallow: /*.pdf$

Trong ví dụ này, công cụ tìm kiếm không thể truy cập bất kỳ URL nào kết thúc bằng .pdf.

Điều đó có nghĩa là họ không thể truy cập vào /file.pdf, nhưng họ có thể truy cập /file.pdf?id=68937586 vì nó không được kết thúc bằng “.pdf” .

Chỉ sử dụng mỗi User-agent một lần

Nếu bạn chỉ định dùng cùng một user-agent nhiều lần, Google sẽ không bận tâm về điều đó. Nó sẽ chỉ kết hợp tất cả các quy tắc từ khai báo khác nhau thành một và tuân theo tất cả.

Ví dụ: Nếu bạn có các chỉ thị và user-agent sau trong tệp robots.txt của mình…

User-agent: Googlebot

Disallow: /a/

User-agent: Googlebot

Disallow: /b/

Googlebot sẽ không thu thập thông tin một trong các thư mục đó.

Điều đó nói rằng, sẽ là hợp lý nếu chỉ khai báo mỗi user-agent một lần vì nó sẽ gây ít nhầm lẫn hơn. Nói cách khác, bạn sẽ ít mắc phải những sai lầm nghiêm trọng hơn bằng cách giữ mọi thứ gọn gàng và đơn giản.

Sử dụng tính cụ thể để tránh khỏi các lỗi không cố ý

Việc không cung cấp hướng dẫn cụ thể khi thiết lập chỉ thị có thể dẫn tới những sai lầm dễ bỏ sót và gây ra ảnh hưởng nghiêm trọng đến SEO.

Ví dụ: Giả sử rằng bạn có một trang web đa ngôn ngữ và bạn đang làm việc trên một phiên bản bằng tiếng Đức sẽ có sẵn trong thư mục con / de /.

Bởi vì nó chưa sẵn sàng hoạt động, bạn muốn ngăn các công cụ tìm kiếm truy cập vào nó.

Tệp robots.txt bên dưới sẽ ngăn các công cụ tìm kiếm truy cập vào thư mục con đó và mọi thứ trong đó:

User-agent: *

Disallow: /de

Nhưng nó cũng sẽ ngăn các công cụ tìm kiếm thu thập thông tin của bất kỳ trang hay tệp nào được bắt đầu bằng /de.

Ví dụ:

/designer-dresses/

/delivery-information.html

/depeche-mode/t-shirts/

/definitely-not-for-public-viewing.pdf

Trong trường hợp này, giải pháp sẽ rất đơn giản, chỉ cần thêm vào một dấu gạch chéo.

User-agent: *

Disallow: /de/

Sử dụng nhận xét để giải thích tệp robots.txt của bạn với con người

Nhận xét giúp giải thích robots.txt của bạn cho các nhà phát triển – và thậm chí có thể là chính bạn trong tương lai. Để bao gồm nhận xét, hãy bắt đầu dòng bằng dấu thăng (#).

# This instructs Bing not to crawl our site.

User-agent: Bingbot

Disallow: /

Trình thu thập thông tin sẽ bỏ qua mọi thứ ở trên các dòng bắt đầu bằng dấu (#).

Sử dụng tệp robots.txt riêng biệt cho từng Subdomain

Robots.txt chỉ kiểm soát hành vi thu thập thông tin trên miền phụ, nơi nó được lưu trữ. Nếu bạn muốn kiểm soát việc thu thập thông tin trên một miền phụ khác, bạn sẽ cần một tệp robots.txt riêng biệt.

Ví dụ: Nếu trang web chính bạn nằm trên domain.com và blog của bạn nằm trên blog.domain.com, thì bạn sẽ cần hai tệp robots.txt. Một cái nên đi vào thư mục gốc của miền chính và cái kia trong thư mục gốc của blog.

Cách kiểm tra Robots.txt để tìm ra các vấn đề

Các lỗi của Robots.txt có thể lọt qua được khá dễ dàng, vì vậy bạn cần phải chú ý để theo dõi các vấn đề.

Để thực hiện công việc này, hãy thường xuyên kiểm tra các vấn đề liên quan tới robots.txt trong báo cáo “Coverage” trong Search Console. Dưới đây là một số lỗi bạn có thể gặp phải, ý nghĩa của chúng và cách mà bạn có thể sửa chúng.

Bạn cần kiểm tra các lỗi liên quan đến một trang nào đó?

 

Dán URL vào công cụ Kiểm tra URL của Google trong Search Console. Nếu nó bị chặn bởi robots.txt, bạn sẽ thấy một cái gì đó giống như sau:

 

URL đã gửi bị chặn bởi robots.txt

 

Điều này có nghĩa là ít nhất một trong các URL trong (các) sơ đồ trang web đã gửi của bạn đã bị robots.txt chặn.

Nếu bạn đã tạo sơ đồ trang web của mình một cách chính xác và loại trừ các trang được gắn canonical, không được lập chỉ mục và được redirect, thì không có trang nào được gửi sẽ bị robots.txt chặn. Nếu đúng như vậy, hãy kiểm tra xem trang nào đang bị ảnh hưởng, sau đó điều chỉnh tệp robots.txt của bạn sao cho phù hợp để xóa cho trang đó.

Bạn có thể sử dụng Google’s Robots.txt Tester để xem chỉ thị nào đang chặn nội dung. Chỉ cần cẩn thận khi thực hiện điều này. Rất dễ mắc lỗi ảnh hưởng đến các trang và tệp khác.

Bị chặn bởi robots.txt

Điều này có nghĩa là bạn đang có nội dung bị chặn bởi robots.txt hiện không được lập chỉ mục trong Google.

Nếu nội dung này quan trọng và cần được lập chỉ mục, hãy xóa khối thu thập thông tin trong robots.txt. (Cũng cần đảm bảo rằng nội dung không được lập chỉ mục).

Nếu bạn đã chặn nội dung trong robots.txt với ý định loại trừ nội dung đó khỏi chỉ mục của Google, hãy xóa khối thu thập thông tin và thay vào đó sử dụng Meta Robots Tag hoặc X-Robots Title. Đó là cách duy nhất để đảm bảo loại trừ nội dung ra khỏi chỉ mục của Google.

Chú thích: Việc loại bỏ khối thu thập thông tin khi cố gắng loại trừ một trang ra khỏi kết quả tìm kiếm là rất quan trọng. Nếu không thực hiện được điều này và Google sẽ không nhìn thấy thẻ noindex hoặc Title HTTP – vì vậy, nó sẽ vẫn được lập chỉ mục.

Đã lập chỉ mục, mặc dù bị chặn bởi robots.txt

Điều này có nghĩa là một số nội dung đã bị robots.txt chặn vẫn được lập chỉ mục trong Google.

Một lần nữa, nếu bạn đang cố gắng loại trừ nội dung này ra khỏi kết quả tìm kiếm của Google, thì robots.txt không phải là giải pháp chính xác. Xóa khối thu thập thông tin và thay vào đó sử dụng Meta Robots Tag hoặc Title HTTp X-Robots để ngăn lập chỉ mục.

Nếu bạn vô tình chặn nội dung này và muốn giữ nó trong chỉ mục của Google, hãy xóa khối thu thập thông tin trong robots.txt. Điều này có thể giúp bạn cải thiện khả năng hiển thị của nội dung ở trong tìm kiếm của Google.

Robots.txt so với Meta Robots với X-robots

Có quá nhiều Robots ở đây, sự khác biệt giữa ba loại robot này là gì? Trước hết, robots.txt là một tệp văn bản thực, trong khi meta và x-robot là các lệnh meta. Ngoài những điều chúng thực sự là gì? Thì cả ba đều phục vụ các chức năng khác nhau. Robots.txt ra lệnh cho hành vi thu thập thông tin trên toàn bộ trang web hoặc thư mục, trong khi đó meta và x-robot có thể ra lệnh cho hành vi lập chỉ mục ở cấp độ trang riêng lẻ (hoặc phần tử trang).

Khắc phục lỗi “Đã chặn bởi robots.txt vẫn bị lập chỉ mục” trong GSC

Đã chặn bởi robots.txt vẫn bị lập chỉ mục (“indexed, though blocked by robots.txt”) trong Google Search Console (GSC) xảy ra khi mà Google index (lập chỉ mục) các URL mà họ không được phép thu thập thông tin từ người làm SEO hay nhà quản trị website.

Ở trong hầu hết các trường hợp, đây chỉ là một vấn đề hết sức đơn giản khi mà bạn đã thực hiện việc chặn thu thập thông tin ở trong tệp robots.txt của mình.

Tuy nhiên, lại có một số tác động bên ngoài khác có thể đã gây ra sự cố này, vì vậy chúng ta hãy cùng thực hiện quy trình khắc phục sự cố dưới đây nhằm chẩn đoán và khắc phục lại mọi thứ sớm, hiệu quả nhất có thể:

Bước đầu tiên, bạn cần phải tự hỏi chính bản thân xem liệu là bạn có muốn Google lập chỉ mục cho URL này hay không.

Nếu bạn không muốn URL được Google lập chỉ mục

Bạn chỉ cần thêm thẻ noindex meta robots và đảm bảo cho phép việc thu thập thông tin – giả sử đây là thẻ Canonical.

Nếu như bạn chặn việc thu thập thông tin trên một trang, thì Google vẫn có thể lập chỉ mục trang đó vì thu thập thông tin và lập chỉ mục (index) là hai việc khác nhau. Trừ khi Google có thể thu thập dữ liệu trên một trang, họ sẽ không nhìn thấy thẻ meta ngăn lập chỉ mục mà vẫn tiếp tục lập chỉ mục cho trang đó vì nó có liên kết.

Nếu URL này chuẩn hóa cho một trang khác, đừng thêm thẻ noindex meta robots. Chỉ cần đảm bảo có sẵn các tín hiệu chuẩn hóa phù hợp, bao gồm cả thẻ Canonical trên trang ‘chuẩn’ và cho phép việc thu thập thông tin để các tín hiệu được đi qua và hợp nhất một cách chính xác.

Nếu bạn muốn URL được Google lập chỉ mục

Bạn cần tìm hiểu về lý do tại sao mà Google lại không thể thu thập dữ liệu URL đó và xóa chúng.

Nguyên nhân rất có thể là do khối thu thập thông tin trong robots.txt. Tuy nhiên, có một vài trường hợp khác mà bạn có thể thấy thông báo cho biết rằng bạn đang bị chặn.

Hãy xem qua những thứ dưới đây dựa theo thứ tự mà bạn có thể tìm kiếm chúng:

  • Kiểm tra khối thu thập thông tin có trong robots.txt
  • Kiểm tra các khối ngắt quãng
  • Kiểm tra các khối tác nhân từ phía người dùng
  • Kiểm tra các khối IP

Kiểm tra khối thu thập thông tin trong robots.txt

Cách dễ dàng nhất để xem được vấn đề này là sử dụng trình Kiểm tra robots.txt có trong GSC, trình Kiểm tra này sẽ gắn cờ quy tắc chặn cho bạn.

Nếu như bạn biết được mình đang cần tìm gì hay bạn không có quyền truy cập vào GSC, bạn có thể điều hướng tới domain.com/robots.txt để tìm tệp. Tuy nhiên, bạn có thể đang tìm kiếm một tuyên bố ‘không cho phép’ như:

Disallow: /

Ngoài ra, có thể có một tác nhân từ phía người dùng cụ thể đã được đề cập hoặc có thể là nó đã chặn tất cả mọi người. Nếu như trang web của bạn là mới hoặc mới được ra mắt gần đây, rất có thể bạn sẽ muốn tìm:

User-agent: *

Disallow: /

KHÔNG TÌM THẤY SỰ CỐ NÀO? Có thể đã có ai đó sửa khối robots.txt và giải quyết các vấn về này trước khi bạn xem xét vấn đề. Đây là tình huống tốt nhất. Tuy nhiên, nếu như sự cố dường như đã được giải quyết nhưng nó lại xuất hiện ngay sau đó, thì rất có thể bạn đã gặp phải lỗi các khối ngắt quãng (intermittent blocks).

Làm thế nào để khắc phục được điều này

Có thể, bạn sẽ muốn xóa câu lệnh disallow gây ra khối thu thập thông tin. Tuy nhiên, cách mà bạn thực hiện việc này sẽ rất khác nhau, tùy thuộc vào nền tảng mà bạn đang sử dụng.

Nền tảng WordPress

Nếu như sự cố gây ảnh hưởng tới toàn bộ trang web của bạn, thì nguyên nhân rất có thể là do bạn đã vào mục Settings trong WordPress để ngăn việc lập chỉ mục. Lỗi này thường xảy ra đối với các trang web mới hoặc sau các lần bạn di chuyển trang web.

Hãy thực hiện theo các bước dưới đây để khắc phục:

  1. Nhấp vào mục ‘Settings’
  2. Nhấp vào ‘Reading’
  3. Đảm bảo rằng phần ‘Search Engine Visibility’ đã được bỏ chọn.
WordPress với Yoast

Nếu bạn đang sử dụng plugin Yoast SEO, bạn hoàn toàn có thể chỉnh sửa trực tiếp tệp robots.txt để thực hiện việc xóa câu lệnh chặn.

  1. Nhấp vào ‘Yoast SEO’
  2. Nhấp vào phần ‘Công cụ’
  3. Nhấp vào ‘Trình chỉnh sửa tệp’
WordPress với Rank Math

Cũng tương tự như Yoast, Rank Math cho phép người dùng chỉnh sửa trực tiếp tệp robots.txt và thực hiện như sau:

  1. Nhấp vào ‘Rank Math’
  2. Nhấp vào ‘Cài đặt chung’
  3. Nhấp vào ‘Chỉnh sửa robots.txt’
FTP hoặc Hosting

Nếu bạn có quyền truy cập vào FTP của trang web, bạn có thể chỉnh sửa tệp robots.txt một cách trực tiếp để xóa tuyên bố không cho phép xảy ra sự cố. Nhà cung cấp dịch vụ lưu trữ của bạn có thể cấp cho bạn quyền truy cập vào Trình quản lý tệp, cho phép bạn truy cập trực tiếp vào tệp robots.txt.

 

Kiểm tra các khối ngắt quãng

Các sự cố về gián đoạn có thể sẽ khó khắc phục hơn, nguyên do các điều kiện gây ra khối ngắt quãng có thể không phải lúc nào cũng xuất hiện.

Điều mà tôi có thể khuyên bạn là nên kiểm tra lịch sử robots.txt của mình.

Ví dụ: Trong Trình kiểm tra robots.txt của GSC, khi bạn nhấp vào menu thả xuống, bạn sẽ thấy được các phiên bản trước đây của tệp và có thể nhấp vào xem chúng đang chứa những gì.

Công cụ Wayback Machine trên archive.org cũng có lịch sử của các tệp robots.txt dành cho những trang web mà chúng thu thập thông tin. Bạn có thể chọn vào bất kỳ ngày nào mà họ có dữ liệu và xem trong tệp đó bao gồm những gì vào một ngày cụ thể đó.

Hoặc bạn có thể sử dụng phiên bản beta của ‘the Changes report’, nơi cho phép bạn dễ dàng xem các thay đổi về mặt nội dung giữa hai phiên bản khác nhau.

Làm thế nào để khắc phục được chúng

Quá trình khắc phục các khối giai đoạn sẽ phụ thuộc vào nguyên nhân gây ra sự cố đó.

Ví dụ: Một nguyên nhân có thể xảy ra là do bộ đệm được chia sẻ giữa môi trường thử nghiệm và môi trường thực tế. Khi bộ đệm ẩn đi môi trường thử nghiệm trong trạng thái đang hoạt động, rất có thể tệp robots.txt đã bao gồm cả lệnh chặn.

Và khi bộ nhớ cache từ môi trường thực tế đi vào hoạt động, trang web đó có thể thu thập dữ liệu được. Ở trong trường hợp này, có thể bạn muốn tách bộ nhớ cache hoặc loại trừ các tệp .txt khỏi bộ nhớ cache trong môi trường thử nghiệm.

Kiểm tra các khối tác nhân từ phía người dùng

Chặn các tác nhân từ phía người dùng là khi một website chủ động chặn một tác nhân người dùng cụ thể như Googlebot hoặc AhrefsBot. Nói theo cách khác, trang web đang phát hiện một bot cụ thể và thực hiện việc chặn các tác nhân tương ứng.

Nếu bạn có thể xem một trang tốt ở ngay trong trình duyệt thông thường của mình nhưng lại bị chặn sau khi thay đổi tác nhân người dùng của mình, thì điều đó có nghĩa là tác nhân người dùng cụ thể mà bạn nhập vào đã bị chặn.

Bạn có thể chỉ định một tác nhân người dùng cụ thể thông qua cách sử dụng Chrome devtools. Một tùy chọn khác mà bạn có thể chọn là sử dụng tiện ích mở rộng của trình duyệt để thay đổi tác nhân người dùng giống như tùy chọn này.

Ngoài ra, bạn có thể kiểm tra các khối tác nhân người dùng bằng lệnh cURL dưới đây và đây là cách thực hiện (trên Windows):

  1. Nhấn Windows + R để mở “Run”.
  2. Nhập “cmd” và sau đó nhấn “OK”.
  3. Bạn nhập một lệnh cURL như sau:

curl -A “user-agent-name-here” -Lv [URL]

curl -A “Mozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/)” -Lv https://ahrefs.com

Làm thế nào để khắc phục được chúng

Thật không may, đây là một lỗi mà việc biết được cách khắc phục sẽ phụ thuộc vào nơi mà bạn tìm thấy khối tác nhân đó. Trên nhiều hệ thống khác nhau có thể chặn bot, bao gồm .htaccess, cấu hình máy chủ, tường lửa, CDN hoặc thậm chí một số thứ mà bạn có thể không tìm thấy được, thứ mà nhà cung cấp dịch vụ lưu trữ của bạn đang kiểm soát.

Cách tốt nhất mà bạn có thể làm là liên hệ với nhà cung cấp dịch vụ lưu trữ hoặc CDN của bạn và hỏi họ xem khối tác nhân này đến từ đâu và cách mà bạn có thể giải quyết nó.

Ví dụ: Đây là hai cách khác nhau để chặn tác nhân người dùng trong .htaccess mà bạn có thể cần tìm.

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} Googlebot [NC]

RewriteRule .* – [F,L]

Hoặc…

BrowserMatchNoCase “Googlebot” bots

Order Allow,Deny

Allow from ALL

Deny from env=bots

Kiểm tra các khối IP

Nếu bạn đã xác nhận được rằng mình không bị robots.txt chặn và loại trừ các khối tác nhân người dùng, thì rất có thể đó là một khối IP.

Làm thế nào để khắc phục được nó

Các khối IP là vấn đề khó có thể theo dõi. Đối với các khối tác nhân người dùng, cách tốt nhất là bạn có thể liên hệ với nhà cung cấp dịch vụ lưu trữ hoặc CDN và hỏi họ xem khối này đến từ đâu và bạn có thể giải quyết chúng như thế nào.

Dưới đây là một ví dụ mà bạn có thể đang tìm kiếm trong .htaccess:

deny from 123.123.123.123

Sử dụng Sitemap trên Haravan

Làm thế nào để xem được một sitemap? Khi Nhà bán hàng sử dụng website của Haravan, mọi thứ thật đơn giản.

Sitemap của website Nhà bán hàng sử dụng tại Haravan là được tạo thành tự động và không cần chỉnh sửa hay thao tác.

Nhà bán hàng chỉ cần truy cập đường dẫn theo cú pháp sau: <tên website>/robots.txt