Cách Loại Bỏ Đường Dẫn Danh Mục Cha Khỏi URL Danh Mục

Cách loại bỏ đường dẫn danh mục /category/ trong slug danh mục ở web WordPress mà không cần cài plugin hay găp lỗi 404, ví dụ:

https://example.com/category/child-category/

Để cải thiện SEO và đơn giản hóa URL cho website, bài viết này hướng dẫn bạn cách loại bỏ danh mục cha trong slug. Sau khi áp dụng, URL sẽ trở thành:

https://example.com/child-category/

Đoạn mã PHP tối ưu

Thêm đoạn mã sau vào file functions.php của theme WordPress:

// Loại bỏ danh mục cha khỏi URL danh mục con
add_filter('term_link', 'optimize_remove_category_parents', 10, 3);
function optimize_remove_category_parents($url, $term, $taxonomy) {
    if ($taxonomy === 'category') {
        $url = home_url(user_trailingslashit($term->slug));
    }
    return $url;
}

// Thêm quy tắc Rewrite cho URL mới
add_action('init', 'optimize_add_rewrite_rules');
function optimize_add_rewrite_rules() {
    $categories = get_categories(array(
        'taxonomy' => 'category',
        'hide_empty' => false,
    ));

    if (!empty($categories)) {
        foreach ($categories as $category) {
            $slug = $category->slug;

            // Quy tắc cho trang danh mục
            add_rewrite_rule($slug . '/?$', 'index.php?category_name=' . $slug, 'top');

            // Quy tắc cho phân trang
            add_rewrite_rule($slug . '/page/([0-9]{1,})/?$', 'index.php?category_name=' . $slug . '&paged=$matches[1]', 'top');

            // Quy tắc cho RSS feed
            add_rewrite_rule($slug . '/(feed|rdf|rss|rss2|atom)/?$', 'index.php?category_name=' . $slug . '&feed=$matches[1]', 'top');
        }
    }
    flush_rewrite_rules(false);
}

// Làm mới Rewrite Rules khi chỉnh sửa danh mục
add_action('created_category', 'optimize_flush_rewrite_rules');
add_action('edited_category', 'optimize_flush_rewrite_rules');
add_action('delete_category', 'optimize_flush_rewrite_rules');
function optimize_flush_rewrite_rules() {
    optimize_add_rewrite_rules();
}

Lợi ích khi bỏ đường dẫn danh mục

  • Loại bỏ danh mục cha khỏi URL, giúp cấu trúc URL ngắn gọn và thân thiện hơn với SEO.
  • Tự động cập nhật quy tắc Rewrite khi tạo, chỉnh sửa hoặc xóa danh mục.
  • Giảm khả năng gặp lỗi 404 khi thay đổi danh mục.

Lưu ý khi sử dụng

  • Sau khi thêm mã, hãy vào Cài đặt > Đường dẫn tĩnh và nhấn Lưu thay đổi để làm mới đường dẫn tĩnh.
  • Đảm bảo kiểm tra các URL danh mục sau khi áp dụng để đảm bảo chúng hoạt động đúng.

Đoạn mã trên giúp tối ưu cấu trúc URL của danh mục WordPress, mang lại hiệu quả cao hơn về SEO và trải nghiệm người dùng. Nếu bạn gặp khó khăn, hãy để lại bình luận để được hỗ trợ.

5/5 - (2 bình chọn)
Bình luận bài viết (0 bình luận)