WordPress là một trong những nền tảng quản trị website phổ biến nhất hiện nay. Tuy nhiên, việc sử dụng WordPress không phải lúc nào cũng đơn giản. Trong quá trình sử dụng, bạn có thể gặp phải nhiều vấn đề, trong đó có vấn đề vỡ bố cục trang admin WordPress. Để giúp bạn giải quyết vấn đề này, bài viết này sẽ hướng dẫn chi tiết từ A-Z.
Nguyên nhân của tình trạng vỡ bố cục trang admin
Có khá nhiều nhiều nguyên nhân dẫn tới tình trạng nà, dưới đây là 3 nguyên nhân phổ biến nhất:
Xung đột trong việc ghép nối tập lệnh Javascript
Ghép nối tệp lệnh Javascript là một tính năng mặc định của mã nguồn WordPress, tính năng này sẽ ghép các tệp Javascript thành một tệp duy nhất để tăng tốc độ tải trang trong trang admin.
Cấu trúc của tệp Javascript được ghép nối thường sẽ có dạng như sau:
<script src="http://isaachiroman.com/wp-admin/load-scripts.php?c=1&load=jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,hoverIntent,common,jquery-color,wp-ajax-response,wp-lists,jquery-ui-resizable,quicktags,jquery-query,admin-comments,postbox,dashboard,thickbox,plugin-install,media-upload&ver=e0f647a6df61adcc7200ce17a647db7f" type="text/javascript">
Trong nhiều trường hợp, việc ghép nối này thường gây ra sự cố vỡ bố cục admin do các tệp Javascript của các plugins, các tệp lệnh PHP sau khi được ghép nối thực thi không đúng cách.
Lỗi do phân quyền thư mục, tệp tin
Lỗi này thường xuất hiện trong quá trình tối ưu bảo mật quá đà, hoặc khi thực hiện di chuyển dữ liệu của website làm thay đổi phân quyền của các thư mục, tệp tin trong mã nguồn WordPress.
Trang admin bị vỡ do bị cache trang đã đăng nhập
Lỗi này thường xuất hiện khi bạn cài đặt các plugin cache và bật tùy chọn cache admin.
Cũng giống như giao diện bên ngoài, việc cấu hình cache không chuẩn chỉ sẽ dẫn tới việc phá vỡ cấu trúc, thứ tự load của các tệp Javascript, CSS.
Công bằng mà nối việc cache trong admin website có thể cải thiện tốc độ trang admin.
Tuy nhiên bạn cần hiểu rõ căn cơ tại sao admin lại chậm, thông thường việc trang admin bị chậm là do việc các câu lệnh SQL trùng lặp, quá nhiều tiến trình check version, license, API,… của các plugins, themes.
Nếu bạn đang sử dụng plugin LiteSpeed Cache, phần Cache trong trang quản trị và Cache người dùng đăng nhập sẽ được bật mặc định. Tuy nhiên, với hầu hết các plugin Cache khác, tính năng này thường không được kích hoạt sẵn.
Cách khắc phục lỗi vỡ bố cục trang admin
Tắt ghép nối tập lệnh Javascript cho bảng quản trị WordPress
Để tắt chế độ ghép nối Javascript trong bảng điều khiển quản trị WordPress, bạn chỉ cần chèn hàm sau vào file wp-config.php
define('CONCATENATE_SCRIPTS', false );
Khi giá trị của ‘CONCATENATE_SCRIPTS’ được đặt là false, các tập tin JavaScript sẽ không được nối lại thành một tập tin duy nhất, mà sẽ được tải lần lượt. Điều này có thể làm giảm tốc độ tải trang, nhưng nó có thể giúp tránh các lỗi tương thích khi các plugin hoặc theme sử dụng các phiên bản khác nhau của các thư viện JavaScript chung.
Bạn có thể tham khảo thêm về hàm concatenation tại link sau:
- https://developer.wordpress.org/apis/wp-config-php/#disable-javascript-concatenation
- https://docs.wpvip.com/technical-references/vip-platform/file-concatenation-and-minification/
Sau khi đã thêm hàm trên, bạn tiến hành lưu lại thiết lập và kiểm tra lại trang quản trị.
Thiết lập lại phân quyền chuẩn cho source code
Đối với thư mục phân quyền chuẩn phải là 0755, còn tệp tin là 0644.
Nếu hosting của bạn có Terminal, hãy chạy các lệnh sau:
Đầu tiên, bạn tiến hành truy xuất vào thư mục đang chứa mã nguồn WordPress, trong trường hợp của tôi thì source code của tôi đặt trong thư mục gốc public_html
cd public_html/
Tiếp theo bạn hãy chạy lần lượt 2 lệnh sau
find . -type d -exec chmod 0755 {} \;
find . -type f -exec chmod 0644 {} \;
2 lệnh trên sẽ tìm tất cả các thư mục, tệp tin trong public_html và phân lại quyền lần từ là 0755 cho thư mục và 0644 cho tệp tin.
Sau khi chạy xong, hay kiểm tra lại trang quản trị.
Bạn cũng có thể phân quyền thông qua kết nối FTP của mình, nhưng với tôi sử dụng Terminal sẽ nhanh hơn rất nhiều.
Không bật cache cho trang quản trị
Dựa trên phân tích ở trên, có thể dễ dàng nhận thấy rằng việc bật cache cho trang quản trị có thể gây ra nhiều vấn đề trong quá trình vận hành website.
Tùy theo mỗi plugin cache mà việc cấu hình tắt cache trang admin sẽ khác nhau, hãy đảm bảo bạn đã xem qua một lượt tất cả các tính năng và tài liệu hướng dẫn của đơn vị phát hành plugin.
Tổng kết
Trong quá trình sử dụng WordPress, sẽ có lúc bạn sẽ gặp lỗi vỡ bố cục trang admin này. Tuy nhiên, với những nguyên nhân phổ biến và các cách xử lý được đề cập trong bài viết này, bạn có thể dễ dàng tìm ra nguyên nhân của vấn đề và sửa chữa nó một cách hiệu quả.
Nếu bạn gặp phải lỗi vỡ bố cục trang admin WordPress, hãy chú ý kiểm tra các plugin, theme, tệp tin CSS hoặc các cài đặt đang sử dụng. Hơn nữa, việc xóa bộ nhớ cache, tắt các plugin không sử dụng và kiểm tra lỗi trong quá trình tải trang web cũng có thể giúp bạn giải quyết các vấn đề liên quan đến bố cục trang quản trị một cách nhanh chóng và dễ dàng.
Nếu bạn có cách làm tối ưu hơn, hãy chia sẻ cho tôi ở phần bình luận bên dưới.
Câu hỏi thường gặp
Q. Tắt ghép nối Javascript trong trang quản trị có làm chậm website?
A. Có, nhưng không đáng kể, khi tắt ghép nối Javascript trong trang quản trị, các tệp javascript sẽ được load tuần tự.
Q. Hosting của tôi không có Terminal để chạy các lệnh phân quyền như hướng dẫn trên?
A. Bạn có thể liên hệ đơn vị cung cấp hosting để hỗ trợ mở Terminal hoặc chạy lệnh phân quyền giúp cho bạn.
Web mình đã xá tất cả caches ( Trình duyệt, wordpress ) và đã sử dụng câu lệnh define(‘CONCATENATE_SCRIPTS’, false ); . Nhưng vẫn còn lỗi giao diện
Nếu bạn đã tắt ghép nối Javascript trong admin rồi thì bạn có thể thử làm theo các bước sau:
+ Bước 1: Truy cập vào Bảng điều khiển hosting và đổi tên thư mục plugins thành plugins_xxx. Mục đích là để tắt kích hoạt tất cả các plugins để xem có bị xung đột từ plugins hay không.
+ Bước 2: Nếu bước 1 vẫn chưa tìm được nguyên nhân, bạn kiểm tra xem trên Bảng điều khiển hosting xem có Terminal hay không, nếu có thì bạn có thể chạy 2 lệnh mà mình có nêu ở trên để phân quyền lại toàn bộ tệp tin
+ Bước 3: Nếu vẫn chưa thành công, bạn hãy chụp lại ảnh màn hình trạng thái lỗi, đính kèm tài khoản admin web và gửi yêu cầu hỗ trợ cho nhà cung cấp hosting để họ kiểm tra giúp bạn.