Tạo blog đa kênh nội dung với Ghost Collection + ContentHub
Tham khảo cách ứng dụng tạo đa kênh nội dung cho blog với Ghost routes.
Kiếm Tiền Từ Việc Xuất Bản - Biến Tri Thức Thành Tài Sản
Tiếp cận thị trường toàn cầu một cách hiệu quả và tạo ra lợi nhuận nhanh nhất từ việc xuất bản blog và bản tin điện tử newsletter với ghost.
Ưu điểm tuyệt vời của Ghost là có thể phân nhóm các nội dung của blog thành nhiều kênh khác nhau cực kỳ tiện lợi bằng Collection và ContentHub (custom route).
Hãy tưởng tượng blog bạn sẽ có các loại bài viết khác nhau như bài về
- Tin tức
- Blog
- Podcast
- Review
- Deal khuyến mãi
Bạn cần đến 5 trang archived page cho 5 kênh nội dung riêng biệt để người xem dễ theo dõi. Nhờ có Collection và ContentHub (routes.yaml
file), bạn có thể tạo 5 kênh nội dung dễ dàng và vẫn đảm bảo được SEO luôn chuẩn.
Hãy cùng tham khảo các trường hợp cụ thể bên dưới, từ đó bạn có thể tự tạo được các kênh nội dung đúng ý đồ của mình.
Tạo 5 kênh nội dung khác nhau với Collection
- Tin tức
- Blog
- Podcast
- Review
- Deal khuyến mãi
Bạn chỉ cần tạo 5 collection khác nhau đơn giản trong Route
routes:
collections:
/:
permalink: /{slug}/
template: index
filter: tag:-[tin-tuc,podcast,review,deal]
/tin-tuc/:
permalink: /{slug}/
template: index
filter: primary_tag:[tin-tuc]
data: tag.tin-tuc
/podcast/:
permalink: /{slug}/
template: index
filter: primary_tag:[podcast]
data: tag.podcast
/review/:
permalink: /{slug}/
template: index
filter: primary_tag:[review]
data: tag.review
/deal/:
permalink: /{slug}/
template: index
filter: primary_tag:[deal]
data: tag.deal
taxonomies:
tag: /chuyen-muc/{slug}/
author: /tac-gia/{slug}/
Bạn nên chọn ra một kênh chính để trang chủ hiển thị. Như ví dụ trên, tôi sẽ dùng kênh blog là trang chủ.
Tại sao chỉ tạo 4 Tag? Vì tinh giản cấu trúc site, tốt cho SEO, không cần thiết để tạo thêm tag blog.
Khi đó, bạn sẽ có 5 archived page như sau
https://domain.com/
--> Bài viết blog của bạnhttps://domain.com/tin-tuc/
--> Bài tin tức ngắnhttps://domain.com/podcast/
--> Bài viết cho podcasthttps://domain.com/review/
--> Bài viết reviewshttps://domain.com/deal/
--> Bài viết về deal khuyến mãi
Mỗi bài viết con chứa trong kênh sẽ URL như sau: https://domain.com/slug-cua-bai-viet
. Tương tự với các kênh còn lại.
Tất cả các kênh được tạo như trên đều có RSS riêng biệt.
Chú ý, Filter của từng kênh là tag bài viết. Khi bạn muốn bài viết nằm ở kênh nào thì chỉ đơn giản là thêm tag tương ứng với kênh đó vào bài viết mà thôi.
Tạo 5 kênh nội dung bằng ContentHub
Để so sánh dễ hơn, tôi sẽ dùng ContentHub tạo ra 5 kênh nội dung y hệt dùng Collection như trên. Bạn sẽ thấy sự khác biệt.
routes:
/tin-tuc/:
controller: channel
template: index
filter: primary_tag:[tin-tuc]
data: tag.tin-tuc
/podcast/:
controller: channel
template: index
filter: primary_tag:[podcast]
data: tag.podcast
/review/:
controller: channel
template: index
filter: primary_tag:[review]
data: tag.review
/deal/:
controller: channel
template: index
filter: primary_tag:[deal]
data: tag.deal
collections:
/:
permalink: /{slug}/
template: index
filter: tag:-[tin-tuc,podcast,review,deal]
taxonomies:
tag: /chuyen-muc/{slug}/
author: /tac-gia/{slug}/
Code sẽ nằm ở trên phần routes:
và 5 trang archived page đều sẽ giống y hệt.
Bạn sẽ xoá permalink
đi vì không cần thiết.
Phối hợp cả Collection và ContentHub để tạo kênh nội dung thứ 6
Khi bạn đã tạo 5 kênh nội dung bằng Collection, nhưng bạn lại muốn một trang thứ 6 để nhóm toàn bộ nội dung thành một archived page thứ 6 là TOÀN BỘ BÀI VIẾT MỚI NHẤT.
Gộp tất cả bài viết của 5 kênh lại. Bạn sẽ làm như sau
routes:
/writing/: ## Kênh thứ 6
controller: channel
template: index
collections:
/:
permalink: /{slug}/
template: index
filter: tag:-[tin-tuc,podcast,review,deal]
/tin-tuc/:
permalink: /{slug}/
template: index
filter: primary_tag:[tin-tuc]
data: tag.tin-tuc
/podcast/:
permalink: /{slug}/
template: index
filter: primary_tag:[podcast]
data: tag.podcast
/review/:
permalink: /{slug}/
template: index
filter: primary_tag:[review]
data: tag.review
/deal/:
permalink: /{slug}/
template: index
filter: primary_tag:[deal]
data: tag.deal
taxonomies:
tag: /chuyen-muc/{slug}/
author: /tac-gia/{slug}/
Khi nào thì dùng Collection? Khi nào dùng ContentHub?
Collection và ContentHub khá tương tự nhau trong một số trường hợp. Cả 2 đều là tạo kênh nội dung cho site bạn, đều nằm trong phần tùy chỉnh Route.
Tuy nhiên, có một số điểm khác nhau như Collection có thể tạo ra các permalink cố định lâu dài. Trong khi đó, ContentHub có thể nhóm nhanh các nội dung đó mà không làm thay đổi Permalink của các bài viết đơn.
Khi bạn muốn xoá một trang archived page tạo bằng ContentHub sẽ không gây ảnh hưởng tới SEO.
## Collection
/deal/:
permalink: /deal/{slug}/ ## Permalink
template: index
filter: primary_tag:[deal]
data: tag.deal
## ContentHub
/deal/:
controller: channel
template: index
filter: primary_tag:[deal]
data: tag.deal
Nếu bạn cài đặt permalink như trên, khi bạn xoá trang archived page /deal/
tạo bởi Collection thì mọi bài viết sẽ bị thay đổi slug. Gây hại SEO nghiêm trọng.
Nếu dùng ContentHub thì không sao vì ContentHub không tạo được permalink.
Tóm lại, khi bạn muốn xây dựng và phát triển kênh nội dung lâu dài, bạn nên dùng Collection vì nó tạo được permalink riêng cho từng bài viết (lựa chọn). Khi bạn chỉ muốn nhóm nhanh một số bài viết thành một kênh tổng hợp thì nên dùng ContentHub.
Lời kết...
Ngoài việc phân loại cho bài viết, bạn còn có thể quy định template mẫu của theme ứng với từng loại bài viết. Bạn cần biết custom theme nếu muốn làm như vậy.
Tất cả các trang trong Route dù dùng Collection hay ContentHub đều nằm trong sitemap để Google dễ index. Quan trọng hơn là không bị "duplicate" nội dung.
Tuỳ vào nhu cầu của bạn mà quyết định dùng ContentHub hay Collection. Muốn blog đơn giản cấu trúc thì dùng ContentHub. Muốn blog phân chia kênh rõ ràng chuẩn bị cho phát triển kênh thì dùng Collection sẽ thích hợp hơn.
Cường đam mê xuất bản số, chuyên nghiên cứu khai thác sức mạnh của các nền tảng như ghost và WordPress, đồng thời chia sẻ các kỹ thuật viết SEO thực chiến hiệu quả dựa trên những công cụ này.
cuongthach.com
Cộng Đồng ghostFam
✨ Hãy kết nối và chia sẻ đam mê của bạn ngay trong cộng đồng ghostFam. Tham gia để cùng nhau tạo nên một sân chơi đầy ý nghĩa.