Lỗi WordPress REST API 500 là một trong những vấn đề phổ biến nhất mà quản trị viên website gặp phải khi làm việc với các ứng dụng headless CMS, plugin Gutenberg hoặc tích hợp bên thứ ba. Mã lỗi 500 Internal Server Error xuất hiện khi máy chủ không thể xử lý yêu cầu REST API do lỗi cấu hình, xung đột plugin hoặc giới hạn tài nguyên. Bài viết này sẽ phân tích chi tiết nguyên nhân gốc rễ và cung cấp các giải pháp thực tế để khắc phục lỗi WordPress REST API 500 một cách triệt để.
WordPress REST API 500 là gì?

WordPress REST API là giao diện lập trình ứng dụng cho phép các ứng dụng bên ngoài tương tác với cơ sở dữ liệu WordPress thông qua các yêu cầu HTTP. Khi máy chủ trả về mã lỗi 500 cho các endpoint REST API, điều này có nghĩa là đã xảy ra lỗi nghiêm trọng trong quá trình xử lý yêu cầu, khiến máy chủ không thể hoàn tất tác vụ.
Lỗi WordPress REST API 500 khác với lỗi 404 (Not Found) hay 403 (Forbidden) ở chỗ nó không liên quan đến quyền truy cập hay đường dẫn sai, mà xuất phát từ sự cố nội bộ trong mã nguồn hoặc môi trường máy chủ. Điều này khiến việc chẩn đoán trở nên phức tạp hơn vì không có thông báo lỗi cụ thể.
Nguyên nhân phổ biến gây ra lỗi WordPress REST API 500
Xung đột plugin và theme
Plugin và theme là nguyên nhân hàng đầu gây ra lỗi WordPress REST API 500. Khi một plugin can thiệp vào quá trình xử lý REST API, nó có thể làm hỏng cấu trúc phản hồi hoặc gây ra vòng lặp vô hạn. Các plugin bảo mật, caching, và custom endpoint thường dễ gây xung đột nhất.
Ví dụ thực tế: Plugin bảo mật Wordfence đôi khi chặn các yêu cầu REST API từ ứng dụng bên ngoài, dẫn đến lỗi 500. Tương tự, plugin caching như W3 Total Cache có thể lưu trữ phiên bản lỗi của phản hồi API, gây ra lỗi liên tục.
Giới hạn bộ nhớ PHP (Memory Limit)
WordPress REST API yêu cầu một lượng bộ nhớ nhất định để xử lý các yêu cầu phức tạp. Khi giới hạn bộ nhớ PHP quá thấp, máy chủ không thể hoàn tất quá trình xử lý và trả về lỗi 500. Giới hạn mặc định 32MB hoặc 64MB thường không đủ cho các website có nhiều dữ liệu hoặc plugin nặng.
Thống kê cho thấy hơn 40% lỗi REST API 500 liên quan đến giới hạn bộ nhớ PHP không đủ. Khi website có hơn 100 bài viết hoặc sử dụng nhiều custom post type, nhu cầu bộ nhớ tăng đáng kể.
Lỗi cấu hình.htaccess và rewrite rules
Tệp.htaccess đóng vai trò quan trọng trong việc định tuyến các yêu cầu REST API. Khi các quy tắc rewrite bị hỏng hoặc xung đột, máy chủ Apache không thể chuyển hướng yêu cầu đến đúng endpoint, dẫn đến lỗi 500. Điều này thường xảy ra sau khi cài đặt plugin SEO hoặc thay đổi cấu trúc permalink.
Lỗi PHP syntax trong mã nguồn
Một lỗi cú pháp PHP nhỏ trong tệp functions.php của theme hoặc plugin cũng có thể gây ra lỗi WordPress REST API 500. Khi WordPress cố gắng thực thi mã bị lỗi trong quá trình xử lý REST API, toàn bộ yêu cầu sẽ thất bại và trả về mã lỗi 500.
Vấn đề về SSL/TLS và HTTPS
Khi website sử dụng HTTPS nhưng cấu hình SSL không đúng, các yêu cầu REST API có thể bị chặn hoặc xử lý sai. Lỗi chứng chỉ SSL hết hạn hoặc cấu hình mixed content cũng là nguyên nhân phổ biến gây ra lỗi 500.
Cách kiểm tra và chẩn đoán lỗi WordPress REST API 500

Kích hoạt WP_DEBUG để xem lỗi chi tiết
Cách nhanh nhất để xác định nguyên nhân lỗi WordPress REST API 500 là kích hoạt chế độ debug của WordPress. Thêm đoạn mã sau vào tệp wp-config.php:
define(‘WP_DEBUG’, true); define(‘WP_DEBUG_LOG’, true); define(‘WP_DEBUG_DISPLAY’, false);
Sau đó, kiểm tra tệp wp-content/debug.log để xem thông báo lỗi chi tiết. Các lỗi PHP fatal error thường được ghi lại ở đây, giúp xác định chính xác plugin hoặc theme nào gây ra sự cố.
Sử dụng REST API Console để kiểm tra endpoint
Công cụ REST API Console cho phép gửi yêu cầu thử nghiệm đến các endpoint cụ thể. Nếu endpoint /wp-json/wp/v2/posts trả về lỗi 500 trong khi /wp-json/wp/v2/pages hoạt động bình thường, vấn đề có thể nằm ở custom post type hoặc plugin liên quan đến bài viết.
Kiểm tra log máy chủ (Server Error Logs)
Log máy chủ Apache hoặc Nginx cung cấp thông tin chi tiết về lỗi 500. Truy cập vào control panel hosting hoặc sử dụng lệnh tail -f /var/log/apache2/error.log để theo dõi lỗi theo thời gian thực. Các lỗi PHP memory limit hoặc max execution time thường xuất hiện rõ ràng trong log này.
Hướng dẫn khắc phục lỗi WordPress REST API 500 từng bước
Bước 1: Tăng giới hạn bộ nhớ PHP
Mở tệp wp-config.php và thêm dòng sau trước dòng / That’s all, stop editing! /:
define(‘WP_MEMORY_LIMIT’, ‘256M’); define(‘WP_MAX_MEMORY_LIMIT’, ‘512M’);
Nếu không có quyền truy cập vào tệp wp-config.php, liên hệ với nhà cung cấp hosting để tăng memory_limit trong php.ini. Giới hạn 128MB là mức tối thiểu cho hầu hết website, trong khi 256MB hoặc 512MB phù hợp cho các website thương mại điện tử hoặc có nhiều plugin.
Bước 2: Vô hiệu hóa tất cả plugin
Truy cập vào thư mục wp-content/plugins thông qua FTP hoặc File Manager. Đổi tên thư mục plugins thành plugins_old để vô hiệu hóa tất cả plugin cùng lúc. Nếu lỗi WordPress REST API 500 biến mất, tiến hành kích hoạt từng plugin để xác định plugin gây lỗi.
Quy trình kiểm tra plugin:
- Đổi tên thư mục plugins thành plugins_old
- Tạo thư mục plugins mới
- Cài đặt và kích hoạt từng plugin một
- Sau mỗi lần kích hoạt, kiểm tra REST API endpoint
- Ghi lại plugin nào gây ra lỗi 500
Bước 3: Chuyển về theme mặc định
Theme hiện tại có thể chứa mã lỗi trong tệp functions.php. Chuyển sang theme WordPress mặc định như Twenty Twenty-Four để kiểm tra. Nếu lỗi biến mất, vấn đề nằm ở theme đang sử dụng. Liên hệ với nhà phát triển theme để được hỗ trợ sửa lỗi.
Bước 4: Reset permalink và.htaccess
Truy cập vào Settings > Permalinks trong WordPress admin, chọn lại định dạng permalink mặc định, sau đó chuyển lại về định dạng mong muốn. Thao tác này sẽ flush rewrite rules và tạo lại tệp.htaccess. Nếu tệp.htaccess bị hỏng, xóa nó và để WordPress tạo lại tự động.
Bước 5: Kiểm tra và sửa lỗi SSL
Đảm bảo chứng chỉ SSL còn hiệu lực và cấu hình HTTPS đúng. Sử dụng công cụ SSL Labs để kiểm tra. Nếu website sử dụng reverse proxy hoặc CDN, cấu hình thêm header X-Forwarded-Proto để WordPress nhận biết đúng giao thức HTTPS.
So sánh các phương pháp khắc phục lỗi WordPress REST API 500

| Phương pháp | Thời gian thực hiện | Hiệu quả | Rủi ro |
|---|---|---|---|
| Tăng memory limit PHP | 5 phút | Cao nếu nguyên nhân do bộ nhớ | Thấp |
| Vô hiệu hóa plugin | 15-30 phút | Rất cao | Trung bình (mất cấu hình plugin) |
| Chuyển theme mặc định | 10 phút | Cao nếu do theme | Thấp |
| Reset permalink | 5 phút | Trung bình | Thấp |
| Kiểm tra SSL | 10 phút | Cao nếu do SSL | Thấp |
Sai lầm thường gặp khi xử lý lỗi WordPress REST API 500
Bỏ qua việc kiểm tra log lỗi
Nhiều quản trị viên cố gắng sửa lỗi mà không xem log chi tiết, dẫn đến mất thời gian với các giải pháp không phù hợp. Log lỗi cung cấp thông tin chính xác về nguyên nhân, giúp tiết kiệm đến 70% thời gian khắc phục.
Thay đổi quá nhiều thứ cùng lúc
Khi thực hiện nhiều thay đổi cùng lúc, khó xác định thay đổi nào thực sự giải quyết vấn đề. Luôn thực hiện từng bước một và kiểm tra kết quả sau mỗi bước.
Không sao lưu trước khi can thiệp
Sao lưu cơ sở dữ liệu và tệp tin trước khi thực hiện bất kỳ thay đổi nào. Một lỗi nhỏ trong quá trình sửa chữa có thể làm hỏng toàn bộ website.
Lưu ý quan trọng khi làm việc với WordPress REST API

Luôn kiểm tra phiên bản WordPress và PHP tương thích. WordPress 6.0 trở lên yêu cầu PHP 7.4 hoặc cao hơn. Sử dụng PHP 8.0 hoặc 8.1 giúp cải thiện hiệu suất REST API và giảm thiểu lỗi 500.
Cấu hình CORS (Cross-Origin Resource Sharing) đúng cách nếu REST API được gọi từ domain khác. Thiếu header Access-Control-Allow-Origin có thể gây ra lỗi 500 trên một số trình duyệt.
Giới hạn số lượng yêu cầu REST API từ cùng một IP bằng plugin bảo mật để tránh quá tải máy chủ. Quá nhiều yêu cầu đồng thời có thể làm server quá tải và trả về lỗi 500.
Câu hỏi thường gặp về lỗi WordPress REST API 500
Làm thế nào để kiểm tra REST API có hoạt động không?
Truy cập vào đường dẫn https://yourdomain.com/wp-json/wp/v2/posts. Nếu thấy dữ liệu JSON, REST API hoạt động bình thường. Nếu thấy lỗi 500 hoặc trang trắng, cần tiến hành các bước khắc phục.
Lỗi WordPress REST API 500 có ảnh hưởng đến SEO không?
Có, lỗi này ảnh hưởng trực tiếp đến SEO nếu website sử dụng headless WordPress hoặc plugin Gutenberg. Google có thể không index được nội dung mới nếu REST API không hoạt động. Ngoài ra, các ứng dụng di động và tích hợp bên thứ ba cũng ngừng hoạt động.
Có cần cài đặt plugin để khắc phục lỗi REST API 500 không?
Không nên cài thêm plugin khi đang gặp lỗi vì có thể làm tình hình tồi tệ hơn. Sử dụng các phương pháp thủ công như kiểm tra log, tăng memory limit, và vô hiệu hóa plugin là an toàn nhất.
Lỗi REST API 500 có phải do hosting không?
Có thể. Hosting chia sẻ với tài nguyên hạn chế thường gây ra lỗi này khi website có lượng truy cập cao. Nâng cấp lên VPS hoặc dedicated server giúp giải quyết vấn đề về tài nguyên.
Bao lâu thì khắc phục được lỗi WordPress REST API 500?
Thời gian khắc phục phụ thuộc vào nguyên nhân. Nếu do plugin xung đột, mất khoảng 30 phút. Nếu do cấu hình máy chủ, có thể mất vài giờ. Trung bình, các lỗi đơn giản được giải quyết trong vòng 1-2 giờ.
Kết luận
Lỗi WordPress REST API 500 là vấn đề kỹ thuật phức tạp nhưng hoàn toàn có thể khắc phục nếu áp dụng đúng quy trình. Nguyên nhân chính thường đến từ xung đột plugin, giới hạn bộ nhớ PHP, hoặc lỗi cấu hình máy chủ. Bằng cách kích hoạt WP_DEBUG, kiểm tra log lỗi, và thực hiện từng bước khắc phục có hệ thống, bạn có thể giải quyết triệt để vấn đề này.
Để phòng ngừa lỗi WordPress REST API 500 trong tương lai, duy trì cập nhật WordPress, plugin và theme thường xuyên. Sử dụng hosting chất lượng với tài nguyên đủ lớn và thiết lập giới hạn bộ nhớ PHP phù hợp. Sao lưu website định kỳ và kiểm tra REST API sau mỗi lần cập nhật để phát hiện sớm các vấn đề tiềm ẩn.
- Cách xử lý lỗi “Plugin WordPress Requires Older PHP” – Hướng dẫn chi tiết từ A đến Z
- Hướng dẫn tùy chỉnh widget sidebar WordPress toàn diện từ A-Z cho người mới bắt đầu
- Cách khắc phục lỗi plugin wordpress update failed triệt để từ A-Z
- WordPress Market Share 2025: Thống Kê, Phân Tích và Tương Lai Của CMS Số 1 Thế Giới
- Cổng thanh toán WooCommerce: Giải pháp tối ưu cho cửa hàng trực tuyến
















