Phân phát động

Phân phát động là một cách thiết lập trong đó máy chủ phân phát HTML (và CSS) khác nhau trên cùng một URL tùy thuộc vào tác nhân người dùng đang yêu cầu trang (thiết bị di động, máy tính bảng hoặc máy tính để bàn).

Vì việc trang web phân phát HTML khác cho tác nhân người dùng trên thiết bị di động (nội dung trên thiết bị di động bị "ẩn" khi quy trình thu thập dữ liệu do tác nhân người dùng cho máy tính để bàn thực hiện) sẽ không rõ ràng ngay lập tức, nên máy chủ cần gửi thông tin gợi ý để yêu cầu Googlebot cho điện thoại thông minh thu thập dữ liệu trang nhằm phát hiện nội dung trên thiết bị di động. Bạn có thể triển khai thông tin gợi ý này bằng cách sử dụng tiêu đề Vary HTTP.

Tính năng phân phát động sẽ gửi mã khác nhau đến mỗi thiết bị, nhưng trên cùng một URL.

TL;DR

  • Sử dụng tiêu đề Vary HTTP để thông báo về thay đổi của bạn tùy thuộc vào tác nhân người dùng.
  • Phát hiện chuỗi tác nhân người dùng một cách chính xác.

Tiêu đề Vary HTTP

Tiêu đề Vary HTTP có hai ứng dụng quan trọng và hữu ích:

  • Tiêu đề này báo hiệu cho các máy chủ (có bộ nhớ đệm) dùng trong ISP và các nơi khác rằng máy chủ nên xem xét tác nhân người dùng khi quyết định có phân phát trang từ bộ nhớ đệm hay không. Nếu không có tiêu đề Vary HTTP, bộ nhớ đệm có thể phân phát nhầm trang HTML dành cho máy tính để bàn đã lưu trong bộ nhớ đệm cho người dùng trên thiết bị di động và ngược lại.
  • Tiêu đề này giúp Googlebot phát hiện nội dung mà bạn đã tối ưu hóa cho thiết bị di động nhanh hơn, vì tiêu đề Vary HTTP hợp lệ là một trong những tín hiệu chúng tôi có thể sử dụng để thu thập dữ liệu các URL cung cấp nội dung được tối ưu hóa cho thiết bị di động.

Tiêu đề Vary HTTP là một phần trong nội dung phản hồi của máy chủ cho một yêu cầu, như trong ví dụ sau:

HTTP/1.1 200 OK
Content-Type: text/html
Vary: User-Agent
Content-Length: 5710
(... rest of HTTP response headers...)

Tiêu đề Vary HTTP cho trình duyệt biết rằng nội dung phản hồi sẽ thay đổi tùy thuộc vào tác nhân người dùng đang yêu cầu trang. Nếu máy chủ của bạn đã sử dụng tiêu đề Vary HTTP, thì bạn có thể thêm User-Agent vào danh sách đã được phân phát.

Phát hiện chính xác tác nhân người dùng

Nhìn chung, việc phát hiện tác nhân người dùng là một kỹ thuật dễ gặp lỗi. Có nhiều lý do gây ra lỗi, nhưng có 3 lý do phổ biến sau đây:

  1. Hệ thống phải có danh sách các chuỗi tác nhân người dùng (hoặc chuỗi con) để so khớp thì mới có thể phát hiện được tác nhân người dùng. Các danh sách như vậy đòi hỏi phải duy trì và cập nhật liên tục và không so khớp với các tác nhân người dùng mới. Trong thực tế, nhiều danh sách như vậy không được duy trì một cách thích hợp và trở nên lỗi thời, do đó tạo ra trải nghiệm kém cho người dùng.
  2. Trường hợp so khớp nhầm rất dễ xảy ra khi so khớp tác nhân người dùng, chẳng hạn như phát hiện một tác nhân người dùng cho máy tính để bàn là tác nhân cho thiết bị di động hoặc ngược lại. Tương tự như vậy, một lỗi phổ biến trên các trang web là vô tình coi các thiết bị máy tính bảng là điện thoại thông minh. Nếu bạn đang triển khai việc phát hiện tác nhân người dùng của các trình duyệt truy cập trang web của mình, hãy chắc chắn rằng quy trình phát hiện đó sẽ tìm các chuỗi dành riêng cho điện thoại thông minh (chẳng hạn như kiểm tra cả hai từ "Android" và "Mobile"), chứ không chỉ các chuỗi chung cho thiết bị di động (chỉ kiểm tra "Android"). Hãy tìm hiểu thêm trong bài đăng trên blog của chúng tôi.

  3. Cẩn thận với kỹ thuật che giấu khi phát hiện tác nhân người dùng. Khi phát hiện tác nhân người dùng, trang web đang phát hiện lớp hoặc loại thiết bị bằng cách tìm tên thiết bị trong chuỗi tác nhân người dùng. Trang không nên tìm kiếm riêng Googlebot. Tất cả các tác nhân người dùng Googlebot đều tự xác định là thiết bị di động cụ thể và bạn nên xử lý các tác nhân người dùng Googlebot này hệt như cách bạn sẽ xử lý các thiết bị này.

    Việc kết xuất trước nội dung cho các trình thu thập dữ liệu như Googlebot không bị xem là kỹ thuật che giấu nếu thiết lập đúng cách.