WordPress REST API là một trong những tính năng mạnh mẽ nhất của nền tảng này, cho phép các ứng dụng bên ngoài tương tác với website thông qua các yêu cầu HTTP. Tuy nhiên, không ít người dùng gặp phải tình trạng wordpress rest api error khi cố gắng kết nối hoặc thực hiện các thao tác. Lỗi này có thể xuất hiện dưới nhiều hình thức khác nhau, từ mã lỗi 401 Unauthorized đến 500 Internal Server Error, gây gián đoạn nghiêm trọng đến hoạt động của website. 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 khắc phục hiệu quả.
WordPress REST API Error Là Gì?

WordPress REST API (Representational State Transfer Application Programming Interface) là một giao diện lập trình cho phép các ứng dụng bên ngoài gửi và nhận dữ liệu từ website WordPress thông qua các điểm cuối (endpoints) như /wp-json/wp/v2/posts hoặc /wp-json/wp/v2/users. Khi một yêu cầu gửi đến API không được xử lý thành công, hệ thống sẽ trả về một thông báo lỗi, thường được gọi chung là wordpress rest api error.
Lỗi này có thể biểu hiện dưới nhiều dạng khác nhau, bao gồm mã trạng thái HTTP 400 (Bad Request), 401 (Unauthorized), 403 (Forbidden), 404 (Not Found) hoặc 500 (Internal Server Error). Mỗi mã lỗi đều mang một ý nghĩa riêng và yêu cầu cách xử lý khác nhau.
Nguyên Nhân Phổ Biến Gây Ra WordPress REST API Error

Xung Đột Plugin Hoặc Theme
Plugin và theme là nguyên nhân hàng đầu dẫn đến lỗi REST API. Nhiều plugin bảo mật như Wordfence, Sucuri hoặc iThemes Security có thể chặn các yêu cầu API nếu chúng cho rằng đó là hành vi đáng ngờ. Tương tự, các plugin tối ưu hóa hiệu suất như W3 Total Cache hoặc WP Super Cache đôi khi can thiệp vào cơ chế xử lý yêu cầu của API.
Một số theme không tuân thủ các tiêu chuẩn của WordPress cũng có thể ghi đè lên các hàm REST API mặc định, dẫn đến xung đột và gây ra lỗi.
Sai Cấu Hình Permalink
Cấu trúc permalink không chính xác là một nguyên nhân phổ biến khác. WordPress REST API dựa vào cấu trúc URL để xác định các điểm cuối. Nếu permalink được đặt ở chế độ mặc định (Plain), các yêu cầu API có thể không được định tuyến đúng cách, dẫn đến lỗi 404 hoặc 500.
Vấn Đề Về Quyền Hạn (Authentication)
Khi thực hiện các yêu cầu yêu cầu xác thực như tạo bài viết mới hoặc cập nhật người dùng, việc thiếu hoặc sai thông tin xác thực (nonce, cookie, hoặc token) sẽ gây ra lỗi 401 Unauthorized. Điều này thường xảy ra khi sử dụng các ứng dụng bên ngoài hoặc plugin không được cấu hình đúng cách.
Giới Hạn Từ Server Hosting
Máy chủ hosting có thể áp đặt các giới hạn về tài nguyên như thời gian thực thi tối đa (max_execution_time) hoặc bộ nhớ (memory_limit). Khi một yêu cầu API vượt quá các giới hạn này, server sẽ trả về lỗi 500 Internal Server Error. Ngoài ra, một số nhà cung cấp hosting chặn các phương thức HTTP như PUT, DELETE hoặc PATCH vì lý do bảo mật.
Lỗi Từ File.htaccess Hoặc Nginx Configuration
File.htaccess (đối với Apache) hoặc cấu hình Nginx có thể chứa các quy tắc rewrite không chính xác, ngăn chặn các yêu cầu đến REST API. Điều này đặc biệt phổ biến sau khi di chuyển website hoặc cài đặt các plugin bảo mật.
Các Loại WordPress REST API Error Thường Gặp

| Mã Lỗi | Mô Tả | Nguyên Nhân Chính |
|---|---|---|
| 400 Bad Request | Yêu cầu không hợp lệ do cú pháp sai | Thiếu tham số bắt buộc, dữ liệu JSON không đúng định dạng |
| 401 Unauthorized | Yêu cầu chưa được xác thực | Thiếu nonce, cookie hoặc token không hợp lệ |
| 403 Forbidden | Yêu cầu bị từ chối | Plugin bảo mật chặn, quyền hạn người dùng không đủ |
| 404 Not Found | Điểm cuối API không tồn tại | Sai URL, permalink lỗi, REST API bị vô hiệu hóa |
| 500 Internal Server Error | Lỗi máy chủ nội bộ | Xung đột plugin, lỗi PHP, giới hạn tài nguyên server |
Cách Khắc Phục WordPress REST API Error Chi Tiết
Kiểm Tra Trạng Thái REST API
Trước khi thực hiện bất kỳ thay đổi nào, hãy kiểm tra xem REST API có hoạt động hay không bằng cách truy cập trực tiếp vào URL: https://yourdomain.com/wp-json/. Nếu thấy trang hiển thị dữ liệu JSON, API đang hoạt động bình thường. Nếu nhận được thông báo lỗi, hãy ghi lại mã lỗi để xác định hướng xử lý.
Bạn cũng có thể sử dụng công cụ như Postman hoặc curl để gửi yêu cầu GET đến endpoint cụ thể và xem phản hồi chi tiết.
Vô Hiệu Hóa Plugin Và Theme Để Xác Định Xung Đột
Đây là bước quan trọng nhất để xác định nguyên nhân. Hãy tạm thời vô hiệu hóa tất cả các plugin và chuyển về theme mặc định (như Twenty Twenty-Four). Sau đó kiểm tra lại REST API. Nếu lỗi biến mất, hãy kích hoạt từng plugin một để tìm ra plugin gây xung đột.
Một số plugin thường gây lỗi bao gồm:
- Plugin bảo mật: Wordfence, Sucuri, iThemes Security
- Plugin cache: W3 Total Cache, WP Super Cache, WP Rocket
- Plugin tối ưu hóa: Autoptimize, WP-Optimize
- Plugin xây dựng trang: Elementor, WPBakery (khi có xung đột phiên bản)
- Cookie Authentication: Sử dụng cho các yêu cầu từ cùng một domain, yêu cầu nonce được tạo từ wp_create_nonce(‘wp_rest’).
- Basic Authentication: Sử dụng tên người dùng và mật khẩu, thường dùng cho ứng dụng bên ngoài.
- OAuth: Phương thức bảo mật cao hơn, phù hợp với các ứng dụng phức tạp.
Kiểm Tra Và Sửa Lỗi Permalink
Vào Dashboard > Settings > Permalinks, chọn một cấu trúc khác (ví dụ: Post name) và nhấn Save Changes. Thao tác này sẽ làm mới lại file.htaccess và cấu trúc URL. Sau đó kiểm tra lại REST API.
Nếu vẫn gặp lỗi, hãy kiểm tra file.htaccess trong thư mục gốc của WordPress. Đảm bảo rằng các quy tắc rewrite mặc định của WordPress vẫn còn nguyên vẹn:
# BEGIN WordPress
RewriteEngine On
RewriteRule. – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME}!-f
RewriteCond %{REQUEST_FILENAME}!-d
RewriteRule. /index.php [L]
# END WordPress
Xử Lý Lỗi Xác Thực (Authentication)
Đối với các yêu cầu yêu cầu xác thực, hãy đảm bảo rằng bạn đang sử dụng đúng phương thức. WordPress REST API hỗ trợ ba phương thức xác thực chính:
Nếu bạn đang sử dụng plugin để quản lý API, hãy kiểm tra cấu hình xác thực trong plugin đó.
Tăng Giới Hạn Tài Nguyên Server
Nếu lỗi 500 xuất hiện khi xử lý các yêu cầu lớn, hãy tăng giới hạn tài nguyên trong file wp-config.php:
define(‘WP_MEMORY_LIMIT’, ‘256M’);
define(‘WP_MAX_MEMORY_LIMIT’, ‘512M’);
set_time_limit(300);
Nếu không có quyền truy cập vào file này, hãy liên hệ với nhà cung cấp hosting để yêu cầu tăng giới hạn.
Kiểm Tra Và Sửa Lỗi CORS
Lỗi CORS (Cross-Origin Resource Sharing) thường xảy ra khi ứng dụng bên ngoài cố gắng truy cập REST API từ một domain khác. Để khắc phục, thêm đoạn code sau vào file functions.php của theme:
add_action(‘rest_api_init’, function() {
remove_filter(‘rest_pre_serve_request’, ‘rest_send_cors_headers’);
add_filter(‘rest_pre_serve_request’, function($value) {
header(‘Access-Control-Allow-Origin: ‘);
header(‘Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS’);
header(‘Access-Control-Allow-Credentials: true’);
header(‘Access-Control-Allow-Headers: Authorization, Content-Type, X-WP-Nonce’);
return $value;
});
}, 15);
Sai Lầm Thường Gặp Khi Xử Lý WordPress REST API Error

Nhiều người dùng thường vội vàng cài đặt plugin sửa lỗi mà không kiểm tra nguyên nhân gốc rễ. Điều này có thể dẫn đến xung đột mới và làm tình hình tồi tệ hơn. Một sai lầm khác là bỏ qua việc sao lưu website trước khi thực hiện các thay đổi lớn như vô hiệu hóa plugin hoặc chỉnh sửa file hệ thống.
Ngoài ra, việc sử dụng các đoạn code không rõ nguồn gốc từ các diễn đàn có thể gây ra lỗ hổng bảo mật nghiêm trọng. Luôn kiểm tra kỹ lưỡng và chỉ áp dụng các giải pháp từ nguồn đáng tin cậy.
Lưu Ý Quan Trọng Khi Làm Việc Với WordPress REST API
Luôn giữ WordPress, plugin và theme ở phiên bản mới nhất để tránh các lỗi bảo mật và tương thích. Khi phát triển ứng dụng sử dụng REST API, hãy kiểm tra kỹ các endpoint trong môi trường staging trước khi triển khai lên production.
Sử dụng logging để ghi lại các yêu cầu API và phản hồi lỗi. Plugin như WP Debugging hoặc Query Monitor có thể giúp bạn theo dõi chi tiết các lỗi xảy ra. Đối với các website lớn, cân nhắc sử dụng dịch vụ API Gateway để quản lý và bảo vệ REST API hiệu quả hơn.
Câu Hỏi Thường Gặp Về WordPress REST API Error

Làm thế nào để kiểm tra WordPress REST API có hoạt động không?
Truy cập trực tiếp vào URL https://yourdomain.com/wp-json/. Nếu thấy dữ liệu JSON hiển thị, API đang hoạt động. Bạn cũng có thể sử dụng công cụ Postman hoặc curl để gửi yêu cầu GET đến endpoint cụ thể.
Tại sao REST API trả về lỗi 401 khi tôi đã đăng nhập?
Lỗi 401 thường do thiếu nonce hoặc nonce không hợp lệ. Hãy đảm bảo
Có, nhiều plugin bảo mật như Wordfence hoặc Sucuri có thể chặn các yêu cầu API nếu chúng cho rằng đó là hành vi tấn công. Hãy kiểm tra nhật ký bảo mật và tạm thời vô hiệu hóa plugin để xác định nguyên nhân.
Lỗi 500 Internal Server Error khi gọi REST API là do đâu?
Nguyên nhân phổ biến nhất là xung đột plugin, lỗi PHP hoặc giới hạn tài nguyên server. Hãy kiểm tra error log của server, tăng memory limit và vô hiệu hóa plugin để xác định vấn đề.
Có cách nào để vô hiệu hóa REST API hoàn toàn không?
Có, bạn có thể thêm đoạn code sau vào file functions.php: add_filter(‘rest_authentication_errors’, function($result) { return new WP_Error(‘rest_disabled’, ‘REST API is disabled.’, array(‘status’ => 403)); }); Tuy nhiên, việc này sẽ ảnh hưởng đến nhiều tính năng của WordPress.
Kết Luận
WordPress REST API error là vấn đề kỹ thuật phổ biến nhưng hoàn toàn có thể khắc phục nếu bạn hiểu rõ nguyên nhân và áp dụng đúng phương pháp. Từ việc kiểm tra trạng thái API, vô hiệu hóa plugin xung đột, sửa lỗi permalink cho đến tăng giới hạn tài nguyên server, mỗi bước đều đóng vai trò quan trọng trong quá trình xử lý.
Quan trọng nhất, hãy luôn sao lưu website trước khi thực hiện bất kỳ thay đổi nào và ưu tiên sử dụng các giải pháp từ nguồn đáng tin cậy. Nếu đã thử tất cả các cách mà vẫn không khắc phục được, đừng ngần ngại liên hệ với nhà cung cấp hosting hoặc chuyên gia WordPress để được hỗ trợ kịp thời.
- Hướng dẫn chi tiết cách thêm widget WordPress cho người mới bắt đầu
- Theme WordPress Child Theme Là Gì? Hướng Dẫn Chi Tiết Từ A-Z Cho Người Mới
- Autoload WordPress là gì? Hướng dẫn chi tiết từ A-Z cho người mới bắt đầu
- WordPress Permalink Structure Issue: Nguyên Nhân, Cách Khắc Phục và Tối Ưu SEO Toàn Diện
- Hướng Dẫn Toàn Diện Về Survey Form Elementor: Tạo Khảo Sát Chuyên Nghiệp Trong WordPress













