Vì sao website của tôi không xuất hiện trong Perplexity?

Đăng ngày

Trả lời ngắn

Perplexity chỉ có thể hiển thị và dẫn liên kết tới những trang mà PerplexityBot được phép thu thập và thực sự nhận được. Nguyên nhân thường gặp là quy tắc robots.txt cấm PerplexityBot, tường lửa hoặc CDN trả về 403 hay trang thử thách cho bot này, và văn bản chỉ xuất hiện sau khi JavaScript chạy. Hãy kiểm tra cả ba, rồi cho phép các dải IP mà Perplexity công bố.

Bạn hỏi Perplexity về sản phẩm của mình, và nó trích dẫn một đối thủ, một trang đánh giá hoặc một chủ đề diễn đàn, nhưng không bao giờ trích dẫn trang của bạn. Đôi khi đó là vấn đề về mức độ liên quan. Thường thì đó là một rào cản kỹ thuật mà bạn có thể tìm ra trong vài phút. Perplexity công bố tài liệu về các agent mà họ dùng, vai trò của từng agent và lưu lượng đến từ đâu, nên bạn có thể kiểm tra từng mắt xích: robots.txt, phản hồi mà máy chủ của bạn gửi đi, và nội dung của phản hồi đó.

Trong trang này
  1. Perplexity tìm và đọc các trang như thế nào?
  2. robots.txt của bạn có đang chặn PerplexityBot không?
  3. Tường lửa hoặc CDN của bạn có đang chặn Perplexity không?
  4. Làm sao cho phép Perplexity theo các dải IP đã công bố?
  5. Việc hiển thị bằng JavaScript có thể khiến Perplexity không đọc được trang không?
  6. Nếu mọi thứ đều mở mà website vẫn không xuất hiện thì sao?

Perplexity tìm và đọc các trang như thế nào?

Perplexity công bố tài liệu về hai agent. Chúng có nhiệm vụ khác nhau, và sự cố ở một trong hai đều có thể khiến trang của bạn không xuất hiện trong câu trả lời.

Trên thực tế, PerplexityBot quyết định việc Perplexity có biết về các trang của bạn trước khi có ai hỏi hay không, còn Perplexity-User quyết định việc nó có mở được một trang trực tiếp khi câu hỏi cần hay không. Nếu bạn muốn được trích dẫn, cả hai nên nhận cùng trang mà trình duyệt nhận được.

robots.txt của bạn có đang chặn PerplexityBot không?

Mở https://yourdomain.com/robots.txt và tìm nhóm có nêu tên PerplexityBot. Nếu không có, trình thu thập dữ liệu sẽ theo nhóm User-agent: *. Theo RFC 9309, việc so khớp không phân biệt chữ hoa chữ thường, và một nhóm được nêu tên sẽ thay thế hoàn toàn nhóm * chứ không bổ sung vào đó.

Việc chặn này khá phổ biến. Trong nghiên cứu của chúng tôi về robots.txt của 1.000 tên miền phổ biến nhất, 86 trong số 518 website có robots.txt (16,6%) cấm trang chủ đối với PerplexityBot. Đó là tỷ lệ cao nhất trong số các trình thu thập dữ liệu tìm kiếm AI mà chúng tôi kiểm tra; OAI-SearchBot bị chặn trên 58 website (11,2%). Một số website này có thể chỉ muốn ngăn việc huấn luyện AI, nhưng Perplexity cho biết PerplexityBot không phải là trình thu thập dữ liệu huấn luyện, nên chặn nó làm mất khả năng hiển thị trong tìm kiếm mà không phục vụ mục tiêu đó.

Một thiết lập cho Perplexity vào và vẫn đóng một khu vực riêng tư trông như sau:

User-agent: PerplexityBot
Allow: /
Disallow: /account/

User-agent: *
Allow: /
Disallow: /account/

Sitemap: https://example.com/sitemap.xml

Hãy kiểm tra thêm là bản thân tệp có phản hồi đúng hay không. Nếu robots.txt trả về lỗi máy chủ, RFC 9309 quy định trình thu thập dữ liệu phải coi như toàn bộ website bị cấm. Một địa chỉ robots.txt trả về trang HTML với mã 200 không chứa quy tắc hợp lệ nào. Perplexity cho biết các thay đổi có thể mất tới 24 giờ để được phản ánh.

Tường lửa hoặc CDN của bạn có đang chặn Perplexity không?

robots.txt là một đề nghị, không phải kiểm soát truy cập. Tường lửa, CDN hoặc lớp chống bot của bạn mới quyết định điều gì thực sự được gửi lại, và chúng có thể trả lời Perplexity bằng 403, 429 hoặc một trang thử thách trong khi các lần bạn tự truy cập bằng trình duyệt vẫn bình thường. Tài liệu của Perplexity cho biết các website đứng sau tường lửa ứng dụng web (WAF) có thể cần cho phép bot của họ một cách rõ ràng.

Hãy kiểm tra bằng cách yêu cầu cùng một URL với tư cách trình duyệt và với từng agent của Perplexity, rồi so sánh mã trạng thái và kích thước:

for UA in "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" \
          "Mozilla/5.0 (compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)" \
          "Mozilla/5.0 (compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user)"; do
  curl -s -o /dev/null -w "%{http_code} %{size_download}\n" -A "$UA" https://example.com/page
done

Mã 403, 429 hoặc 503 chỉ dành cho các agent của Perplexity, một trang có tiêu đề Just a moment..., hoặc một phản hồi 200 nhỏ hơn nhiều so với phản hồi cho trình duyệt, tất cả đều chỉ về tường lửa. Bài kiểm tra này xuất phát từ địa chỉ IP của bạn chứ không phải của Perplexity, nên nó chỉ cho thấy các quy tắc của bạn đối xử với user agent ra sao; các quy tắc dựa trên IP vẫn có thể khác đối với trình thu thập dữ liệu thật.

Nếu bạn dùng Cloudflare, hãy lưu ý hai điều. Tài liệu của Perplexity nhắc lại chính tuyên bố của Cloudflare rằng Bot Fight Mode không thể bị bỏ qua bằng các quy tắc tùy chỉnh của WAF, nên nếu tính năng đó thử thách Perplexity thì quy tắc cho phép sẽ không giúp được gì. Và vào tháng 8 năm 2025, Cloudflare cho biết họ đã loại Perplexity khỏi danh sách bot được xác minh sau khi quan sát thấy hoạt động mà họ mô tả là thu thập dữ liệu không khai báo; Perplexity phản bác cách mô tả này. Vì vậy, các quy tắc chỉ cho phép bot được xác minh đi qua có thể không bao gồm Perplexity. Hãy xem trạng thái hiện tại trong bảng điều khiển của bạn thay vì giả định.

Làm sao cho phép Perplexity theo các dải IP đã công bố?

Ai cũng có thể gửi một yêu cầu tự xưng là PerplexityBot, nên một quy tắc cho phép chỉ khớp theo user agent cũng cho phép cả những kẻ giả mạo đi qua. Perplexity công bố dải địa chỉ của cả hai agent và khuyên nên khớp đồng thời user agent và địa chỉ IP:

curl -s https://www.perplexity.ai/perplexitybot.json | jq -r '.prefixes[] | .ipv4Prefix // .ipv6Prefix'
curl -s https://www.perplexity.ai/perplexity-user.json | jq -r '.prefixes[] | .ipv4Prefix // .ipv6Prefix'

Perplexity cho biết các danh sách này được cập nhật thường xuyên và đề xuất tự động hóa việc cập nhật các quy tắc WAF của bạn. Hãy đặt quy tắc cho phép phía trên mọi quy tắc chặn hoặc thử thách yêu cầu: đứng đầu trong các quy tắc tùy chỉnh của Cloudflare, hoặc với số ưu tiên thấp hơn trong AWS WAF. Sau đó hãy theo dõi nhật ký, vì các thay đổi tường lửa có thể cần thời gian để lan truyền.

Việc hiển thị bằng JavaScript có thể khiến Perplexity không đọc được trang không?

Có thể. Tài liệu về trình thu thập dữ liệu của Perplexity không nói các agent của họ có chạy JavaScript hay không, nên giả định an toàn là văn bản mà trình thu thập dữ liệu cần phải có trong HTML do máy chủ gửi đi. Các trang được dựng hoàn toàn trong trình duyệt, chẳng hạn ứng dụng một trang (SPA) không có kết xuất phía máy chủ, có thể đến nơi như một lớp vỏ trống với biểu tượng đang tải.

Một cách kiểm tra nhanh là tải trang bằng curl và tìm trong kết quả một câu của nội dung chính. Nếu không thấy, văn bản đó do script thêm vào. Kết xuất phía máy chủ, tạo trang tĩnh hoặc prerender cho trình thu thập dữ liệu sẽ khắc phục việc này cho mọi trình thu thập dữ liệu AI cùng lúc, không chỉ Perplexity.

Nếu mọi thứ đều mở mà website vẫn không xuất hiện thì sao?

Đọc được là điều kiện cần, không phải sự đảm bảo. Perplexity không công bố cách họ chọn nguồn để trích dẫn, nên một trang mà mọi agent đều đọc được vẫn có thể thua những trang trả lời câu hỏi trực tiếp hơn. Điều bạn kiểm soát được là không có gì về mặt kỹ thuật cản đường: tiêu đề trang rõ ràng, câu trả lời được nêu sớm trong văn bản, và thông tin chính xác, khớp với những gì bạn nói ở nơi khác.

Cũng nên nhớ những gì robots.txt không bao phủ. Perplexity cho biết Perplexity-User nhìn chung bỏ qua robots.txt vì người dùng đã yêu cầu việc tải trang. Vì vậy, một quy tắc cho Perplexity-User không phải cách đáng tin cậy để chặn các lượt truy cập trực tiếp, và một robots.txt cho phép nó không chứng minh rằng nó vượt qua được tường lửa của bạn.

AISeeWhy yêu cầu trang của bạn với tư cách PerplexityBot, Perplexity-User và 12 trình thu thập dữ liệu khác bên cạnh một trình duyệt, áp dụng các quy tắc robots.txt của bạn cho từng bot, nhận diện các trang thử thách và cho biết bao nhiêu văn bản đến nơi mà không cần JavaScript, để bạn thấy mắt xích nào bị đứt.

Câu hỏi thường gặp

Perplexity có huấn luyện mô hình bằng nội dung của tôi không?

Perplexity cho biết PerplexityBot không được dùng để thu thập nội dung cho các mô hình nền tảng AI và Perplexity-User không thu thập nội dung để huấn luyện. Vì vậy, cấm PerplexityBot không có tác dụng như một lựa chọn từ chối huấn luyện; nó chỉ làm giảm khả năng hiển thị của bạn trong kết quả tìm kiếm của Perplexity.

Sau khi tôi sửa robots.txt, bao lâu thì Perplexity nhận ra?

Perplexity cho biết hệ thống của họ có thể mất tới 24 giờ để phản ánh các thay đổi của robots.txt. Thay đổi tường lửa có hiệu lực khi nhà cung cấp của bạn áp dụng, nhưng hãy cho trình thu thập dữ liệu thời gian quay lại trước khi đánh giá kết quả.

Tôi có thể chặn Perplexity-User bằng robots.txt không?

Không đáng tin cậy. Perplexity cho biết trình tải trang này nhìn chung bỏ qua robots.txt vì người dùng đã yêu cầu việc tải. Nếu cần ngăn nó, quy tắc tường lửa khớp theo các dải IP mà họ công bố là cách kiểm soát đáng tin cậy.

Chỉ kiểm tra user agent có đủ để nhận diện lưu lượng của Perplexity không?

Không. User agent rất dễ sao chép. Hãy so sánh IP nguồn với các dải mà Perplexity công bố trong perplexitybot.json và perplexity-user.json, và khớp cả user agent lẫn IP trong các quy tắc tường lửa.

Nguồn tham khảo

Bài viết khác