Hướng dẫn cách xóa bỏ category trong URL WordPress

Hướng dẫn cách xóa bỏ category trong URL WordPress

Bạn tìm đến bài viết này thì chắc bạn cũng đã biết, mặc định khi cài đặt WordPress thì trong đường link của chuyên mục (categories) sẽ có chứa đoạn category với dạng như sau: hoangphucblog.com/category/thu-thuat-wordpress

Với đường link như này xét về thẩm mỹ thì nhìn thấy rất rườm rà và rất xấu đúng không nào. Còn xét về SEO thì có thể nói là nó không tốt cho SEO vì nó làm cho đường link dài thêm, khó nhớ,…

Mình cũng không biết vì lý do gì mà nhà phát triển WordPress lại để nó như vậy mà không bỏ nó đi cho đường link WordPress nó đỡ dài (Họ có lý do của họ nhưng với chúng ta hiện tại thì nó là không cần thiết).

Dù là vì lý do gì mà WordPress không bỏ cái đoạn category ra khỏi link wordpress thì việc chúng ta cần làm bây giờ là phải tự bỏ nó đi thôi chứ chờ WordPress biết đến bao giờ. Về cách xóa category trong URL WordPress như nào thì bạn làm theo hướng dẫn dưới đây.

 

Hướng dẫn cách xóa bỏ /category/ trong URL WordPress

Dưới đây sẽ có 4 cách để xóa /category/ ra khỏi URL của danh mục, bạn có thể lựa chọn 1 cách phù hợp nhất để thực hiện.

Lưu ý: Nếu bạn đang làm cho website mới thì việc này hoàn toàn bình thường không vấn đề gì. Tuy nhiên, nếu bạn chuẩn bị thực hiện cho website đã được Google index thì bạn cần thiết lập chuyển hướng chuẩn xác để tránh ảnh hưởng đến SEO.

Cách 1: Xóa bỏ /category/ trong URL bằng plugin SEO Yoast

Cách này chúng ta sẽ dùng plugin để xóa bỏ đoạn category trong link. Đây là cách đơn giản nhất để xóa category mà bạn nên làm bởi vì plugin mình giới thiệu sau đây chắc chắn bất kỳ website WordPress nào cũng phải cài nếu muốn SEO tốt. Plugin mình đang nói đến chính là plugin SEO by Yoast (có thể gọi là Yoast SEO hoặc WordPress SEO).

Sau khi bạn đã cài đặt plugin SEO by Yoast, bạn trỏ chuột vào menu SEO -> Search Appearance (Hiển thị khi tìm kiếm) -> Taxonomies (Nguyên tắc phân loại). Sau đó kéo xuống dưới tìm mục Category URLs (Đường dẫn danh mục) và gạt nút sang phần Remove (Gỡ bỏ) như hình sau:

Xem chi tiết tại: Gỡ Bỏ “Lưu Trữ” Trên Tiêu Đề & Đường Dẫn Bằng Yoast SEO Mới Nhất

Cách 2: Xóa /category/ với plugin Remove Category URL

Nếu web bạn đang sử dụng không cài plugin Rank Math hoặc plugin Yoast SEO thì bạn có thể cài thêm plugin Remove Category URL.

Bạn chỉ cần cài plugin Remove Category URL vào web và không cần phải thao tác thêm gì cả.

Ưu điểm của plugin này là nó sẽ tự động xóa bỏ “category” trong URL và thiết lập chuyển hướng tự động URL cũ sang URL mới (chuyển hướng 301, tốt cho SEO).

Nếu bạn không biết cách thiết lập redirect (chuyển hướng) sao cho chuẩn thì có thể làm theo cách 3 này vì plugin sẽ tự động chuyển hướng URL cũ.

Cách 3: Xóa bỏ /category/ trong URL bằng file .htaccess

Cách này thì thao tác nhanh hơn nhưng mình vẫn khuyến khích bạn dùng các cách trên nhé. Để xóa bỏ (remove) category bạn thêm dòng code sau vào file .htaccess

RewriteRule ^category/(.+)$ http://domain.com/$1 [R=301,L]

Lưu ý: Trước khi làm bạn nên backup lại file .htaccess lại tránh trường hợp xảy ra lỗi và trong đoạn code trên bạn nhớ thay đoạn domain.com thành link website của bạn.

Khi sử dụng 1 trong các cách trên đường link của bạn sẽ được như sau: hoangphucblog.com/thu-thuat-wordpress như vậy là bạn đã xóa category trong url wordpress thành công.

Hướng dẫn cách xóa bỏ /category/ và slug category cha trong URL WordPress

Như hướng dẫn ở trên, bạn sẽ xóa được /category/ trong URL các danh mục. Tuy nhiên, nếu bạn muốn làm cho link danh mục đơn giản hơn nữa bằng cách xóa bỏ các slug category cha thì làm theo hướng dẫn dưới đây.

Góp ý: Mình khuyên bạn không nên làm gọn URL quá kẻo dễ bị trùng lặp URL. Thực sự thì cách dưới đây mình hướng dẫn thêm cho bạn thôi chứ không khuyến khích bạn làm nhé.

Giả sử ban đầu web của bạn có các đường dẫn danh mục như:

hoangphucblog.com/category/wordpress
hoangphucblog.com/category/wordpress/thu-thuat-wordpress

Sau khi áp dụng hướng dẫn dưới đây, URL sẽ chỉ còn ngắn gọn là:

hoangphucblog.com/wordpress
hoangphucblog.com/thu-thuat-wordpress

Cách làm như sau:

Copy đoạn code dưới dây, dán vào phía cuối file funstions.php trong theme bạn đang sử dụng. Sau đó vào Cài đặt -> Đường dẫn tĩnh và chọn Lưu lại.

// Remove Parent Category from Child Category URL

    add_filter('term_link', 'devvn_no_category_parents', 1000, 3);

    function devvn_no_category_parents($url, $term, $taxonomy) {

    if($taxonomy == 'category'){

    $term_nicename = $term->slug;

    $url = trailingslashit(get_option( 'home' )) . user_trailingslashit( $term_nicename, 'category' );

    }

    return $url;

    }

    // Rewrite url mới

    function devvn_no_category_parents_rewrite_rules($flash = false) {

    $terms = get_terms( array(

    'taxonomy' => 'category',

    'post_type' => 'post',

    'hide_empty' => false,

    ));

    if($terms && !is_wp_error($terms)){

    foreach ($terms as $term){

    $term_slug = $term->slug;

    add_rewrite_rule($term_slug.'/?$', 'index.php?category_name='.$term_slug,'top');

    add_rewrite_rule($term_slug.'/page/([0-9]{1,})/?$', 'index.php?category_name='.$term_slug.'&paged=$matches[1]','top');

    add_rewrite_rule($term_slug.'/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$', 'index.php?category_name='.$term_slug.'&feed=$matches[1]','top');

    }

    }

    if ($flash == true)

    flush_rewrite_rules(false);

    }

    add_action('init', 'devvn_no_category_parents_rewrite_rules');

    


    /*Sửa lỗi khi tạo mới category bị 404*/

    function devvn_new_category_edit_success() {

    devvn_no_category_parents_rewrite_rules(true);

    }

    add_action('created_category','devvn_new_category_edit_success');

    add_action('edited_category','devvn_new_category_edit_success');

    add_action('delete_category','devvn_new_category_edit_success');

 

Note: Đoạn code trên mình tham khảo từ blog của bác Toản (levantoan.com)

Như vậy là xong. Bạn có thể sử dụng bất cứ cách nào phù hợp nhất để áp dụng cho web của bạn nhé.

Ngoài ra, nếu bạn đang làm website bán hàng dùng Woocommerce mà muốn bỏ đoạn link /category-product/ thì có thể xem bài hướng dẫn sau: Xóa bỏ /product-category/ trong Url danh mục sản phẩm Woocommerce

Lời kết

Với các cách đơn giản trên mong là bạn có thể loại bỏ (remove) category trong url của WordPress. Trong các cách trên mình vẫn lưu ý các bạn nên dùng cách 1, 2, 3 để xóa category trong đường link của WordPress vì khi bạn dùng WordPress bạn sẽ phải cài plugin SEO.

Nếu thấy bài viết hữu ích hãy like và share ủng hộ mình nhé. Cảm ơn!

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Back To Top