SEO
Tiêu đề và mô tả cho công cụ tìm kiếm, thẻ chia sẻ mạng xã hội, dữ liệu có cấu trúc — và một câu quyết định lúc nào chúng có hiệu lực.
Mỗi trang có bảng SEO trang riêng: mở Trang trên thanh công cụ, chọn SEO trong menu của trang. Sản phẩm và bài viết có tab SEO riêng trong biểu mẫu của chúng.
Thay đổi SEO sẽ có hiệu lực trong lần xuất bản trang tiếp theo. Bảng nói đúng câu đó. Sửa meta rồi mở trang đang chạy ngay lúc đó là chưa thấy gì — vì bạn chưa xuất bản.
Cơ bản
Meta title — tiêu đề trang trong kết quả tìm kiếm.
Meta description — đoạn trích bên dưới tiêu đề.
Từ khóa — phân tách bằng dấu phẩy.
URL chuẩn (canonical) — "URL ưu tiên cho trang này. Để trống để dùng URL của chính nó." Chỉ điền khi cùng một nội dung có mặt ở nhiều địa chỉ và bạn muốn nói cho công cụ tìm kiếm biết địa chỉ nào là bản chính.
Ô xem trước bên cạnh cho thấy đại khái kết quả tìm kiếm sẽ trông thế nào.
Chia sẻ mạng xã hội (Open Graph)
Cách trang hiển thị khi ai đó dán liên kết lên Facebook, Zalo, Slack, X.
"Trường để trống sẽ dùng tiêu đề, mô tả và ảnh ở trên." Chỉ điền khi muốn phần chia sẻ nói khác phần tìm kiếm.
| Ô | Mặc định |
|---|---|
| Tiêu đề chia sẻ | Theo meta title |
| Mô tả chia sẻ | Theo meta description |
| URL ảnh chia sẻ | Ảnh chính |
| Thẻ Twitter | Mặc định · Tóm tắt · Tóm tắt, ảnh lớn |
Hiển thị trên công cụ tìm kiếm
Hai công tắc, cả hai nên dùng thận trọng:
Ẩn khỏi công cụ tìm kiếm (noindex) — "Công cụ tìm kiếm sẽ không liệt kê trang này trong kết quả." Cho trang cảm ơn, trang nội bộ, trang chiến dịch chỉ dành cho người có link.
Không theo liên kết (nofollow) — "Công cụ tìm kiếm sẽ không theo các liên kết trên trang này."
Bật nhầm noindex lên trang chủ là một cách rất yên lặng để biến mất khỏi
Google. Không có cảnh báo nào, vì đôi khi người ta thật sự muốn vậy.
Cùng khối đó còn có Chỉ dành cho thành viên — không phải SEO, mà là cổng đăng nhập cho cả trang. Xem Tài khoản khách hàng.
Nâng cao
Thẻ meta tuỳ chỉnh
"Dành cho các thẻ mà những trường ở trên chưa có — ví dụ author hoặc og:site_name."
Mỗi thẻ gồm loại thuộc tính (name, property, http-equiv), khoá, nội dung,
và một công tắc Bật thẻ này — nên bạn tắt tạm một thẻ được mà không phải xoá
nó đi.
Dữ liệu có cấu trúc (JSON-LD)
"Mỗi khối được xuất thành một thẻ <script type="application/ld+json">
riêng." Đây là thứ giúp kết quả tìm kiếm hiện sao đánh giá, giá, tình trạng còn
hàng.
Có sẵn Mẫu Product để bạn khỏi gõ từ đầu.
Trình soạn kiểm tra cú pháp JSON khi bạn gõ, nhưng để ý dòng chữ nhỏ:
"JSON không hợp lệ — khối này vẫn sẽ được lưu."
Nó cảnh báo chứ không chặn. Một khối hỏng vẫn được xuất ra trang và công cụ tìm kiếm bỏ qua nó — không có gì trên trang đang chạy nói cho bạn biết. Đợi dòng JSON hợp lệ trước khi xuất bản.
Ở mức site
Quản lý → Cài đặt → Chung có Mô tả cửa hàng: "Mô tả ngắn về cửa hàng, dùng cho bản xem trước và SEO." Đây là mô tả dự phòng khi một trang chưa có mô tả riêng.
Ngôn ngữ site trong Cài đặt → Tiền tệ & khu vực cũng đi vào trang đã xuất
bản, ở thuộc tính lang — công cụ tìm kiếm dùng nó để biết trang viết bằng
tiếng gì. Xem Ngôn ngữ và khu vực.
Cửa hàng nhiều ngôn ngữ
Khi có app Đa ngôn ngữ, mỗi trang còn tồn tại ở địa
chỉ của từng ngôn ngữ bổ sung — /en/about chẳng hạn. Công cụ tìm kiếm được
báo gì về các địa chỉ đó tuỳ vào một câu hỏi: trang này đã thật sự được dịch
sang ngôn ngữ đó chưa?
- Đã dịch — bản ngôn ngữ đó được lập chỉ mục bình thường, có mặt trong các
liên kết
hreflangcủa trang và trongsitemap.xml. - Chưa dịch — địa chỉ vẫn mở được cho khách bấm vào, nhưng được phục vụ với
noindex, và canonical trỏ về trang ở ngôn ngữ mặc định. Nó không có trong
hreflangvà không có trong sitemap.
Lý do: một trang /en/ chưa dịch là cùng những chữ của bản gốc dưới một địa
chỉ thứ hai, và công cụ tìm kiếm coi đó là nội dung trùng lặp. Nói với chúng
"bản gốc ở kia" thì thứ hạng dồn về trang bạn đã viết. Quy tắc này áp cho từng
sản phẩm, danh mục, bài viết và khoá học một — dịch tên một sản phẩm không còn
khiến mọi sản phẩm được khai báo ở ngôn ngữ đó.
Những thứ không làm trang được tính là đã dịch — cái nào cũng từng khiến người ta hiểu nhầm:
- Chỉ dịch header, footer hoặc ngăn kéo giỏ hàng. Chúng dùng chung cho mọi trang; tính chúng vào thì cả site thành "đã dịch" ngay khi ai đó dịch cái menu.
- Chỉ dịch tiêu đề và mô tả SEO của trang. Tiêu đề đã dịch vẫn được hiện — trên tab trình duyệt và trong kết quả tìm kiếm — nhưng một trang mà thân vẫn bằng ngôn ngữ gốc thì không thành trang tiếng Anh chỉ vì tiêu đề của nó.
- Chỉ dịch địa chỉ (slug).
Dịch một thứ nằm trên chính trang — một tiêu đề, một đoạn văn, một nút bấm — là được tính.
Danh sách kiểm trước khi công bố
- Trang chủ có meta title và description.
- Không trang nào bật
noindexngoài ý muốn. - Ảnh chia sẻ hiển thị đúng khi dán liên kết thử vào một cuộc trò chuyện.
- Khối JSON-LD nào cũng báo JSON hợp lệ.
- Tên miền chính đã đặt, và địa chỉ mặc định chuyển hướng về nó — xem Tên miền riêng.
- Xuất bản. Trước bước này không thay đổi SEO nào có hiệu lực.
Cập nhật 26/9/2026