Hướng dẫn dynamic javascript - javascript động

Triển khai tính năng kết xuất động

Trên một số trang web, JavaScript tạo thêm nội dung trên một trang khi được thực thi trong trình duyệt. Quá trình này được gọi là kết xuất phía máy khách. Trong quá trình Google Tìm kiếm thực thi JavaScript, có một số tính năng JavaScript bị giới hạn trong Google Tìm kiếm và một số trang có thể gặp phải sự cố nội dung không xuất hiện trong HTML được kết xuất. Các công cụ tìm kiếm khác có thể chọn bỏ qua JavaScript và sẽ không thấy nội dung do JavaScript tạo.

Kết xuất động là một cách xử lý cho những trang web mà công cụ tìm kiếm không thấy nội dung do JavaScript tạo trên đó. Máy chủ kết xuất động phát hiện các bot có thể gặp sự cố với nội dung do JavaScript tạo rồi phân phát phiên bản do máy chủ kết xuất mà không có JavaScript cho các bot này trong khi cho người dùng thấy phiên bản nội dung do máy khách kết xuất.

Kết xuất động là một cách khắc phục chứ không phải là giải pháp được đề xuất vì cách này phức tạp hơn và đòi hỏi thêm tài nguyên.

Những trang web nên sử dụng tính năng kết xuất động

Kết xuất động là cách giải quyết cho nội dung được tạo bằng JavaScript, công khai, có thể lập chỉ mục và thay đổi nhanh chóng hoặc nội dung sử dụng các tính năng JavaScript không được hỗ trợ bởi các trình thu thập dữ liệu mà bạn quan tâm. Không phải tất cả trang web đều cần sử dụng tính năng kết xuất động, đồng thời có các giải pháp tốt hơn so với tính năng kết xuất động như giải thích trong bài viết này về việc kết xuất trên web.

Hiểu cách hoạt động của tính năng kết xuất động

Tính năng kết xuất động yêu cầu máy chủ web của bạn phát hiện các trình thu thập dữ liệu (ví dụ: bằng cách kiểm tra tác nhân người dùng). Yêu cầu từ trình thu thập dữ liệu được chuyển đến trình kết xuất, còn yêu cầu từ người dùng được phân phát như bình thường. Khi cần, trình kết xuất động sẽ phân phát một phiên bản nội dung phù hợp với trình thu thập dữ liệu, ví dụ: trình kết xuất động có thể phân phát phiên bản HTML tĩnh. Bạn có thể chọn bật trình kết xuất động cho tất cả các trang hoặc trên mỗi trang.

Hướng dẫn dynamic javascript - javascript động

Kết xuất động không phải là kỹ thuật che giấu

Googlebot thường không coi kết xuất động là kỹ thuật che giấu. Miễn là quy trình kết xuất động của bạn dẫn đến nội dung giống nhau, Googlebot sẽ không xem kết xuất động là kỹ thuật che giấu.

Khi bạn đang thiết lập tính năng kết xuất động, trang web của bạn có thể tạo ra các trang lỗi. Googlebot không coi các trang lỗi này là kỹ thuật che giấu và xử lý lỗi như bất kỳ trang lỗi nào khác.

Việc sử dụng kết xuất động để phân phát nội dung hoàn toàn khác nhau cho người dùng và trình thu thập dữ liệu có thể bị xem là kỹ thuật che giấu. Ví dụ: một trang web phân phát một trang về mèo cho người dùng và một trang về chó cho trình thu thập dữ liệu có thể bị xem là đang triển khai kỹ thuật che giấu.

Triển khai tính năng kết xuất động

Để thiết lập tính năng kết xuất động cho nội dung của bạn, hãy làm theo nguyên tắc chung của chúng tôi. Bạn sẽ cần tham khảo chi tiết cấu hình cụ thể của mình, vì các chi tiết này sẽ khác nhau rất nhiều giữa các lần triển khai.

  1. Cài đặt và định cấu hình một trình kết xuất động (ví dụ: Puppeteer, Rendertron hoặc prerender.io) để biến đổi nội dung của bạn thành HTML tĩnh, giúp trình thu thập thông tin xử lý dễ dàng hơn.
  2. Chọn tác nhân người dùng mà bạn muốn cung cấp HTML tĩnh và tham khảo thông tin về cấu hình cụ thể của bạn để biết cách cập nhật hoặc thêm tác nhân người dùng. Sau đây là ví dụ về danh sách các tác nhân người dùng phổ biến trong phần mềm trung gian Rendertron:
    export const botUserAgents = [
      'googlebot',
      'bingbot',
      'linkedinbot',
      'mediapartners-google',
    ];
  3. Nếu bước kết xuất trước làm chậm máy chủ của bạn hoặc bạn thấy một số lượng lớn yêu cầu kết xuất trước, hãy cân nhắc việc triển khai bộ nhớ đệm cho nội dung kết xuất trước hoặc xác minh rằng các yêu cầu đó đến từ các trình thu thập dữ liệu hợp lệ.
  4. Xác định xem các tác nhân người dùng yêu cầu nội dung cho máy tính hay thiết bị di động. Sau đó, hãy sử dụng tính năng phân phát động để cung cấp phiên bản phù hợp cho máy tính hoặc thiết bị di động. Sau đây là ví dụ về cách một cấu hình có thể xác định xem tác nhân người dùng yêu cầu nội dung cho máy tính hay thiết bị di động:
    isPrerenderedUA = userAgent.matches(botUserAgents)
    isMobileUA = userAgent.matches(['mobile', 'android'])
    
    if (!isPrerenderedUA) { } else { servePreRendered(isMobileUA) }
  5. Định cấu hình máy chủ của bạn để phân phối HTML tĩnh đến các trình thu thập dữ liệu mà bạn đã chọn. Bạn có thể thực hiện việc này theo một số cách tùy thuộc vào công nghệ bạn sử dụng. Sau đây là một số ví dụ:
    • Yêu cầu proxy từ trình thu thập dữ liệu đến trình kết xuất động.
    • Kết xuất trước trong quy trình triển khai của bạn và khiến máy chủ của bạn phân phát HTML tĩnh cho trình thu thập dữ liệu.
    • Chèn tính năng kết xuất động vào mã máy chủ tùy chỉnh của bạn.
    • Phân phát nội dung tĩnh từ dịch vụ kết xuất trước đến trình thu thập dữ liệu.
    • Sử dụng một phần mềm trung gian cho máy chủ của bạn (ví dụ: phần mềm trung gian Rendertron .

Xác minh cấu hình của bạn

Sau khi bạn hoàn thành việc triển khai tính năng kết xuất động, hãy xác minh rằng mọi thứ hoạt động như mong đợi bằng cách kiểm tra URL thông qua các quy trình sau:

  1. Kiểm tra nội dung cho thiết bị di động của bạn bằng công cụ Kiểm tra tính thân thiện với thiết bị di động để đảm bảo Google có thể thấy nội dung của bạn.

    Thành công: Nội dung cho thiết bị di động trùng khớp với nội dung bạn mong đợi người dùng sẽ thấy.: Nội dung cho thiết bị di động trùng khớp với nội dung bạn mong đợi người dùng sẽ thấy.

    Thử lại: Nếu nội dung bạn thấy không khớp với nội dung bạn mong đợi, hãy xem phần khắc phục sự cố.: Nếu nội dung bạn thấy không khớp với nội dung bạn mong đợi, hãy xem phần khắc phục sự cố.

  2. Kiểm tra nội dung cho máy tính bằng Công cụ kiểm tra URL để đảm bảo nội dung cho máy tính cũng xuất hiện trên trang đã kết xuất (trang đã kết xuất chính là cách Google nhìn thấy trang của bạn).

    Thành công: Nội dung cho máy tính trùng khớp với nội dung bạn mong đợi người dùng sẽ thấy.: Nội dung cho máy tính trùng khớp với nội dung bạn mong đợi người dùng sẽ thấy.

    Thử lại: Nếu nội dung bạn thấy không khớp với nội dung bạn mong đợi, hãy xem phần khắc phục sự cố.: Nếu nội dung bạn thấy không khớp với nội dung bạn mong đợi, hãy xem phần khắc phục sự cố.

  3. Kiểm tra nội dung cho máy tính bằng Công cụ kiểm tra URL để đảm bảo nội dung cho máy tính cũng xuất hiện trên trang đã kết xuất (trang đã kết xuất chính là cách Google nhìn thấy trang của bạn).

    Thành công: Nội dung cho máy tính trùng khớp với nội dung bạn mong đợi người dùng sẽ thấy.: Dữ liệu có cấu trúc xuất hiện như bạn mong đợi.

    Nếu bạn sử dụng dữ liệu có cấu trúc, hãy dùng Công cụ kiểm tra kết quả nhiều định dạng để kiểm tra xem dữ liệu có cấu trúc của bạn có kết xuất đúng cách hay không. : Nếu dữ liệu có cấu trúc không xuất hiện như bạn mong đợi, hãy xem phần khắc phục sự cố.

Thành công: Dữ liệu có cấu trúc xuất hiện như bạn mong đợi.

Thử lại: Nếu dữ liệu có cấu trúc không xuất hiện như bạn mong đợi, hãy xem phần khắc phục sự cố.

Khắc phục sự cố

Nếu nội dung của bạn cho thấy lỗi trong quá trình Kiểm tra tính thân thiện với thiết bị di động hoặc nếu nội dung đó không xuất hiện trong kết quả tìm kiếm trên Google, hãy thử giải quyết những vấn đề thường gặp nhất. Nếu bạn vẫn gặp vấn đề, hãy đăng một chủ đề mới trong Cộng đồng trợ giúp của Trung tâm Google Tìm kiếm. : Trình kết xuất của bạn có thể bị định cấu hình sai cách hoặc có thể ứng dụng web của bạn không tương thích với giải pháp kết xuất mà bạn sử dụng. Đôi khi, thời gian chờ cũng có thể khiến nội dung không được kết xuất chính xác.

Nội dung không đầy đủ hoặc hiển thị không thống nhất: Tham khảo tài liệu về giải pháp kết xuất cụ thể để gỡ lỗi trong quá trình thiết lập kết xuất động của bạn.

Nguyên nhân gây ra vấn đề: Trình kết xuất của bạn có thể bị định cấu hình sai cách hoặc có thể ứng dụng web của bạn không tương thích với giải pháp kết xuất mà bạn sử dụng. Đôi khi, thời gian chờ cũng có thể khiến nội dung không được kết xuất chính xác.

Khắc phục vấn đề: Tham khảo tài liệu về giải pháp kết xuất cụ thể để gỡ lỗi trong quá trình thiết lập kết xuất động của bạn.: Việc sử dụng trình duyệt không có giao diện người dùng để hiển thị các trang theo yêu cầu thường dẫn đến thời gian phản hồi lâu. Điều này có thể khiến trình thu thập dữ liệu hủy yêu cầu và không lập chỉ mục nội dung của bạn. Thời gian phản hồi lâu cũng có thể dẫn đến việc trình thu thập dữ liệu giảm tốc độ khi thu thập dữ liệu và lập chỉ mục nội dung của bạn.

Thời gian phản hồi lâu

  1. Nguyên nhân gây ra vấn đề: Việc sử dụng trình duyệt không có giao diện người dùng để hiển thị các trang theo yêu cầu thường dẫn đến thời gian phản hồi lâu. Điều này có thể khiến trình thu thập dữ liệu hủy yêu cầu và không lập chỉ mục nội dung của bạn. Thời gian phản hồi lâu cũng có thể dẫn đến việc trình thu thập dữ liệu giảm tốc độ khi thu thập dữ liệu và lập chỉ mục nội dung của bạn.
  2. Khắc phục vấn đề
  3. Thiết lập bộ nhớ đệm cho HTML được kết xuất trước hoặc tạo phiên bản HTML tĩnh cho nội dung của bạn trong quá trình xây dựng.

Đảm bảo kích hoạt bộ nhớ đệm trong cấu hình của bạn (ví dụ: bằng cách chuyển hướng trình thu thập dữ liệu tới bộ nhớ đệm).

Kiểm tra xem trình thu thập dữ liệu có nhanh chóng truy cập được vào nội dung của bạn hay không bằng cách dùng các công cụ kiểm tra như Kiểm tra tính thân thiện với thiết bị di động hoặc webpagetest (bằng một chuỗi tác nhân người dùng tùy chỉnh trong danh sách tác nhân người dùng trình thu thập dữ liệu của Google). Yêu cầu của bạn không được hết thời gian.: DOM tối bị tách riêng với nội dung còn lại trên trang. Giải pháp kết xuất (như Rendertron) không thể thấy nội dung bên trong DOM tối nằm riêng. Để biết thêm thông tin, hãy xem các phương pháp hay nhất cho thành phần web.

Thời gian phản hồi lâu

  1. Nguyên nhân gây ra vấn đề: Việc sử dụng trình duyệt không có giao diện người dùng để hiển thị các trang theo yêu cầu thường dẫn đến thời gian phản hồi lâu. Điều này có thể khiến trình thu thập dữ liệu hủy yêu cầu và không lập chỉ mục nội dung của bạn. Thời gian phản hồi lâu cũng có thể dẫn đến việc trình thu thập dữ liệu giảm tốc độ khi thu thập dữ liệu và lập chỉ mục nội dung của bạn.
  2. Khắc phục vấn đề

Thiết lập bộ nhớ đệm cho HTML được kết xuất trước hoặc tạo phiên bản HTML tĩnh cho nội dung của bạn trong quá trình xây dựng.

Đảm bảo kích hoạt bộ nhớ đệm trong cấu hình của bạn (ví dụ: bằng cách chuyển hướng trình thu thập dữ liệu tới bộ nhớ đệm).: Việc thiếu tác nhân người dùng dữ liệu có cấu trúc hoặc không đưa các thẻ tập lệnh JSON-LD vào dữ liệu đầu ra có thể gây ra lỗi với dữ liệu có cấu trúc.

Thời gian phản hồi lâu

  1. Nguyên nhân gây ra vấn đề: Việc sử dụng trình duyệt không có giao diện người dùng để hiển thị các trang theo yêu cầu thường dẫn đến thời gian phản hồi lâu. Điều này có thể khiến trình thu thập dữ liệu hủy yêu cầu và không lập chỉ mục nội dung của bạn. Thời gian phản hồi lâu cũng có thể dẫn đến việc trình thu thập dữ liệu giảm tốc độ khi thu thập dữ liệu và lập chỉ mục nội dung của bạn.
  2. Khắc phục vấn đề