Lỗi 404 là lỗi xảy ra khi người dùng truy cập vào các trang không tồn tại trên website do bài viết bị xóa hoặc truy cập sai địa chỉ… Thông thường thì trên tất cả các themes của WordPress có mặc định khi gặp lỗi này sẽ đưa về một trang 404 thông báo lỗi. Bạn có thể thiết kế lại trang 404 này theo ý muốn của mình. Hoặc nếu bạn không muốn hiện trang thông báo lỗi mà muốn chuyển về trang chủ khi gặp phải lỗi này thì ta sẽ sử dụng một thủ thuật rất đơn giản sau đây.

error-404

Đối với các themes có file 404.php

Nếu theme bạn sử dụng có file 404.php thì ta sẽ thực hiện thủ thuật này bằng cách thêm đoạn code sau vào file 404.php:

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: ".get_bloginfo('url'));
exit();
?>

Bạn có thể xóa toàn bộ nội dung có sẵn trong file 404.php và thêm vào đoạn code trên.

Đối với các themes không có file 404.php

Chẳng hạn như bạn sử dụng Genesis FrameWork, bạn sẽ không thể tìm thầy file 404.php. Lúc đó ta sẽ sử dụng file functions.php, ta sẽ thêm vào đoạn code sau:

add_action('wp', 'redirect_404_to_homepage', 1);
function redirect_404_to_homepage() {
    global $wp_query;
    if ($wp_query->is_404) {
        wp_redirect(get_bloginfo('url'),301)
        ;exit;
    }
}
Cách này cũng có thể áp dụng cho các themes có sẵn file 404.php.
Trong hai đoạn code trên, hàm get_bloginfo(‘url’) sẽ trả về địa chỉ URL trang chủ. Bạn có thể thay lệnh này bằng một đường link đến trang bất kì mà bạn muốn. Chẳng hạn như:
wp_redirect('http://trantan.info/trang-bao-loi',301);
Thủ thuật nhỏ trên sẽ giúp bạn điều hướng tất cả các lỗi 404 về trang chủ. Hy vọng sẽ giúp ích được cho bạn!
Nguồn: raynoblog
Điều hướng trang 404 về trang chủ trong WordPress
4.3 (85%) 4 votes

About The Author

Trần Tân

Tôi là Tân, tôi đã có 2 năm kinh nghiệm thiết kế website (Wordpress) và làm SEO. Hiện tại tôi chỉ chú trọng vào SEO và thích chia sẻ những bài viết cảm thấy tâm đắc.

Bình luận

avatar
Sắp xếp theo:   Mới nhất | Cũ nhất | Nổi bật
Hoan
Guest
Hoan

Bạn ơi!
Giúp mình vời đoạn code chuyển về URL khác với trang chủ mình đã thay đoạn get_bloginfo(‘url’) thành wp_redirect(‘http://trantan.info/trang-bao-loi’,301); mà web báo lỗi ko vào được

wpDiscuz
Close