10 lỗi WordPress phổ biến và cách xử lý

Lỗi WordPress là vấn đề mà bất kỳ ai quản trị website cũng từng gặp phải ít nhất một lần. Từ màn hình trắng đáng sợ (White Screen of Death) đến thông báo “Error establishing database connection” khiến cả website ngừng hoạt động, những lỗi này có thể xuất hiện bất ngờ và gây thiệt hại nghiêm trọng đến doanh thu cũng như uy tín của bạn.

Theo thống kê từ WordPress.org, có tới 43% website trên toàn cầu đang sử dụng WordPress làm nền tảng. Với số lượng người dùng khổng lồ như vậy, các vấn đề kỹ thuật là không thể tránh khỏi. Tuy nhiên, tin vui là hầu hết các lỗi đều có giải pháp rõ ràng nếu bạn biết cách chẩn đoán đúng nguyên nhân.

Trong bài viết này, mình sẽ tổng hợp 10 lỗi WordPress phổ biến nhất kèm theo hướng dẫn chi tiết cách khắc phục từng lỗi. Đây là kinh nghiệm thực tế từ quá trình xử lý hàng trăm website WordPress, được sắp xếp theo mức độ thường gặp và độ nghiêm trọng. Sau bài viết này, bạn sẽ có một bộ “cẩm nang sơ cứu” để tự xử lý mọi sự cố WordPress mà không cần thuê developer.

Lỗi trắng trang (White Screen of Death)

Lỗi trắng trang hay còn gọi là White Screen of Death (WSoD) là một trong những lỗi WordPress khiến người dùng hoang mang nhất. Bạn truy cập website và chỉ thấy một màn hình trắng tinh, không có thông báo lỗi, không có bất kỳ manh mối nào. Đôi khi lỗi chỉ xảy ra ở trang admin (wp-admin) trong khi frontend vẫn hoạt động bình thường, hoặc ngược lại.

Lỗi WordPress trắng trang White Screen of Death và 3 bước sửa
White Screen of Death – lỗi WordPress không hiển thị thông báo

Nguyên nhân gây lỗi trắng trang

Có ba nguyên nhân chính dẫn đến lỗi này. Thứ nhất là xung đột plugin – khi một plugin có lỗi PHP hoặc không tương thích với phiên bản WordPress hiện tại. Thứ hai là theme bị lỗi, đặc biệt sau khi cập nhật hoặc cài đặt theme mới. Thứ ba là giới hạn bộ nhớ PHP (memory limit) quá thấp khiến script không thể chạy hoàn chỉnh.

Cách sửa lỗi trắng trang chi tiết

Bước đầu tiên là bật chế độ debug để xem thông báo lỗi cụ thể. Mở file wp-config.php qua FTP hoặc File Manager của hosting, tìm dòng define('WP_DEBUG', false) và đổi thành true. Đồng thời thêm define('WP_DEBUG_LOG', true) để ghi log vào file wp-content/debug.log.

Tiếp theo, vô hiệu hóa toàn bộ plugin bằng cách đổi tên thư mục wp-content/plugins thành plugins_old. Nếu website hoạt động trở lại, bạn đã xác định được nguyên nhân là plugin. Đổi tên ngược lại và kích hoạt từng plugin một để tìm ra “thủ phạm”.

Nếu plugin không phải nguyên nhân, hãy chuyển sang theme mặc định như Twenty Twenty-Four bằng cách đổi tên thư mục theme đang dùng. Trường hợp vẫn không khắc phục được, hãy tăng memory limit bằng cách thêm dòng define('WP_MEMORY_LIMIT', '256M') vào file wp-config.php.

Error 500 – Internal Server Error

Error 500 là lỗi WordPress báo hiệu sự cố từ phía server nhưng không cung cấp thông tin cụ thể. Đây là một trong những lỗi gây bực bội nhất vì thông báo chung chung khiến việc chẩn đoán trở nên khó khăn. Người dùng sẽ thấy thông báo “500 Internal Server Error” hoặc “HTTP Error 500” khi truy cập website.

Sửa lỗi WordPress Error 500 Internal Server Error với 3 nguyên nhân chính
3 nguyên nhân gây ra lỗi 500 trên WordPress và cách khắc phục

Các nguyên nhân chính của error 500

Nguyên nhân phổ biến nhất là file .htaccess bị lỗi do plugin hoặc thao tác thủ công sai. File này nằm ở thư mục gốc của WordPress và chứa các quy tắc rewrite URL quan trọng. Khi file bị hỏng, toàn bộ website sẽ trả về error 500.

Nguyên nhân thứ hai là PHP memory limit hết. WordPress mặc định chỉ sử dụng 32MB hoặc 64MB tùy hosting, nhưng nhiều plugin và theme hiện đại yêu cầu ít nhất 128MB để hoạt động ổn định. Nguyên nhân thứ ba là core file của WordPress bị hỏng do upload lỗi hoặc bị tấn công.

Quy trình sửa error 500

Hãy thử các bước theo thứ tự sau. Đầu tiên, đổi tên file .htaccess thành .htaccess_old, sau đó vào Settings > Permalinks trong WordPress admin và nhấn Save Changes để tạo file mới. Bước này khắc phục được khoảng 60% trường hợp error 500.

Nếu chưa được, hãy tăng memory limit lên 256MB hoặc 512MB bằng cách chỉnh sửa wp-config.php. Một số hosting Việt Nam giới hạn memory ở mức server nên bạn cần liên hệ nhà cung cấp để được nâng giới hạn.

Bước cuối cùng là tải lại core file WordPress. Download phiên bản mới nhất từ wordpress.org, giải nén và upload lại hai thư mục wp-admin, wp-includes đè lên thư mục hiện tại. Tuyệt đối không động vào thư mục wp-content để tránh mất dữ liệu.

Lỗi database (Error establishing database connection)

Lỗi database error với thông báo “Error establishing a database connection” là cơn ác mộng của mọi quản trị viên WordPress. Khi gặp lỗi này, toàn bộ website ngừng hoạt động hoàn toàn vì WordPress không thể truy xuất bất kỳ dữ liệu nào từ database MySQL.

Sửa lỗi database WordPress Error establishing database connection
Lỗi database WordPress – kiểm tra wp-config.php và DB_HOST

Vì sao xảy ra lỗi database?

Lỗi database thường xuất phát từ một trong các nguyên nhân sau: thông tin đăng nhập database trong file wp-config.php bị sai (do nhà cung cấp hosting đổi password mà không thông báo), database server bị down tạm thời, database bị corrupt sau khi bị tấn công hoặc tắt máy đột ngột, hoặc số lượng kết nối đồng thời vượt quá giới hạn của hosting (thường xảy ra với traffic cao).

Hướng dẫn khắc phục lỗi database

Việc đầu tiên cần kiểm tra là thông tin trong wp-config.php. Mở file này và xác nhận các thông số sau:

  • DB_NAME: Tên database, ví dụ mywebsite_wp
  • DB_USER: Tên người dùng database
  • DB_PASSWORD: Mật khẩu database
  • DB_HOST: Thường là localhost nhưng một số hosting dùng địa chỉ riêng

Đối chiếu các thông tin này với cPanel hoặc Plesk của hosting. Nếu sai, hãy cập nhật lại cho đúng. Nếu thông tin đúng mà vẫn lỗi, hãy thử sửa database bằng cách thêm dòng define('WP_ALLOW_REPAIR', true) vào wp-config.php, sau đó truy cập yourdomain.com/wp-admin/maint/repair.php và chọn Repair Database.

Trường hợp nghiêm trọng hơn, bạn cần truy cập phpMyAdmin để kiểm tra trực tiếp database. Nếu thấy các bảng (table) có trạng thái “in use” hoặc “crashed”, hãy chọn tất cả bảng và chạy lệnh “Repair table”. Đừng quên backup database trước khi thực hiện bất kỳ thao tác sửa chữa nào.

Lỗi plugin gây xung đột website

Lỗi plugin là một trong những loại lỗi WordPress phổ biến nhất, đặc biệt với những website cài đặt nhiều plugin để mở rộng tính năng. Một plugin xấu có thể làm chậm website, gây lỗi 500, làm trắng trang hoặc thậm chí phá vỡ giao diện admin khiến bạn không thể đăng nhập.

Sửa lỗi plugin WordPress bằng phương pháp binary search nhanh chóng
Phương pháp binary search tìm plugin gây lỗi WordPress

Các dấu hiệu của lỗi plugin

Bạn có thể nghi ngờ plugin gây lỗi khi: website đang bình thường bỗng dưng lỗi ngay sau khi cài hoặc cập nhật plugin, một số trang hoạt động trong khi trang khác bị lỗi, JavaScript trong admin không hoạt động (nút bấm, dropdown không phản hồi), hoặc xuất hiện thông báo PHP Fatal Error có tên plugin trong đường dẫn file lỗi.

Cách xử lý lỗi plugin chuyên nghiệp

Phương pháp “binary search” là cách hiệu quả nhất để tìm ra plugin gây lỗi. Vô hiệu hóa một nửa số plugin, kiểm tra website. Nếu lỗi vẫn còn, vô hiệu hóa tiếp một nửa của nửa đang bật. Nếu lỗi mất, kích hoạt lại một nửa của nửa đã tắt. Lặp lại cho đến khi tìm được plugin có vấn đề.

Nếu không thể truy cập wp-admin, hãy vào thư mục wp-content/plugins qua FTP và đổi tên thư mục của từng plugin để vô hiệu hóa chúng. Đổi tên thư mục plugins thành plugins_old sẽ tắt toàn bộ plugin cùng lúc.

Sau khi xác định được plugin gây lỗi, có ba lựa chọn: tìm phiên bản cũ hơn của plugin tương thích với cấu hình hiện tại, tìm plugin thay thế có chức năng tương tự, hoặc liên hệ tác giả plugin để báo cáo lỗi và chờ bản vá.

Plugin bảo mật và cập nhật định kỳ

Để phòng tránh lỗi plugin, bạn nên: chỉ cài plugin từ WordPress.org chính thức hoặc các marketplace uy tín như CodeCanyon, kiểm tra lượt cài đặt và đánh giá trước khi cài, xem ngày cập nhật cuối cùng (plugin không được update trong 6 tháng nên tránh), và luôn backup website trước khi cập nhật plugin quan trọng.

Lỗi giao diện (theme) sau khi cập nhật

Lỗi giao diện thường xảy ra khi bạn cập nhật theme mà không lưu lại các tùy chỉnh trước đó, hoặc khi theme không tương thích với phiên bản WordPress, PHP mới. Biểu hiện có thể là layout vỡ tung, mất CSS, hình ảnh không hiển thị, hoặc đơn giản là toàn bộ website trông như “trang HTML thô” không có style.

Sửa lỗi giao diện WordPress với child theme bảo vệ tùy chỉnh
Child theme – giải pháp bảo vệ tùy chỉnh WordPress khi update

Các loại lỗi theme thường gặp

Lỗi mất CSS là loại phổ biến nhất, thường do file cache của trình duyệt hoặc CDN còn lưu phiên bản cũ. Lỗi widget biến mất sau khi đổi theme do widget areas của theme cũ và mới không khớp nhau. Lỗi menu sai vị trí do menu locations khác biệt giữa các theme.

Ngoài ra còn có lỗi PHP fatal error khi theme dùng cú pháp PHP cũ không tương thích PHP 8.x, lỗi mất dữ liệu tùy chỉnh khi theme sử dụng theme options riêng mà không tuân theo Customizer API chuẩn.

Sửa lỗi theme an toàn

Quy tắc vàng: luôn dùng child theme khi tùy chỉnh. Child theme cho phép bạn chỉnh sửa code mà không sợ mất khi parent theme cập nhật. Nếu chưa có child theme, hãy tạo ngay bằng cách dùng plugin Child Theme Configurator hoặc tạo thủ công với file style.cssfunctions.php.

Khi gặp lỗi sau cập nhật, hãy thực hiện theo thứ tự: xóa cache trình duyệt và cache plugin, kiểm tra console của trình duyệt (F12) để xem lỗi JavaScript hay CSS, vào Appearance > Customize để regenerate lại các tùy chỉnh, vào Tools > Site Health để xem các cảnh báo từ WordPress.

Nếu lỗi nghiêm trọng, hãy tạm thời chuyển về theme mặc định Twenty Twenty-Four để website hoạt động trở lại, sau đó debug theme bị lỗi trên môi trường staging trước khi áp dụng lên production.

Cách debug WordPress chuyên nghiệp

Debug là kỹ năng quan trọng nhất khi xử lý lỗi WordPress. Thay vì đoán mò, debug giúp bạn xác định chính xác nguyên nhân, từ đó đưa ra giải pháp phù hợp. WordPress có sẵn nhiều công cụ debug mạnh mẽ mà nhiều người chưa biết tận dụng.

Cách debug lỗi WordPress với WP_DEBUG Query Monitor và server log
Bộ công cụ debug WordPress dành cho developer chuyên nghiệp

Bật chế độ WP_DEBUG

Mở file wp-config.php và thêm các dòng sau trước dòng /* That's all, stop editing! */:

  • define('WP_DEBUG', true): Bật chế độ debug
  • define('WP_DEBUG_LOG', true): Ghi log lỗi vào file wp-content/debug.log
  • define('WP_DEBUG_DISPLAY', false): Không hiển thị lỗi ra frontend (quan trọng với production)
  • define('SCRIPT_DEBUG', true): Dùng phiên bản không minify của CSS/JS để debug dễ hơn

Lưu ý quan trọng: chỉ bật WP_DEBUG_DISPLAY ở môi trường development, tuyệt đối không bật ở website production vì có thể lộ thông tin nhạy cảm như đường dẫn server, tên database cho hacker.

Sử dụng Query Monitor plugin

Query Monitor là plugin debug mạnh nhất cho WordPress, hoàn toàn miễn phí. Sau khi cài đặt, bạn sẽ thấy thanh debug ở trên cùng admin bar với các thông tin: số lượng database query và thời gian thực thi, HTTP API requests, hooks và actions đã trigger, PHP errors, warnings và notices, scripts và styles đang load, thời gian thực thi của từng plugin.

Plugin này đặc biệt hữu ích để phát hiện các vấn đề về hiệu năng như N+1 query, plugin chạy chậm bất thường, hay xung đột hook giữa các plugin. Đây là công cụ không thể thiếu cho developer WordPress chuyên nghiệp.

Đọc log lỗi server

Ngoài debug.log của WordPress, bạn cần biết cách đọc error log của server. Đối với hosting cPanel, log nằm ở Metrics > Errors hoặc ~/logs/error_log. Plesk có Logs trong từng domain. VPS có thể xem qua /var/log/apache2/error.log hoặc /var/log/nginx/error.log.

Khi đọc log, hãy chú ý các dòng có PHP Fatal error, PHP Parse error, hoặc PHP Warning kèm đường dẫn file cụ thể. Đây chính là manh mối quan trọng nhất để xác định nguyên nhân lỗi.

Lỗi đăng nhập wp-admin

Không thể đăng nhập wp-admin là tình huống đặc biệt căng thẳng vì bạn mất quyền quản trị website. Có thể là quên mật khẩu, bị khóa do nhập sai nhiều lần, lỗi cookie, hoặc bị tấn công brute force khiến WordPress tự động khóa.

Cách khắc phục bao gồm: reset mật khẩu qua phpMyAdmin bằng cách update bảng wp_users với hàm MD5(), xóa cookie và cache trình duyệt, vô hiệu hóa plugin bảo mật như Wordfence hoặc iThemes Security qua FTP, kiểm tra file .htaccess trong thư mục wp-admin.

Khi bạn đổi cấu trúc URL trong Settings > Permalinks, đôi khi các trang con bị lỗi 404 dù vẫn tồn tại trong database. Đây là do file .htaccess chưa được cập nhật lại với rule mới.

Giải pháp đơn giản nhất là vào lại Settings > Permalinks và nhấn Save Changes mà không thay đổi gì. WordPress sẽ tự động ghi lại file .htaccess với cấu trúc URL hiện tại. Nếu không có quyền ghi file, bạn cần thêm thủ công nội dung sau vào .htaccess: rule rewrite chuẩn của WordPress mà bạn có thể tìm thấy trong tài liệu trên wordpress.org.

Lỗi upload hình ảnh

Lỗi không upload được hình ảnh thường có thông báo như “Unable to create directory” hoặc “HTTP error”. Nguyên nhân chính là phân quyền file/folder sai, file ảnh quá lớn vượt giới hạn của PHP, hoặc thư mục uploads không có quyền ghi.

Để sửa, hãy đặt quyền 755 cho thư mục wp-content/uploads và quyền 644 cho các file bên trong. Đồng thời tăng các giá trị trong php.ini: upload_max_filesize, post_max_size, max_execution_time lên ít nhất 64M, 64M và 300 giây.

Lỗi memory exhausted

Thông báo “Allowed memory size of X bytes exhausted” xuất hiện khi WordPress vượt quá giới hạn bộ nhớ PHP được cấp. Đây là lỗi WordPress phổ biến khi cài plugin nặng như WooCommerce, Elementor hoặc khi import dữ liệu lớn.

Tăng memory limit bằng cách thêm vào wp-config.php dòng define('WP_MEMORY_LIMIT', '512M'). Nếu vẫn không hết, cần liên hệ hosting để tăng giới hạn PHP memory ở mức server. Trường hợp không thể tăng nữa, bạn nên xem xét chuyển sang gói hosting cao hơn hoặc VPS riêng.

Kết luận

Việc sửa lỗi WordPress không khó nếu bạn có quy trình debug bài bản và kiên nhẫn. 10 lỗi WordPress phổ biến mà mình đã trình bày chiếm tới 90% các vấn đề mà admin website gặp phải hàng ngày. Nắm vững các phương pháp xử lý này sẽ giúp bạn tự tin quản trị website mà không phụ thuộc vào developer.

Phòng bệnh luôn tốt hơn chữa bệnh. Hãy thực hiện các biện pháp phòng ngừa như: backup website định kỳ (ít nhất 1 lần/tuần), chỉ cài plugin và theme từ nguồn uy tín, luôn test trên môi trường staging trước khi cập nhật, cài đặt plugin bảo mật và monitoring uy tín, theo dõi tốc độ và uptime website thường xuyên. Bạn có thể tham khảo thêm bài Website tải chậm ảnh hưởng SEOThiết kế web bán hàng WordPress để hiểu sâu hơn về tối ưu website.

Khi gặp lỗi phức tạp không thể tự xử lý, đừng ngại tìm kiếm sự trợ giúp từ cộng đồng. Diễn đàn chính thức tại wordpress.org có hàng triệu thành viên sẵn sàng hỗ trợ miễn phí. Ngoài ra, stackoverflow.com là nơi tuyệt vời để tìm giải pháp cho các lỗi kỹ thuật phức tạp với hàng triệu câu trả lời chất lượng từ các developer chuyên nghiệp trên toàn thế giới.

Quốc Hùng

Tôi là Hùng – lập trình viên và chuyên gia thiết kế website WordPress với hơn 10 năm kinh nghiệm trong lĩnh vực phát triển web và SEO. Tôi tập trung xây dựng các website chuẩn SEO, tối ưu tốc độ tải trang, thân thiện với người dùng và đặc biệt hướng tới mục tiêu tăng trưởng traffic cũng như chuyển đổi thực tế cho doanh nghiệp.

Sayt bura: betandreas az