Tìm cách sửa lỗi trong WordPress

Việc vận hành một trang web WordPress để tối ưu hóa lợi ích mà nó mang lại cho doanh nghiệp là một việc không hề đơn giản. Nó đòi hỏi bạn phải có kỹ năng và kiến thức chuyên môn nhất định. Đặc biệt khi có sự cố xảy ra, việc tìm kiếm thông tin để xác định và khắc phục lỗi là một kỹ năng rất quan trọng.

Quá trình xác định nguyên nhân chính gây ra lỗi cho website của bạn có thể khác nhau tùy từng trường hợp. Đó là vì cấu trúc của một website WordPress khá là phức tạp và gồm nhiều thành phần có ảnh hưởng lẫn nhau. Vì vậy, để tìm ra nguyên nhân gây lỗi, chúng ta nên kiểm tra từng bước theo hướng dẫn dưới đây.

Nguồn gốc các lỗi trong WordPress

Trong WordPress, khi có lỗi xảy ra thì nguyên nhân chính có thể bắt nguồn từ các yếu tố sau:

  • Front-ends
  • Nền tảng web – WordPress
  • Web server (LAMP stack)
  • Hệ điều hành
  • Cơ sở hạ tầng phần cứng / VPS (Amazon, VMware ESXI ‘)
  • Mạng và bảo mật
Nguồn gốc các lỗi trong WordPress

Front-ends

Đối với người dùng cuối (end-user), khi phát hiện website xảy ra sự cố, họ sẽ thường chọn phương án là xóa bộ nhớ cache và DNS.

Tuy nhiên, đối với các developer, họ sẽ sử dụng developer tool có sẵn trên trình duyệt để tìm các lỗi HTML đồng thời kiểm tra và sửa lại trong phần code của website. Việc sửa code website sẽ được đề cập ở bước tiếp theo, phần Web Platform.

Các developer dùng tool trên trình duyệt để tìm và sửa lỗi.
Công cụ developer tool trên trình duyệt

Nền tảng web – WordPress

Hãy chú ý tới các file và danh mục quan trọng trong thư mục lưu trữ code của website (Thường có đường dẫn là /var/www/html/, mình gán đường dẫn này vào một biến là $WP_HOME để viết tắt cho các phần dưới đây).

  • $WP_HOME/wp-config.php: file cấu hình của trang web
  • $WP_HOME/wp-content: file chứa nội dung của website
  • $WP_HOME/wp-content/uploads: Thư mục chứa các file được tải lên của website. Thư mục này CÓ THỂ CẤU HÌNH ĐƯỢC.

Tạo một bản sao lưu

Quá trình sửa lỗi chắc chắn không tránh khỏi một số sai lầm gây ảnh hưởng tới quá trình vận hành trang web. Do đó, trước khi tiến hành bất cứ chỉnh sửa nào, hãy chắc chắn rằng bạn đã tạo một bản sao lưu (backup) cho website của mình. Bạn có thể sao lưu theme, mã nguồn và cơ sở dữ liệu đi kèm hoặc tốt hơn hết là toàn bộ dữ liệu lưu trên trên máy chủ.

Người quản trị website cũng nên chuẩn bị sẵn một vài phiên bản backup của website ở trạng thái ổn định nhất để giảm thiểu thời gian downtime của trang web. Để kiểm tra thời gian downtime của website, bạn có thể sử dụng các tool trong bài viết này.

Dọn dẹp bộ nhớ Cache

Dọn dẹp bộ nhớ Cache sẽ làm giảm tải và tối ưu hóa hiệu năng cho website. Bạn có thể thực hiện điều này một cách dễ dàng bằng cách sử dụng plugin. Mình đã từng viết bài tổng hợp top các plugin để dọn dẹp dữ liệu trong WordPress, bạn có thể tham khảo để chọn một plugin phù hợp nhé!

Kiểm tra các trang / bài đăng

Trước hết, hãy thử truy cập vào một số trang / bài đăng để kiểm tra xem chúng có đang gặp phải cùng một lỗi hay không. Thi thoảng việc tạo lại trang / bài đăng với nội dung tương tự cũng có thể khiến lỗi biến mất.

Kiểm tra plugin

Để kiểm tra sự cố có phải do plugin hay không, hãy làm theo các bước sau:

  1. Vô hiệu hóa plugin
  2. Kích hoạt lại plugin từng cái một
  3. Sau khi tái kích hoạt, hãy kiểm tra lại xem lỗi đã biến mất chưa. Nếu lỗi đã biến mất thì plugin đó chính là nguyên nhân gây ra sự cố. Còn nếu lỗi chưa biến mất, hãy tái kích hoạt plugin tiếp theo.
  4. Vô hiệu hóa plugin gây ra lỗi, sau đó cập nhật phiên bản mới nhất của nó hoặc tìm plugin khác thay thế nếu có thể.
  5. Kiểm tra các plugin khác để đảm bảo chúng không gây ra lỗi.

Kiểm tra theme

Để kiểm tra sự cố có phải do theme hay không, hãy làm theo các bước sau:

  1. Vô hiệu hóa theme hiện tại
  2. Kích hoạt theme mặc định hoặc bất cứ theme nào khác
  3. Nếu lỗi biến mất, thì theme đó chính là nguyên nhân gây ra sự cố. Nếu chưa, hãy chuyển sang phần tiếp theo
  4. Tắt tất cả plugin rồi kích hoạt từng cái một để đảm bảo không có lỗi kết hợp xảy ra. Nếu không phát hiện lỗi thì theme ban đầu chính là nguyên nhân.

Kiểm tra vùng lõi của WordPress

Để kiểm tra xem sự cố phải do vùng lõi của WordPress hay không, hãy làm theo các bước sau:

  1. Tải một phiên bản sạch của WordPress từ wordpress.org
  2. Liên kết tới trang web bằng SSH, FTP, …
  3. Đổi tên wp-adminwp-includes để đảm bảo hệ thống sẽ tải lên các bản sao sạch của các thư mục này
  4. Sao lưu thư mục wp-config.php để đề phòng
  5. Tải lên phiên bản sạch của WordPress
  6. Kiểm tra, nếu như không thấy lỗi, nguyên nhân chính là nằm ở phần core. Nếu vẫn thấy lỗi, hãy thực hiện các bước tiếp theo
  7. Tái kích hoạt theme của bạn và kiểm tra
  8. Tái kích hoạt các plugin của bạn và kiểm tra

Web Server (LAMP Stack)

Các web server là phần mềm chịu trách nhiệm tiếp nhận và xử lý các yêu cầu HTTP (HTTP request), sau đó phản hồi tới các máy trạm. Mọi trang web đều chạy trên một nền tảng web server nhất định. LAMP Stack (Linux – Apache – MySQL/MariaDB-PHP) là nền tảng phổ biến nhất trong số đó.

Kiểm tra Apache

Các danh mục quan trọng (Giá trị mặc định khi triển khai Apache trên CentOS. Giá trị này có thể thay đổi tùy thuộc vào từng nền tảng khác nhau) bao gồm:

Đường dẫn fileMô tả
/var/www/htmlDanh mục Webroot home
[root@centos-wp-01 wpadmin]# cat /etc/httpd/conf/httpd.conf | grep 'DocumentRoot'
#DocumentRoot: Thư mục mà chúng ta sử dụng cho
DocumentRoot là "/var/www/html"
/etc/httpd/Danh mục chính của máy chủ web Apache
[root@centos-wp-01 wpadmin]# cat /etc/httpd/conf/httpd.conf | grep 'ServerRoot'
ServerRoot "/etc/httpd"
/etc/httpd/conf.d/Danh mục các cấu hình của Apache
/etc/httpd/logsApache logs
[root@centos-wp-01 logs]# ls -1 /etc/httpd/logs
access_log
access_log-20200227
access_log-20200301
access_log-20200429
error_log
error_log-20200227
error_log-20200301
error_log-20200429
error_log-20200605
  • Các file cấu hình quan trọng: /etc/httpd/conf/httpd.conf
  • Danh sách các file cấu hình của Apache:
[root@centos-wp-01 logs]# ls -1 /etc/httpd/conf.d/
autoindex.conf
php.conf
phpMyAdmin.conf
README
userdir.conf
welcome.conf

Thường nếu có lỗi xảy ra thì nó sẽ xuất hiện tại phần Apache log, nhưng bạn cũng nên kiểm tra cả những phần khác nữa nhé.

Kiểm tra MySQL/MariaDB

Bạn cần kiểm tra database xem tên các loại dữ liệu đúng hay chưa. Ví dụ như username, password, …

PHP

Một kỹ thuật quan trọng để kiểm soát hoạt động của PHP là việc kích hoạt việc ghi nhận các lịch sử thay đổi (log). Các webmaster có thể làm việc này bằng cách chỉnh sửa file .htaccess hoặc php.ini. Khi một lỗi xảy ra, developer có thể backup và lưu lịch sử sửa lỗi và sao chép lại sự cố. Các thay đổi của hệ thống sẽ được ghi lại trong file log. Các thông tin này sẽ giúp các webmaster xác định nguyên nhân chính và đưa ra giải pháp.

Để xác định đường dẫn chính xác của file log, bạn có thể kiểm tra thông số $_SERVER['DOCUMENT_ROOT'].

Hệ điều hành và cơ sở hạ tầng phần cứng / VPS

Việc giám sát hiệu suất của hệ thống qua các thông số như RAM, dung lượng bộ nhớ, hiệu năng CPU, lưu lượng truy cập vô cùng quan trọng. Các thông số này có thể khác nhau tùy vào nền tảng hosting của từng website. Tuy nhiên, bạn cũng nên kiểm tra kỹ các thông số này để kiểm tra lỗi.

Kiểm tra các thông số của hệ thống để tìm cách sửa lỗi.

Mạng và bảo mật

Hãy đảm bảo lưu lượng cho các giao thức HTTP / HTTPS luôn hoạt động bình thường. Cài đặt mặc định của chúng là ở port 80/443 (HTTP/HTTPS). Các port quan trọng khác nên được quan tâm là 3306 cho MySQL / Maria DB.

Kiểm tra tình trạng mở cổng của các máy chủ từ xa để xác định lỗi.
Sử dụng công cụ network để kiểm tra tình trạng mở cổng
của các máy chủ từ xa

Lưu ý rằng số của các port trên là các giá trị phổ biến cho lưu lượng từ bên ngoài vào. Lưu lượng truy cập nội bộ từ các yêu cầu HTTP và truy cập dữ liệu có thể sẽ chạy trên các cổng khác nhau.

Nhờ sự giúp đỡ từ cộng đồng

Bởi vì WordPress có hệ thống cộng đồng phát triển rộng khắp thế giới, bạn có thể nhờ sự giúp đỡ của cộng đồng bằng cách đăng câu hỏi về vấn đề của mình cũng với ảnh chụp màn hình hoặc operational logs. Rất nhiều developer từ cộng đồng sẽ sẵn sàng hỗ trợ bạn.

Tìm cách sửa lỗi trong WordPress từ cộng đồng StackOverflow.
StackOverflow là một nguồn hữu ích để tìm kiếm cách sửa các lỗi
trên WordPress

Ngoài ra, bạn cũng có thể thuê các developer để xử lý lỗi cho trang web.

Khôi phục toàn bộ hệ thống về phiên bản ổn định trước đó

Trong nhiều trường hợp, giải pháp này được khuyến khích để giảm thiểu thời gian downtime của website. Một số lỗi phức tạp có thể mất vài giờ tới vài ngày để giải quyết. Do đó, bạn bắt buộc phải có phương án dự phòng nhằm giữ cho trang web của mình hoạt động ổn định bằng cách cho nó quay trở về phiên bản trước đó để dùng tạm trong khi sửa lỗi.

Khôi phục website WordPress về phiên bản ổn định trước đó trong khi tìm cách sửa lỗi.
Chuẩn bị một bản sao lưu cho toàn bộ máy chủ của bạn

Lời cuối

Mục đích cuối cùng của việc sửa lỗi là để tối ưu hiệu suất của website, từ đó đem lại lợi ích cho doanh nghiệp. Biết cách sửa các lỗi trong WordPress là một kỹ năng quan trọng và cần thiết đối với bất cứ webmaster nào để duy trì hoạt động bình thường của trang web của như tự nâng cao trình độ bản thân và thăng tiến trong công việc.

Hy vọng là sau khi đọc xong bài viết này, bạn đã biết tìm cách sửa các lỗi trong WordPress một cách đơn giản. Chúc may mắn và đừng quên theo dõi các bài viết tiếp theo của mình để tìm hiểu thêm các thông tin bổ ích về WordPress nhé!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *