Hướng dẫn debug và sửa lỗi 503 service unavailable trên WordPress
Giới thiệu
Thông báo lỗi “503 Service Unavailable ” (lỗi dịch vụ không khả dụng) là một trong những lỗi khó hiểu nhất mà bạn ít nhất đã gặp phải một lần trong lúc vận hành các website không riêng gì website tạo bằng mã nguồn WordPress.
Trong bài hướng dẫn này, chúng tôi sẽ giúp bạn từng bước xác định chính xác nguyên nhân gây ra lỗi cũng như cách khắc phục triệt để không chỉ trên mã nguồn WordPress mà có thể áp dụng cho bất cứ mã nguồn nào, giúp bạn không phải lo lắng khi quản lý website.
Bạn cần gì?
- Truy cập vào phần Quản lý của tài khoản hosting
- Truy cập FTP/File Manager
- Truy cập vào khu vực Quản trị của WordPress
Nguyên nhân chính gây ra lỗi này rất khó xác định được ngay. Tùy thuộc vào cấu hình máy chủ mà có thể hiển thị các thông báo lỗi như sau:
- 503 Service Unavailable
- 503 Service Temporarily Unavailable
- HTTP/1.1 Service Unavailable
- HTTP Server Error 503
- 503 Error
- HTTP 503
- HTTP Error 503
Chúng ta hãy thực hiện từng bước đế xác định lý do chính xác gây lỗi, nó có thể do các nguyên nhân sau:
- Plugins bị lỗi
- Themes bị lỗi
- Một tập lệnh PHP nào đó không hoạt động đúng
- Tài nguyên máy chủ không đủ
- Lỗi máy chủ
- Bị tấn công (DDoS)
Cách khắc phục:
Do nguyên nhân chính gây ra lỗi này khó xác định, chúng ta sẽ từng bước thực hiện để tìm và khắc phục tuần tự
1. Lỗi về plugins
Thông thường WordPress sẽ không bị lỗi, nếu nó bị lỗi bạn cần nghĩ ngay đến các plugins mà bạn vừa cài thêm vào.
Nếu bạn gặp lỗi 503 service unavailable khi vừa thực hiện cài một plugin mới hay cập nhật các plugins thì đây chính là nguyên nhân dẫn đến lỗi. Chỉ đơn giản xóa plugin này đi thì sẽ hết lỗi ngay.
Tuy nhiên, nếu bạn vẫn chưa xác định được chính xác plugins nào gây ra lỗi, hãy thực hiện tắt hết tất cả các plugins. Nhưng mà bạn không thể truy cập vào trang quản lý admin của WordPress thì làm sao có thể thực hiện điều này? Hãy thực hiện các bước sau:
- Đăng nhập vào phần Quản lý của hosting, chọn vào Quản lý File hoặc bạn có thể truy cập FTP vào tài khoản dùng FileZilla.
Truy cập bằng filezilla
Truy cập bằng quản lý file - Tìm tới thư mục cài đặt của WordPress, bạn sẽ thấy có các thư mục con như wp-admin, wp-content, wp-includes. Mở thư mục wp-content, chọn đổi tên (rename) thư mục plugins thành plugins-old. Thao tác này sẽ giúp bạn tắt tất cả các plugins hiện đang được cài đặt trong WordPress. Mở lại trang quản lý admin của WordPress, nếu bạn có thể truy cập được trỏ lại thì lỗi 503 service unavailable chính do một plugins nào đó gây ra.
- Thực hiện đổi tên lại thư mục plugins-old thành plugins như cũ và tài lại trang quản lý admin của WordPress. Bạn kích hoạt lần lượt các plugins để xác định plugins gây lỗi. Sau khi xác định thành công hãy xóa plugins này đi để hoàn tất sửa lỗi nhé.
Nếu bạn thực hiện toàn bộ các thao tác trên nhưng vẫn còn lỗi, hãy tiếp tục tìm các lỗi liên quan tới themes
2. Lỗi về themes
Nếu việc kiểm tra tất cả các plugins hoàn thành nhưng vẫn còn lỗi, bạn hãy tiếp tục thực hiện tương tự với themes để tìm nguyên nhân.
Các bước thực hiện tương tự như plugins nhưng bạn sẽ thực hiện với thư mục themes trong wp-content.
- Truy cập vào wp-content/themes, tìm tới thư mục của theme hiện tại bạn sử dụng, bạn có thể xóa nó đi (hoặc di chuyển ra khỏi thư mục themes) sau đó tải lại trang quản lý admin của WordPress.
- Nếu bạn có thể truy cập thì chính theme này gây ra lỗi. Bạn hãy tải lại phiên bản mới nhất của theme từ nhà phát triển hoặc sử dụng một theme khác để thay thế.
3. Lỗi về mã tùy chỉnh PHP
Nếu kiểm tra plugins và themes hoàn thành nhưng website bạn vẫn gặp lỗi, chúng ta sẽ tiếp tục kiểm tra đến các mã PHP tùy chỉnh mà bạn đã thêm vào website.
Khi website hoạt động bình thường, bạn có thể dùng các công cụ như Query Monitor hoặc Debug Bar
Khi website bị lỗi 503 service unavailable, bạn sẽ không truy cập được trang quản lý admin của WordPress nên sẽ không thể sử dụng được các công cụ hỗ trợ. Lúc này, tính năng WP_DEBUG thật sự rất hữu ích.
Dùng trình truy cập FTP hoặc Quản lý File tìm và mở file wp-config.php ở thư mục cài đặt của WordPress.
Tìm tới WP_DEBUG, nó sẽ có dạng define (‘WP_DEBUG’, false); Nếu chưa có mục này bạn hãy thêm nó vào phía trên dòng /*That’s all, stop editing! Happy blogging.*/
Chỉnh lại phần mã và thêm vào như sau:
define ('WP_DEBUG', true); define ('WP_DEBUG_LOG', true); define ('WP_DEBUG_DISPLAY', false); @ini_set ('display_errors', 0);
Lưu lại file wp-config.php, tải lại website sau đó truy cập vào thư mục wp-content tìm file debug.log. Bạn hãy mở file này để kiểm tra. Nếu lỗi gây ra do phần mã PHP tuỳ chỉnh nào đó, nó sẽ được thể hiện ở file này. Bạn chỉ cần chỉnh sửa lại phần mã đó hoặc xóa nó đi để website hoạt động lại bình thường.
4. Các lỗi liên quan đến máy chủ
Nếu bạn đã thực hiện các bước trên mã lỗi 503 service unavailable vẫn còn, nó có thể liên quan đế máy chủ.
Các lỗi này có thể xuất hiện và tự biến mất sau vài phút khi server ổn điịnh, nếu lỗi không tự khắc phục, bạn có thể thử một số giải pháp
Tăng tài nguyên máy chủ: một số gói shared hosting có tài nguyên giới hạn, nếu website bạn đạt tới hạn này bạn cần nâng cấp lên hosting tốt hơn. Vấn đề sẽ được khắc phục nhanh chóng vì thật sự website bạn đã phát triển tốt.
Giới hạn tốc độ thu thập thông tin tối đa của Google: Để lập chỉ mục nội dung website của bạn, Google sử dụng các tập lệnh chuyên dụng thường được gọi là trình thu thập thông tin. Họ thường ghé thăm trang web của bạn để thu thập nội dung và xác định các chỉ số xếp hạng khác. Quá trình này có thể làm tăng sử dụng tài nguyên, bạn có thể giảm giới hạn này lại trong Google Search Console. Bạn tham khảo hình hướng dẫn sau để thực hiện nhé:
- Đăng nhập Google Search Console và chọn Site Setting
- Chỉ lại Google Craw rate bằng cách kéo thanh tỉ lệ về bên trái:
Giới hạn WordPress Heartbeat:
Theo WordPress.org, “…the Heartbeat API is a sample server polling API built in to WordPress, allowing near real-time, frontend updates.” Nó chịu trách nhiệm cho việc tự động lưu bài viết, và các tính năng liên quan đến thời gian thực
WordPress Heartbeat API mở những file liên quan như admin-ajax.php cùng với những queries khác khi bạn đăng nhập vào WordPress site.
Tính năng này đòi hỏi tài nguyên server, nhưng bạn có thể vô hiệu và giới hạn nó. Khi khôi phục thành công bạn có thể dùng plugin Heartbeat Control WordPress để giới hạn chức năng của nó hoặc vô hiệu hoàn toàn.
Thêm đoạn mã sau vào file functions.php của theme hiện tại bạn đang sử dụng ngay sau <?php tag
<?php add_action( 'init', 'stop_heartbeat', 1 ); function stop_heartbeat() { wp_deregister_script('heartbeat'); }
Lưu lại file và tải lại trang web của bạn. Nếu trang web hoạt động bình thường, thật tuyệt vời bạn đã sửa được lỗi. Nếu vẫn còn lỗi, hãy xóa đoạn mã này đi và liên hệ ngay với bộ phận Hỗ trợ khách hàng của Hostinger để nhận được sự trợ giúp.
Lời kết
Nếu bạn đã thực hiện tất cả các cách trên nhưng không có giải pháp nào thành công, có lẽ chúng tôi đã bỏ lỡ một giải pháp nào đó phù hợp với bạn. Hãy liên hệ với ngay với bộ phận Hỗ trợ của chúng tôi để được sự trợ giúp từ các nhân viên.
Nếu bạn có bất kỳ thắc mắc, các câu hỏi liên quan về lỗi 503 service unavailable, hãy để lại lời nhắn ở phần comment để chúng tôi hỗ trợ bạn kịp thời nhé.
Nếu bạn đã từng gặp lỗi 503 khác, và bạn biết cách sửa, hãy chia sẽ ở phần comment nhé 😉
100 lần tự tìm hiểu cũng không bằng 1 lần được tư vấn