SEO Checklist
Checklist này dùng trước môi trường chính thức, sau mỗi lần phát hành lớn và trong vận hành SEO định kỳ.
Tài liệu chi tiết theo nhóm
| Nhóm | Tài liệu |
|---|
| SEO kỹ thuật | technical.md |
| Chuẩn bị dữ liệu SEO | data-preparation.md |
| On-page SEO | on-page.md |
| Off-page SEO | off-page.md |
| Local SEO | local.md |
| SEO thương mại điện tử | ecommerce.md |
| Đo lường SEO | measurement.md |
| Công cụ audit | audit-tools.md |
| Roadmap triển khai | roadmap.md |
1. Checklist môi trường chính thức bắt buộc
| Hạng mục | Yêu cầu | Cách kiểm tra | Trạng thái |
|---|
| Robots | Môi trường chính thức không được chặn toàn site | Mở /robots.txt, không được có Disallow: / cho user-agent chung | Chưa đạt nếu giữ code hiện tại |
| Index | Trang công khai quan trọng được index | Kiểm tra siêu dữ liệu, Search Console URL Inspection | Cần kiểm tra |
| Noindex | Trang cá nhân/trang bảo vệ không được index | Hồ sơ, đơn hàng, lịch hẹn, thông báo, cài đặt phải noindex | Cần kiểm tra |
| Sitemap | Sitemap có URL môi trường chính thức | Mở /sitemap.xml, URL phải là https://carmall.vn/... | Cần kiểm tra |
| Canonical | Mỗi trang công khai có canonical hợp lý | Xem mã HTML hoặc kiểm tra siêu dữ liệu Next.js | Cần kiểm tra |
| Chuyển hướng | HTTP, www/non-www, quy ước dấu gạch cuối URL thống nhất | Kiểm tra chuyển hướng về domain chuẩn | Cần kiểm tra |
| Status code | Trang hợp lệ trả 200, trang mất trả 404, chuyển hướng trả 301/308 | Dùng curl hoặc công cụ crawl | Cần kiểm tra |
| Schema | Trang chính có JSON-LD phù hợp | Rich Results Test hoặc Schema Markup Validator | Cần kiểm tra |
| Analytics | GA4, Clarity, Pixel, HubSpot chạy trên môi trường chính thức | Dùng chế độ kiểm thử sự kiện | Cần kiểm tra |
| Core Web Vitals | Không có vấn đề nghiêm trọng trên mobile | PageSpeed Insights/Search Console | Cần kiểm tra |
2. SEO kỹ thuật
Robots và index
- Robots của môi trường chính thức cho phép crawl các trang công khai.
- Không dùng robots để xử lý canonical hoặc nội dung trùng lặp.
- Dùng
noindex cho trang không muốn xuất hiện trên Google nhưng vẫn cần crawler đọc được directive.
- Trang cần đăng nhập nên có
noindex và/hoặc yêu cầu đăng nhập thật.
- Môi trường staging, preview, admin, tài liệu API nội bộ phải chặn index.
Sitemap
- Sitemap phải có trang chủ, sản phẩm, dịch vụ, tin tức, đại lý, thương hiệu, danh mục, khuyến mãi.
- Không đưa URL
noindex, URL lỗi, URL staging hoặc URL có tham số lọc rác vào sitemap.
lastModified nên lấy từ updatedAt của dữ liệu động.
- Sitemap chỉ là tín hiệu hỗ trợ canonical, không thay thế canonical.
Canonical
- Trang chi tiết sản phẩm/dịch vụ/blog/đại lý/thương hiệu dùng canonical tự trỏ về chính nó.
- Trang bộ lọc có nhiều truy vấn nên canonical về URL sạch nếu nội dung không đủ khác biệt để index riêng.
- Trang phân trang dùng canonical riêng cho từng trang nếu mỗi trang có URL riêng và cần crawler đi qua.
- Không canonical trang sản phẩm A sang sản phẩm B trừ khi thật sự trùng hoặc đã gộp.
- Không dùng
noindex để ép canonical trong cùng một site.
URL và phân trang
- URL phải ổn định, có slug dễ đọc, không phụ thuộc ID ngẫu nhiên nếu không cần.
- Query filter phục vụ trải nghiệm người dùng nhưng không tự động biến mọi tổ hợp filter thành trang đích SEO.
- Phân trang phải có URL riêng, ví dụ
?page=2.
- Trang danh sách nên có link HTML crawl được đến item chi tiết.
Schema
- Trang chủ: Organization, WebSite.
- Trang chi tiết sản phẩm: Product, Offer, BreadcrumbList, Review nếu có dữ liệu thật.
- Trang chi tiết dịch vụ: Service, Offer, BreadcrumbList.
- Trang chi tiết đại lý: LocalBusiness hoặc AutoDealer, AggregateRating nếu có đánh giá thật.
- Trang chi tiết blog: Article, BreadcrumbList.
- FAQ: FAQPage nếu câu hỏi/câu trả lời hiển thị thật trên trang.
- Không đánh dấu schema cho nội dung không hiển thị với người dùng.
Hiệu năng và khả năng hiển thị
- Nội dung chính của trang SEO phải hiển thị được cho crawler.
- Không để trang SEO phụ thuộc hoàn toàn vào lấy dữ liệu phía trình duyệt nếu siêu dữ liệu/schema cần dữ liệu từ máy chủ.
- Ảnh chính có kích thước ổn định để tránh layout shift.
- Header cố định không che nội dung khi vào từ anchor hoặc kết quả tìm kiếm.
- JavaScript, CSS và ảnh quan trọng không bị robots chặn.
3. Chuẩn bị dữ liệu SEO
- Sản phẩm công khai có đủ
sku, name, summary dưới 256 ký tự,
description được chuẩn bị dưới dạng Markdown trong file .md, danh mục,
thương hiệu, metaTitle và metaDescription. Không bắt buộc ảnh đại diện;
không nhập cột slug vì hệ thống tự tạo slug từ name.
- Header của các cột thuộc tính sản phẩm dùng định dạng
Tên tiếng Việt (json_name), ví dụ Kích thước (size); json_name phải là
tên tiếng Anh dạng snake_case và được dùng làm key JSON trong hệ thống.
- Biến thể sản phẩm có
product_sku, variant_sku, tên, giá và trạng thái;
không yêu cầu cột quantity. Nhóm attributes và các cột con cũng dùng định
dạng Tên tiếng Việt (json_name) như thuộc tính sản phẩm.
- Dịch vụ công khai có tên, slug, mô tả ngắn, mô tả chi tiết, danh mục, ảnh đại diện, meta riêng và nếu có thì đủ bước thực hiện/thời lượng.
- Danh mục có mô tả thật, không chỉ là trang danh sách rỗng.
- Thương hiệu không bị trùng do khác cách viết và có mô tả riêng.
- Đại lý có tên, số điện thoại, địa chỉ, mô tả, giờ hoạt động/khu vực phục vụ nếu có.
- Blog có câu trả lời rõ và có liên kết nội bộ về trang chuyển đổi liên quan.
- Khuyến mãi có thời gian, điều kiện áp dụng và sản phẩm/dịch vụ/danh mục/thương hiệu liên quan.
4. On-page SEO
| Hạng mục | Yêu cầu cho CarMall |
|---|
| Title | Có từ khóa chính, rõ loại trang, không trùng hàng loạt |
| Meta description | Nói rõ lợi ích, thông tin sản phẩm/dịch vụ, CTA |
| H1 | Một chủ đề chính, khớp nhu cầu tìm kiếm của trang |
| Heading | Dùng để chia nội dung theo câu hỏi người dùng, không nhồi từ khóa |
| Nội dung | Có thông tin thật: thông số, giá, tình trạng, đại lý, khu vực, quy trình, bảo hành |
| Internal link | Blog dẫn về sản phẩm/dịch vụ/danh mục/đại lý; sản phẩm dẫn sang dịch vụ liên quan |
| Ảnh | Có alt text mô tả đúng sản phẩm/dịch vụ/đại lý |
| FAQ | Trả lời câu hỏi mua hàng/đặt lịch, không viết chung chung |
| CTA | Rõ hành động tiếp theo: thêm giỏ hàng, chọn đại lý, đặt lịch, liên hệ |
5. Off-page SEO
Off-page SEO của CarMall nên tập trung vào niềm tin và hiện diện địa phương, không mua backlink rác.
- Thiết lập và đồng bộ Google Business Profile cho thương hiệu hoặc điểm đại lý phù hợp.
- Đưa thông tin NAP nhất quán: tên, địa chỉ, số điện thoại.
- Xin backlink từ đối tác, đại lý, nhà phân phối, báo ngành ô tô, cộng đồng xe.
- Tạo nội dung có thể được trích dẫn: hướng dẫn chọn lốp, chọn ắc quy, lịch bảo dưỡng, checklist mua phụ tùng.
- Theo dõi đánh giá và phản hồi đánh giá cho đại lý/dịch vụ.
- Không dùng link spam, PBN kém chất lượng, anchor text lặp máy móc.
6. Local SEO
- Mỗi đại lý có trang riêng
/dai-ly/[slug].
- Trang đại lý cần có tên, địa chỉ, khu vực phục vụ, giờ hoạt động, hotline, sản phẩm/dịch vụ cung cấp.
- Nếu có đánh giá thật, hiển thị điểm đánh giá và nội dung đánh giá.
- Có link chỉ đường, gọi điện, chat hoặc đặt lịch.
- Schema LocalBusiness/AutoDealer phải khớp nội dung hiển thị.
7. SEO thương mại điện tử
- Trang chi tiết sản phẩm cần có tên đầy đủ, thương hiệu, danh mục, biến thể, giá, tình trạng, ảnh, mô tả, bảo hành.
- Nếu có nhiều biến thể gần giống nhau, phải quyết định biến thể nào có URL index riêng.
- Trang danh mục cần mô tả danh mục và link đến sản phẩm nổi bật.
- Trang thương hiệu cần mô tả thương hiệu và link đến sản phẩm thuộc thương hiệu.
- Trang khuyến mãi cần ngày bắt đầu/kết thúc, điều kiện áp dụng và sản phẩm/dịch vụ liên quan.
- Trang hết hàng vẫn có thể index nếu còn hữu ích; nếu ngừng bán vĩnh viễn thì cân nhắc chuyển hướng hoặc giữ trang với sản phẩm thay thế.
8. Công cụ kiểm tra
- Google Search Console: index, sitemap, truy vấn, CTR, URL Inspection.
- GA4: lưu lượng truy cập, phễu, thương mại điện tử, chuyển đổi.
- Microsoft Clarity: heatmap, bản ghi phiên truy cập, rage click, dead click.
- Rich Results Test: kiểm tra structured data.
- PageSpeed Insights: Core Web Vitals.
- Crawler nội bộ hoặc Screaming Frog/Sitebulb nếu có ngân sách.
9. Tài liệu tham khảo chính thức