Hướng Dẫn Tạo Đánh Giá Sao Cho Blogger Realtime Hiển Thị Trên Google

Hướng Dẫn Tạo Đánh Giá Sao Cho Blogger Realtime Hiển Thị Trên Google

Bạn muốn bài viết Blogger của mình nổi bật trên Google với những ngôi sao đánh giá lấp lánh? ⭐⭐⭐⭐⭐ Bạn muốn thu thập phản hồi realtime từ độc giả nhưng loay hoay vì schema đánh giá sao không được Google nhận diện? Đừng lo lắng! Trong bài viết này, TruongDevs sẽ hướng dẫn bạn từ A đến Z cách tạo đánh giá sao cho Blogger bằng Firebase, kết hợp với sức mạnh của Cloud Function để tối ưu hiển thị sao trên Google (rich snippets) một cách hiệu quả và chuẩn SEO nhất.

Việc tích hợp đánh giá động và đảm bảo Googlebot đọc được schema là một thách thức lớn. Googlebot thường chỉ quét HTML tĩnh và không đợi JavaScript kết nối Firebase xong. Giải pháp chúng ta sẽ thực hiện bằng cách sử dụng Cloud Function để tạo file cache, đây là phương pháp tối ưu nhất hiện nay để giải quyết vấn đề này, đảm bảo Google thấy được dữ liệu đánh giá gần như thật ngay lập tức.

Hãy cùng bắt tay vào làm nhé!

Tại sao cần dùng Cloud Function & Cache cho đánh giá sao Blogger?

Nhiều hướng dẫn tạo sao đánh giá Blogger chỉ dừng lại ở việc dùng JavaScript kết nối trực tiếp Firebase. Cách này hoạt động tốt cho người dùng, nhưng thường thất bại với Google vì:

  • Googlebot quét nhanh: Nó đọc HTML gốc trước khi JavaScript kịp chạy và lấy dữ liệu từ Firebase.
  • Firebase bị chặn: File robots.txt của Firebase có thể chặn Googlebot truy cập trực tiếp để lấy dữ liệu.

Giải pháp Cloud Function + Cache khắc phục điều này:

  • Cloud Function (Trợ lý ảo): Tự động tổng hợp dữ liệu rating từ Firebase Realtime Database và lưu vào một file cache (ví dụ: ratings_cache.json) trên Firebase Storage.
  • JavaScript trên Blogger: Thay vì kết nối Firebase trực tiếp (chậm), nó chỉ cần tải file cache (nhanh) và tạo schema JSON-LD ngay lập tức.

Kết quả: Googlebot đọc được schema với dữ liệu gần như thật ngay trong lần quét đầu tiên, tăng tối đa khả năng hiển thị sao trên Google.

Chuẩn bị cần thiết

Trước khi bắt đầu tạo đánh giá sao cho Blogger, bạn cần:

  • Kiến thức cơ bản về chỉnh sửa theme Blogger (HTML/CSS/JS).
  • Tài khoản Google.
  • Node.js và npm cài đặt trên máy tính (Tải tại nodejs.org).
  • Firebase CLI: Cài bằng Command Prompt/PowerShell:
  • Google Cloud SDK (gcloud CLI): Cài đặt theo hướng dẫn tại đây.

Thiết lập Firebase Realtime Database

Tạo dự án Firebase

1. Truy cập Firebase Console.

2. Nhấn “Create a New Firebase project” và làm theo hướng dẫn để tạo dự án mới (ví dụ: myblog-ratings).

Giao diện tạo dự án Firebase với tên myblog-ratings cho hệ thống sao đánh giá Blogger

Tạo Realtime Database

  1. Trong menu dự án, chọn BuildRealtime Database.
  2. Nhấn “Create Database”.
  3. Chọn vị trí (ví dụ: asia-southeast1).
    Tùy chọn vị trí máy chủ cho Firebase Realtime Database như Singapore hoặc Mỹ
  4. Chọn “Start in locked mode“. Nhấn “Enable”.
    Chọn 'Start in locked mode' khi thiết lập quy tắc bảo mật ban đầu cho Firebase Realtime Database

Lấy Firebase Config

  1. Nhấn biểu tượng bánh răng → Project settings.
  2. Tab General → Kéo xuống Your apps → Nhấp biểu tượng Web (</>).
  3. Đặt tên app (ví dụ: Blogger Rating App) → “Register app”.
  4. Sao chép lại đối tượng firebaseConfig. Bạn sẽ cần dùng nó sau.
  5. Nhấn “Continue to console”.

Thêm giao diện và JavaScript vào Blogger

Thêm HTML vào Theme

1. Vào Chủ đềChỉnh sửa HTML.

2. Tìm vị trí muốn hiển thị đánh giá (thường trong <div class='post-body'>).

3. Dán code HTML:

Thêm CSS

Thêm đoạn CSS sau vào khu vực CSS tùy chỉnh của theme:

Đảm bảo theme đã nhúng font Bootstrap Icons và có các biến màu cần thiết.

Thêm JavaScript

Dán đoạn script sau vào theme, ngay trước thẻ đóng </body>. Quan trọng: Nhớ thay thế các giá trị placeholder trong firebaseConfigCACHE_URL bằng thông tin thực tế của bạn.

Thiết lập Cloud Function

Đây là bước then chốt để tạo file cache giúp Google đọc schema đánh giá nhanh hơn.

Khởi tạo Firebase CLI trên máy tính (nếu chưa)

1. Mở Command Prompt (cmd) hoặc PowerShell.

2. Di chuyển đến thư mục bạn muốn chứa code (ví dụ: cd E:MyProjects).

3. Khởi tạo dự án:

4. Chọn (*) Functions (dùng phím cách để chọn, Enter để xác nhận).

5. Chọn Use an existing project -> Chọn dự án Firebase của bạn (ví dụ: myblog-ratings).

6. Chọn ngôn ngữ JavaScript.

7. Chọn No cho ESLint (cho đơn giản).

8. Chọn Yes để cài đặt dependencies. Chờ quá trình hoàn tất.

Viết và Deploy Code Function

1. Trong thư mục dự án của bạn, mở thư mục functions, sau đó mở file index.js.

2. Xóa hết code mẫu.

3. Dán code sau vào:

4. Lưu file index.js.

5. Quay lại Command Prompt, đảm bảo bạn đang ở trong thư mục dự án (ví dụ: E:MyProjects).

6. Chạy lệnh deploy:

Chờ quá trình deploy hoàn tất.

Cấu hình Firebase Storage và CORS

Chạy Function lần đầu

  1. Vào Firebase ConsoleFunctions.
  2. Tìm updateRatingsCache → Nhấn menu (…)View in Cloud Scheduler.
  3. Trong Cloud Scheduler, chọn jobResume (nếu đang Paused) → Force run.
  4. Đợi khoảng 1 phút.

Kiểm tra và lấy link file cache

  1. Vào Firebase ConsoleStorage.
  2. Bạn sẽ thấy file ratings_cache.json.
  3. Nhấp vào file. Link chuẩn sẽ có dạng https://storage.googleapis.com/YOUR_BUCKET_NAME/ratings_cache.json.
  4. Copy link này và dán vào biến CACHE_URL trong script Blogger.

Cấu hình CORS (Quan trọng)

Bước này cho phép trang Blogger của bạn đọc được file cache.

1. Cài đặt Google Cloud SDK trên máy tính (nếu chưa).

2. Mở Command Prompt (cmd) hoặc PowerShell.

3. Đăng nhập:

4. Khởi tạo (nếu chưa):

5. Tạo file cors.json (ví dụ: trên Desktop) với nội dung:

6. Chạy lệnh (thay YOUR_BUCKET_NAME và đường dẫn file cors.json):

Đợi vài phút để CORS có hiệu lực.

Sửa Quy tắc Bảo mật Firebase (Rules)

Bước này đảm bảo chỉ có dữ liệu hợp lệ được ghi vào database. TruongDevs đề xuất sử dụng quy tắc an toàn sau, xử lý cả lần vote đầu tiên và các lần sau.

Giải thích Quy tắc

  • !data.exists() && newData.child('count').val() == 1: Cho phép ghi nếu đây là lần vote đầu tiên (dữ liệu cũ chưa tồn tại) và count gửi lên là 1.
  • data.exists() && newData.child('count').val() == data.child('count').val() + 1: Cho phép ghi nếu dữ liệu đã tồn tại và count mới bằng count cũ cộng thêm 1.

Quy tắc này rất hiệu quả trong việc chống spam và đảm bảo tính toàn vẹn của dữ liệu.

Cập nhật Rules

1. Vào Firebase ConsoleRealtime DatabaseRules.

2. Thay thế nội dung bằng:

3. Nhấn Publish.

Kiểm tra và Chờ đợi

1. Kiểm tra lỗi Console: Mở bài viết có đánh giá trên trình duyệt, nhấn F12 → Console, xem có lỗi đỏ nào không.

2. Kiểm tra Schema: Dùng Google Rich Results Test hoặc URL Inspection (Test Live URL) trong Search Console. Tìm thẻ <script id='truongdevs-rating-schema'> trong mã nguồn render hoặc xem Google có nhận diện “Đoạn trích đánh giá” không.

Kết quả kiểm tra Rich Results của Google báo cáo Đoạn trích đánh giá hợp lệ

Chờ đợi: Google cần thời gian (vài ngày đến vài tuần) để thu thập dữ liệu mới và hiển thị sao đánh giá.

Kết luận

Việc triển khai hệ thống đánh giá sao cho Blogger hiển thị trên Google đòi hỏi sự kết hợp giữa Firebase, Cloud Function và cấu hình cẩn thận. Bằng cách làm theo hướng dẫn chi tiết này từ TruongDevs, bạn đã xây dựng một giải pháp mạnh mẽ, chuẩn SEO và sử dụng dữ liệu realtime từ người dùng. Hãy kiên nhẫn chờ đợi Google cập nhật và tận hưởng thành quả!

Nếu bạn thấy bài viết này hữu ích và đã thực hiện thành công, đừng quên để lại một đánh giá 5 sao để ủng hộ TruongDevs nhé. Mỗi lượt đánh giá của bạn là nguồn động lực rất lớn để mình tiếp tục chia sẻ những hướng dẫn chi tiết và chất lượng hơn! Còn nếu gặp bất kỳ khó khăn nào, bước nào chưa làm được, hay gặp lỗi gì ở đâu, đừng ngần ngại để lại bình luận bên dưới. Mình sẽ xem và hỗ trợ để bạn làm được!

About the Author

0 Comments

Your email address will not be published. Required fields are marked *