Kiểm tra hệ thống
Trang tự chẩn đoán: máy chủ có đủ điều kiện không, thư mục có ghi được không, tác vụ nền có chạy không, trang báo giá có bị lưu tạm không. Mỗi dòng lỗi đi kèm một câu hướng dẫn xử lý. Gặp lỗi mà không biết bắt đầu từ đâu thì mở trang này trước.
Mở trang Kiểm tra hệ thống
Mục cuối cùng của menu Báo giá.
- Có lỗi — số mục đỏ, cần xử lý.
- Cần chú ý — số mục vàng: chưa phải lỗi, nhưng có điều cần xem lại.
- Bình thường — số mục xanh.
- Chạy kiểm tra chuyên sâu — chạy các mục chậm: website tự mở thử vài đường dẫn của chính nó, dựng thử một file PDF, hỏi Telegram. Mất khoảng 10–30 giây, xong trang tự tải lại. Mục này cũng tự chạy mỗi ngày (khoảng 4 giờ sáng giờ site).
- Sao chép báo cáo chẩn đoán — chép toàn bộ kết quả thành văn bản để dán vào tin nhắn gửi bên hỗ trợ. Đường dẫn trên máy chủ, số tài khoản, token, mật khẩu và email đã được che sẵn.
- Kiểm tra chuyên sâu lần cuối — thời điểm lần chạy gần nhất. Chưa chạy lần nào thì các mục chuyên sâu hiện Chưa kiểm tra.
Bên dưới là 9 nhóm, mỗi nhóm một bảng bốn cột: Mục kiểm tra · Trạng thái (Bình thường / Cần chú ý / Có lỗi) · Kết quả (plugin đo được gì) · Cách xử lý (một câu hướng dẫn, chỉ hiện khi không bình thường; có mục kèm nút bấm).
Điều kiện máy chủ
- Phiên bản PHP — dưới 7.4 là lỗi; từ 8.5 trở lên là cần chú ý vì thư viện xuất Excel chưa chạy trên bản đó.
- Cần chú ý — dòng HTTPS trong ví dụ: site chưa chạy https.
- Kết quả — "Chưa có HTTPS — nút sao chép ảnh báo giá không hoạt động (trình duyệt chỉ cho chép ảnh trên HTTPS)".
- Cách xử lý — "Cài chứng chỉ SSL (Let's Encrypt miễn phí ở hầu hết hosting) rồi đổi Địa chỉ website sang https:// ở Cài đặt → Tổng quan."
Nhóm này còn kiểm WooCommerce (8.0 trở lên), WordPress (6.0 trở lên), Cơ sở dữ liệu (MySQL 5.6 / MariaDB 10.1 trở lên), Thành phần PHP cho xuất file (thiếu zip, xml, mbstring, gd là lỗi; thiếu intl, exif là cần chú ý) và Bộ nhớ PHP (dưới 128 MB là cần chú ý — tạo PDF báo giá nhiều dòng cần bộ nhớ).
Thư mục, thư viện & dữ liệu
- Đếm lại dung lượng — xếp một lượt đếm dung lượng thư mục ảnh báo giá chạy nền; tải lại trang sau ít phút để xem số mới.
- Thư mục riêng tư bị chặn truy cập web — Có lỗi nghĩa là người ngoài mở thẳng được file trong thư mục riêng tư của plugin.
- Cách xử lý — plugin giải thích: "Máy chủ không đọc file .htaccess (thường là nginx) nên PDF khách đã chốt, file nhập và thư viện tải về đang mở công khai. Thêm luật dưới đây vào khối server của website rồi tải lại nginx (hoặc nhờ nhà cung cấp hosting thêm)".
- Đoạn luật nginx — chép nguyên đoạn này gửi cho bên quản trị máy chủ. Đường dẫn trong luật được dựng theo đúng thư mục uploads của site bạn.
- Phiên bản dữ liệu — khớp mã nguồn là bình thường. Lệch hoặc báo đang treo: tải lại một trang quản trị bất kỳ để plugin chạy lại bước nâng cấp.
Theo plugin, lỗi này xảy ra khi máy chủ không đọc file .htaccess (thường là nginx), nên phải thêm luật chặn vào cấu hình máy chủ. Thêm xong bấm Chạy kiểm tra chuyên sâu: dòng này phải thành Bình thường với kết quả "Bị chặn đúng".
Các mục khác của nhóm: Thư mục lưu file báo giá (ghi được không), Thư viện xuất Excel (PhpSpreadsheet) (chưa tải thì nút xuất Excel bị ẩn — bấm Khởi tạo thư viện xuất Excel ở thông báo đầu trang), Dựng thử PDF tiếng Việt (mPDF), Bảng dữ liệu của plugin (thiếu bảng thì tắt rồi bật lại plugin).
Tác vụ nền, chỉ mục giá, hệ & combo
- Xem việc đang chờ — mở hàng đợi tác vụ nền của WooCommerce. Có việc quá hạn hơn 10 phút thì dòng Tác vụ nền (Action Scheduler) báo lỗi: thông báo không được gửi, bản nháp cũ không được dọn.
- Xem việc thất bại — các việc nền lỗi trong 7 ngày qua; lỗi gửi tin xem thêm ở Báo giá → Tin đã gửi.
- WP-Cron — website ít người vào thì việc hẹn giờ chạy trễ. Plugin gợi ý tắt WP-Cron (DISABLE_WP_CRON) và đặt cron hệ thống gọi
wp-cron.phpmỗi 5 phút. - Dựng lại toàn bộ chỉ mục giá — dựng lại bảng giá dùng cho bộ lọc giá và sắp xếp theo giá ngoài trang; chạy nền theo từng lô 200 sản phẩm, trong lúc chạy bộ lọc giá có thể lệch vài phút.
- Mở Hệ & combo — khi dòng Combo dựng sẵn báo có combo tự ẩn vì món hết hàng / tắt báo giá hoặc vi phạm quy tắc khoá cứng, hoặc có món ở hạng mục đã xoá. Dòng Quy tắc tự thay thế báo quy tắc nào có thiết bị thay thế không dùng được (hết hàng, tắt báo giá, đã xoá…) — nút Mở Quy tắc tương thích. Xem Hệ & combo.
Kênh gửi tin
- Gửi thử email — gửi một email thử tới email của tài khoản đang xem (tối đa 5 lần mỗi giờ). Chưa có plugin SMTP thì dòng Email (SMTP) là cần chú ý: plugin ghi rõ gửi bằng hàm mail() của máy chủ thì email báo giá rất dễ vào thư rác.
- Telegram — kết nối được với bot thì bình thường. Có thông báo dùng Telegram mà chưa khai token thì cần chú ý. Khai token ở tab Thông báo.
- Zalo cá nhân — chỉ cần chú ý khi có thông báo bật kênh Zalo mà chưa cài plugin kết nối Zalo cá nhân.
Trang báo giá, mẫu giao diện, bản quyền, báo cáo chẩn đoán
- Đường dẫn tĩnh & luật đường dẫn — link báo giá dạng /bao-gia/… cần đường dẫn tĩnh. Đang dùng kiểu mặc định ?p=123 là lỗi: vào Cài đặt → Đường dẫn tĩnh, chọn Tên bài viết rồi lưu.
- Trang báo giá không bị lưu tạm (cache) — mở thử trang báo giá hai lần; hai lần ra cùng nội dung là Có lỗi, vì khi đó khách này mở link lại thấy báo giá của khách khác. Trong ảnh là Cần chú ý với kết quả "Lần mở thứ hai không trả lời được … — chưa kết luận được": máy chủ không nhận thêm yêu cầu trong lúc kiểm tra, plugin gợi ý chạy lại lúc website ít việc.
- Mẫu giao diện trong theme — theme có ghi đè mẫu in / trang báo giá của plugin không, và bản ghi đè có cũ không. Có ghi đè thì mỗi file một dòng kèm nút Xem khác biệt.
- Mở Bản quyền — dòng Bản quyền plugin lấy trạng thái từ tab Bản quyền. Bản quyền chưa hợp lệ hoặc đang gia hạn thì dòng này ghi cùng câu với tab Bản quyền, gồm danh sách phần bị khoá và phần vẫn dùng được.
- Sao chép báo cáo chẩn đoán — giống nút ở đầu trang.
- Xem nội dung sẽ sao chép — mở ra xem đúng văn bản sẽ được chép trước khi gửi đi.
Khi dòng lưu tạm báo lỗi, plugin hướng dẫn: loại trừ đường dẫn /bao-gia/ khỏi bộ nhớ đệm của plugin tăng tốc đang bật (WP Rocket, LiteSpeed Cache…) và của máy chủ / CDN nếu có, rồi bấm Chạy kiểm tra chuyên sâu. Vừa bật một plugin tăng tốc mới thì dòng này chuyển sang cần chú ý cho tới khi kiểm lại.
Mẫu giao diện ghi đè đã cũ
Nếu theme có bản ghi đè mẫu của plugin cũ hơn bản gốc, đầu các trang quản trị (Bảng tin, Giao diện, Plugin, Cập nhật và các trang của plugin) hiện cảnh báo "DevVN Báo giá & Cấu hình — mẫu giao diện trong theme thiếu phần bắt buộc:" (đỏ) hoặc "… có bản cập nhật nhỏ:" (vàng), kèm liên kết Xem khác biệt. Trang khác biệt đặt bản trong theme (cột trái) cạnh bản gốc mới nhất (cột phải); plugin hướng dẫn chép phần tô xanh bên phải vào bản trong theme rồi đổi @version cho khớp. Riêng mẫu in PDF quá cũ, file gửi khách tự dùng mẫu gốc của plugin để không in sai số tiền. Chi tiết cho lập trình viên: Hook action & filter.
Bảng tra nhanh: báo lỗi thì làm gì
| Mục báo lỗi | Hướng dẫn của plugin |
|---|---|
| Thư mục lưu file báo giá | Cho máy chủ web quyền ghi thư mục uploads (chmod 755, chủ sở hữu là tài khoản chạy PHP) hoặc nhờ nhà cung cấp hosting sửa quyền. |
| Dựng thử PDF tiếng Việt (mPDF) | Máy chủ cần phần mở rộng PHP mbstring + gd và quyền ghi thư mục tạm; chi tiết lỗi ở WooCommerce → Trạng thái → Nhật ký, nguồn devvn-quote-builder. |
| Bảng dữ liệu của plugin | Tắt rồi bật lại plugin để tạo lại bảng; vẫn thiếu thì tài khoản cơ sở dữ liệu cần quyền CREATE TABLE — nhờ nhà cung cấp hosting cấp. |
| Tác vụ nền (Action Scheduler) | Kiểm tra mục WP-Cron; hosting chặn website tự gọi chính nó thì đặt cron hệ thống gọi wp-cron.php mỗi 5 phút. |
| Hệ mặc định | Tắt rồi bật lại plugin để tạo lại hệ mặc định, rồi vào Báo giá → Hệ & combo kiểm tra hạng mục của hệ. |
| Telegram (lỗi kết nối) | Kiểm tra lại token bot ở Báo giá → Cài đặt → Thông báo (lấy từ @BotFather); máy chủ phải gọi ra được api.telegram.org. |
| Ảnh báo giá gửi kèm tin Zalo | Máy chủ cần phần mở rộng PHP imagick, Ghostscript và chính sách ImageMagick cho phép đọc PDF. Chưa có thì tin Zalo vẫn gửi nhưng không kèm ảnh — hoặc bỏ chọn "Gửi kèm ảnh báo giá" ở tab Thông báo. |
| Tự mở thử đường dẫn trang báo giá | Vào Cài đặt → Đường dẫn tĩnh và bấm "Lưu thay đổi"; máy chủ nginx cần try_files $uri $uri/ /index.php?$args; để mọi đường dẫn về WordPress. |
| Mục chuyên sâu báo "Website không tự gọi được chính nó" | Máy chủ đang chặn website tự gọi chính nó (loopback) — nhờ nhà cung cấp hosting mở, hoặc kiểm tra tường lửa / plugin bảo mật, rồi chạy lại. |
| Mục không có hướng dẫn riêng | Gửi báo cáo chẩn đoán (nút ở cuối trang) cho bên hỗ trợ DevVN để được hướng dẫn. |
Kiểm tra đã đúng chưa
- Sửa xong một lỗi, bấm Chạy kiểm tra chuyên sâu (với các mục chuyên sâu) hoặc tải lại trang (với các mục còn lại): dòng đó phải chuyển sang Bình thường.
- Ô Có lỗi ở đầu trang về 0.
Lỗi thường gặp
| Hiện tượng | Cách xử lý |
|---|---|
| Không thấy mục Kiểm tra hệ thống trong menu | Chỉ quản trị viên thấy. |
| Bấm chạy kiểm tra báo "Bạn vừa chạy kiểm tra khá nhiều lần. Vui lòng chờ ít phút rồi thử lại." | Mỗi người chạy được tối đa 20 lần mỗi giờ. Chờ rồi thử lại. |
| Gửi thử email báo đã gửi mà không thấy thư | Xem cả mục Thư rác / Quảng cáo; cấu hình SMTP bằng hộp thư của công ty. |
| Nhiều mục chuyên sâu ghi Chưa kiểm tra | Chưa chạy kiểm tra chuyên sâu lần nào. Bấm nút ở đầu trang. |
Vẫn vướng: bấm Sao chép báo cáo chẩn đoán và gửi kèm khi liên hệ hỗ trợ. Xem thêm Giải đáp thắc mắc.