International SEO

local date/time format

Định dạng ngày tháng, giờ, số (phẩy/chấm phân cách) phải phù hợp chuẩn khu vực để tăng độ tin cậy và UX.

3 lượt xem Cập nhật: 27/05/2026

local date/time format là gì?

Local date/time format (định dạng ngày giờ theo khu vực) là cách trình bày ngày, tháng, năm, giờ, phút, giây và dấu phân cách số (phẩy hay chấm) phù hợp với quy ước ngôn ngữ và văn hoá của một quốc gia hoặc vùng lãnh thổ cụ thể. Đây không phải là việc dịch thuật đơn thuần, mà là tuân thủ chuẩn Unicode CLDR (Common Locale Data Repository) và các quy định do tổ chức tiêu chuẩn quốc tế như ISO, ECMA-402 hoặc hệ điều hành (Windows, macOS, Android) xác định.

Ví dụ: Ngày 15 tháng 3 năm 2024 ở Việt Nam được viết là 15/03/2024 hoặc 15/3/2024, trong khi ở Mỹ là 3/15/2024, ở Đức là 15.03.2024, và ở Nhật Bản là 2024/03/15. Tương tự, số 1.234,56 ở Việt Nam (dùng chấm làm phân cách nghìn, phẩy làm phân cách thập phân) thì ở Đức lại là 1.234,56 — nhưng ở Anh/Mỹ là 1,234.56.

Tại sao quan trọng trong SEO?

Khi triển khai International SEO, việc hiển thị ngày giờ và số theo chuẩn địa phương ảnh hưởng trực tiếp đến ba yếu tố then chốt:

  • Độ tin cậy người dùng (trust): Người đọc thấy ngày tháng quen thuộc → cảm giác trang web “thuộc về họ”, không phải bản sao máy móc từ nước ngoài.
  • Trải nghiệm người dùng (UX): Người dùng dễ nhập liệu, so sánh thời gian, đọc giá cả — giảm tỷ lệ thoát và tăng thời gian tương tác.
  • Tín hiệu địa phương cho công cụ tìm kiếm: Google và Bing sử dụng dữ liệu hreflang, geo-targeting và nội dung có tính địa phương để xếp hạng. Định dạng ngày/giờ đúng là một trong những tín hiệu phụ hỗ trợ xác nhận tính phù hợp khu vực — đặc biệt với trang thương mại điện tử, sự kiện, đặt lịch, hoặc blog có bài đăng theo thời gian thực.

Lưu ý: Không có bằng chứng nào cho thấy định dạng ngày giờ ảnh hưởng trực tiếp đến thứ hạng — nhưng nó là thành phần thiết yếu của localisation toàn diện, và thiếu nó sẽ làm suy yếu hiệu quả của các yếu tố khác như hreflang hay cấu trúc URL đa ngôn ngữ.

Cách hoạt động

Hệ thống xác định định dạng ngày/giờ cục bộ dựa trên hai lớp thông tin:

  1. Ngôn ngữ + khu vực (locale): Được truyền qua HTTP header Accept-Language, thẻ <html lang="vi-VN">, hoặc cấu hình trong JavaScript (Intl.DateTimeFormat('vi-VN')).
  2. Cài đặt hệ thống người dùng: Trình duyệt và hệ điều hành lưu trữ locale mặc định (ví dụ: Windows 11 tiếng Việt → định dạng ngày dd/MM/yyyy, số dùng chấm phân cách nghìn).

Khi trang web tích hợp đúng, nó sẽ gọi API quốc tế như Intl.DateTimeFormat hoặc thư viện như date-fns / moment-timezone (với locale cụ thể), rồi render kết quả phù hợp — chứ không dùng chuỗi tĩnh kiểu '15/03/2024'.

Hướng dẫn thực hiện

Dưới đây là các bước kỹ thuật cần làm — áp dụng cho website chạy trên nền tảng phổ biến (WordPress, Next.js, Laravel, v.v.):

  1. Xác định rõ target locale: Không chỉ là ngôn ngữ (vi), mà phải kèm mã vùng (vi-VN). Ví dụ: vi-VNvivi-CM (Campuchia dùng tiếng Việt nhưng có khác biệt nhỏ về ngày lễ).
  2. Thiết lập thẻ HTML chuẩn: Đặt <html lang="vi-VN"> ở đầu tài liệu. Nếu có nhiều phiên bản, đảm bảo mỗi trang có hreflang chính xác (ví dụ: <link rel="alternate" hreflang="vi-VN" href="https://example.com/vi/">).
  3. Sử dụng API quốc tế trong code:
    • JavaScript: new Intl.DateTimeFormat('vi-VN', { dateStyle: 'full', timeStyle: 'short' }).format(new Date()) → trả về Thứ Năm, ngày 15 tháng 3 năm 2024 lúc 14:30.
    • PHP: Dùng IntlDateFormatter với Locale::VIETNAMESE hoặc setlocale(LC_TIME, 'vi_VN.UTF-8').
    • WordPress: Dùng hàm date_i18n() kết hợp với get_locale(), hoặc plugin hỗ trợ như WPML + String Translation.
  4. Định dạng số (giá tiền, lượt xem, đánh giá): Dùng Intl.NumberFormat('vi-VN'). Lưu ý: Tiền Việt Nam luôn dùng VND và không có phần thập phân nếu là số nguyên (ví dụ: 25.000.000 ₫, không viết 25.000.000,00 ₫ — trừ khi bắt buộc theo yêu cầu kế toán).
  5. Kiểm tra thời gian thực tế: Dùng trình duyệt ở chế độ giả lập locale (DevTools → Application → Rendering → Emulate locales), hoặc kiểm tra trên thiết bị thật có cài đặt tiếng Việt + múi giờ GMT+7.

Lỗi thường gặp

  • Dùng chuỗi tĩnh thay vì API quốc tế: Viết cứng 'dd/mm/yyyy' trong template → không thay đổi khi đổi locale. Cách khắc phục: Thay toàn bộ bằng hàm định dạng động, kiểm tra lại tất cả file template, email tự động, PDF xuất ra.
  • Gán sai locale (ví dụ: dùng vi thay vì vi-VN): Một số hệ thống xử lý vi như tiếng Việt chung chung, thiếu thông tin múi giờ hoặc định dạng số. Cách khắc phục: Luôn ưu tiên locale đầy đủ (BCP 47 standard), kiểm tra bằng Intl.DateTimeFormat().resolvedOptions().locale.
  • Bỏ qua thời gian thực tế (timezone): Hiển thị “Hôm nay, 10:00” nhưng không chuyển múi giờ → người dùng ở California thấy “Hôm nay, 10:00” khi đang là 22:00 ngày hôm trước. Cách khắc phục: Dùng timeZone: 'Asia/Ho_Chi_Minh' trong Intl.DateTimeFormat, hoặc lưu thời gian dưới dạng UTC rồi chuyển đổi phía client.
  • Không xử lý dữ liệu đầu vào: Người dùng nhập ngày theo định dạng địa phương, nhưng backend lại parse theo chuẩn ISO — gây lỗi. Cách khắc phục: Dùng thư viện như date-fns-tz hoặc validate input theo locale trước khi lưu.

Ví dụ thực tế

Một trang sự kiện tại Hà Nội (vi-VN) cần hiển thị:

Yếu tố Đúng (vi-VN) Sai (không địa phương hoá)
Ngày sự kiện Thứ Ba, ngày 26 tháng 3 năm 2024 Tuesday, March 26, 2024
Giờ bắt đầu 14:00 – 17:30 2:00 PM – 5:30 PM
Giá vé 350.000 ₫ $14.50
Số người đăng ký 12.450 người 12,450 people

→ Website đạt tỷ lệ chuyển đổi cao hơn 22% (theo báo cáo A/B test của một sàn sự kiện Việt Nam năm 2023), đồng thời giảm 37% yêu cầu hỗ trợ liên quan đến nhầm lẫn ngày giờ.

Câu hỏi thường gặp

local date/time format có cần thiết với trang chỉ tiếng Việt nhưng không định vị theo khu vực?

Có. Ngay cả khi chỉ phục vụ người Việt trong nước, việc dùng định dạng chuẩn vi-VN vẫn bắt buộc — vì đây là chuẩn duy nhất được hệ điều hành và trình duyệt hỗ trợ đầy đủ. Dùng vi hoặc en-US sẽ gây mâu thuẫn với kỳ vọng người dùng.

Nên dùng múi giờ nào cho website tiếng Việt?

Luôn dùng Asia/Ho_Chi_Minh (GMT+7) cho nội dung hướng đến Việt Nam. Không dùng GMT+7 tĩnh vì không xử lý được daylight saving — dù Việt Nam không áp dụng DST, nhưng chuẩn IANA timezone vẫn yêu cầu tên vùng rõ ràng để đảm bảo tương thích.

Có cần tối ưu định dạng ngày giờ cho Rich Snippets (Schema.org)?

Có, nhưng theo cách riêng: Schema.org yêu cầu định dạng ISO 8601 (ví dụ: 2024-03-26T14:00:00+07:00) trong thẻ JSON-LD — bất kể ngôn ngữ. Định dạng hiển thị cho người dùng và định dạng dữ liệu có cấu trúc là hai lớp riêng biệt và đều cần được xử lý đúng.