Tối Ưu Đường Dẫn Thẻ WordPress: Xóa Bỏ ‘/tag/’ Tăng Cường SEO Hiệu Quả

Tối Ưu Đường Dẫn Thẻ WordPress: Xóa Bỏ ‘/tag/’ Tăng Cường SEO Hiệu Quả

2 views

Việc tối ưu cấu trúc đường dẫn (URL) là một yếu tố then chốt trong chiến lược SEO, giúp nội dung của bạn dễ dàng được công cụ tìm kiếm hiểu và xếp hạng cao hơn. Loại bỏ chuỗi ‘/tag/’ mặc định khỏi đường dẫn của các thẻ bài viết trong WordPress không chỉ làm URL trở nên gọn gàng, thân thiện mà còn tiềm ẩn những lợi ích SEO sâu sắc hơn mà nhiều người thường bỏ qua.

Tại Sao Loại Bỏ '/tag/' Lại Quan Trọng Cho SEO?

Đường dẫn ngắn gọn, dễ đọc có vai trò quan trọng trong việc cải thiện trải nghiệm người dùng và hiệu quả SEO. Khi bạn loại bỏ ‘/tag/’ khỏi URL, bạn đang tạo ra một cấu trúc đường dẫn “sạch” hơn, không chứa các yếu tố thừa thãi. Điều này có ý nghĩa sâu rộng:

  • Tăng Cường Tính Thân Thiện Với Người Dùng: URL ngắn hơn, dễ nhớ và dễ chia sẻ hơn trên các nền tảng mạng xã hội, email.
  • Cải Thiện Khả Năng Hiển Thị Trong Kết Quả Tìm Kiếm (SERP): Các công cụ tìm kiếm có xu hướng ưu tiên các URL rõ ràng, ít “nhiễu”. Một đường dẫn không có ‘/tag/’ có thể được đánh giá là trực tiếp và chứa nội dung chính ngay từ cái nhìn đầu tiên.
  • Phân Tán Sức Mạnh SEO (Link Equity): Khi URL gọn gàng hơn, sức mạnh từ các liên kết nội bộ và bên ngoài có thể tập trung tốt hơn vào nội dung chính của thẻ, thay vì bị “pha loãng” bởi các yếu tố cấu trúc không cần thiết.
  • Giảm Tỷ Lệ Nhấp Chuột (CTR): Một URL trông chuyên nghiệp và trực quan hơn có thể khuyến khích người dùng nhấp vào từ trang kết quả tìm kiếm.

Mô tả hình ảnh remove-tag-wordpress

Hiểu Rõ Rủi Ro Trùng Lặp Đường Dẫn Và Cách Khắc Phục

Một cảnh báo quan trọng khi loại bỏ ‘/tag/’ là khả năng tạo ra các đường dẫn trùng lặp với các bài viết (Post) hoặc trang (Page) hiện có. Nếu không quản lý cẩn thận, điều này có thể dẫn đến lỗi 404 hoặc tệ hơn là gây khó khăn cho công cụ tìm kiếm trong việc xác định phiên bản “chính tắc” của nội dung, ảnh hưởng đến SEO.

  • Xung Đột Với Bài Viết Và Trang: Giả sử bạn có một bài viết với slug là /phan-tich-ai/ và một thẻ cũng có slug là /phan-tich-ai/. Sau khi loại bỏ ‘/tag/’, cả hai sẽ có cùng một đường dẫn, gây ra xung đột.
  • Vấn Đề Canonicalization: Công cụ tìm kiếm cần biết đâu là URL gốc (canonical URL) khi có nhiều đường dẫn trỏ về cùng một nội dung. Nếu không có sự phân biệt rõ ràng, bạn có thể bị phạt vì nội dung trùng lặp. Giải pháp là đảm bảo rằng mỗi URL có một thẻ rel="canonical" trỏ đến chính nó hoặc phiên bản mong muốn.
  • Duy Trì Cấu Trúc Website Rõ Ràng: Mặc dù việc xóa ‘/tag/’ mang lại lợi ích về thẩm mỹ và SEO, nhưng điều quan trọng là phải duy trì một cấu trúc website logic. Đảm bảo rằng các thẻ vẫn phục vụ mục đích phân loại nội dung một cách hiệu quả và không gây nhầm lẫn cho cả người dùng lẫn công cụ tìm kiếm.

Phân Tích Kỹ Thuật: Cơ Chế Hoạt Động Của Mã Nguồn

Để loại bỏ chuỗi ‘/tag/’ một cách an toàn và hiệu quả, chúng ta cần can thiệp vào cách WordPress xử lý đường dẫn và quy tắc viết lại URL. Đoạn mã dưới đây thực hiện hai chức năng chính: thay đổi đường dẫn hiển thị và thiết lập quy tắc viết lại để WordPress hiểu đường dẫn mới.

/*
 * Remove tag in URL
 * Code by levantoan.com
 */
add_filter( 'term_link', 'devvn_post_tag_permalink', 10, 3 );
function devvn_post_tag_permalink( $url, $term, $taxonomy ){
    switch ($taxonomy):
        case 'post_tag':
            $taxonomy_slug = 'tag';
            if(strpos($url, $taxonomy_slug) === FALSE) break;
            $url = str_replace('/' . $taxonomy_slug, '', $url);
            break;
    endswitch;
    return $url;
}
// Add our custom product cat rewrite rules
function devvn_post_tag_rewrite_rules($flash = false) {
    $terms = get_terms( array(
        'taxonomy' => 'post_tag',
        'post_type' => 'post',
        'hide_empty' => false,
    ));
    if($terms && !is_wp_error($terms)){
        $siteurl = esc_url(home_url('/'));
        foreach ($terms as $term){
            $term_slug = $term->slug;
            $baseterm = str_replace($siteurl,'',get_term_link($term->term_id,'post_tag'));
            add_rewrite_rule($baseterm.'?$', 'index.php?tag='.$term_slug,'top');
            add_rewrite_rule($baseterm.'page/([0-9]{1,})/?$', 'index.php?tag='.$term_slug.'&paged=$matches[1]','top');
            add_rewrite_rule($baseterm.'(?:feed/)?(feed|rdf|rss|rss2|atom)/?$', 'index.php?tag='.$term_slug.'&feed=$matches[1]','top');
        }
    }
    if ($flash == true)
        flush_rewrite_rules(false);
}
add_action('init', 'devvn_post_tag_rewrite_rules');
/*Sửa lỗi khi tạo mới tag bị 404*/
add_action( 'created_post_tag', 'devvn_new_post_tag_edit_success', 10, 2 );
function devvn_new_post_tag_edit_success( $term_id, $taxonomy ) {
    devvn_post_tag_rewrite_rules(true);
}
  • add_filter('term_link', 'devvn_post_tag_permalink', 10, 3);: Hook này can thiệp vào quá trình WordPress tạo ra đường dẫn cho các thuật ngữ (bao gồm cả thẻ). Hàm devvn_post_tag_permalink sẽ được gọi để sửa đổi URL trước khi nó được hiển thị.
  • devvn_post_tag_permalink: Hàm này kiểm tra xem thuật ngữ có phải là ‘post_tag’ không. Nếu có, nó sẽ tìm và thay thế chuỗi ‘/tag/’ trong URL bằng chuỗi rỗng, trả về một đường dẫn đã được làm sạch.
  • devvn_post_tag_rewrite_rules: Đây là phần quan trọng nhất để WordPress hiểu các đường dẫn mới. Hàm này lấy tất cả các thẻ hiện có và tạo ra các quy tắc viết lại tùy chỉnh.
    • add_rewrite_rule: Đăng ký các quy tắc mới, cho WordPress biết rằng khi thấy một đường dẫn không có ‘/tag/’, nó thực sự nên xử lý đường dẫn đó như một trang thẻ. Điều này bao gồm cả đường dẫn chính, đường dẫn phân trang và đường dẫn feed của thẻ.
    • flush_rewrite_rules(false): Chức năng này được kích hoạt khi bạn lưu lại permalink hoặc khi tạo thẻ mới. Nó cập nhật cơ sở dữ liệu quy tắc viết lại của WordPress, đảm bảo các quy tắc mới được áp dụng.
  • add_action( 'created_post_tag', 'devvn_new_post_tag_edit_success', 10, 2 );: Hook này lắng nghe sự kiện khi một thẻ mới được tạo. Ngay sau khi thẻ được tạo, nó sẽ gọi devvn_post_tag_rewrite_rules(true) để làm mới các quy tắc viết lại. Điều này giúp tránh lỗi 404 cho các thẻ mới, một vấn đề thường gặp khi thêm các quy tắc viết lại tùy chỉnh.

Các Yếu Tố Cần Cân Nhắc Trước Khi Thực Hiện

Trước khi áp dụng bất kỳ thay đổi nào vào file functions.php của theme, hãy luôn ghi nhớ:

  • Sao Lưu Toàn Bộ Website: Đây là bước không thể thiếu để đề phòng các sự cố không mong muốn.
  • Thử Nghiệm Trên Môi Trường Phát Triển: Không nên áp dụng trực tiếp lên website đang hoạt động mà không thử nghiệm trước.
  • Cập Nhật Theme: Nếu bạn cập nhật theme, file functions.php có thể bị ghi đè. Hãy sử dụng theme con (child theme) hoặc một plugin tùy chỉnh để chứa mã nguồn này.
  • Giám Sát Sau Khi Triển Khai: Sử dụng Google Search Console để kiểm tra lỗi thu thập dữ liệu (crawl errors) và đảm bảo các đường dẫn mới được lập chỉ mục chính xác.

Kết Luận

Việc xóa bỏ ‘/tag/’ khỏi đường dẫn thẻ bài viết trong WordPress là một chiến lược tối ưu hóa nâng cao, mang lại lợi ích rõ rệt về SEO và trải nghiệm người dùng. Tuy nhiên, nó đòi hỏi sự hiểu biết kỹ thuật và thận trọng để tránh các rủi ro tiềm ẩn như trùng lặp đường dẫn. Bằng cách hiểu rõ cơ chế hoạt động của mã nguồn và tuân thủ các nguyên tắc an toàn, bạn có thể áp dụng thành công thủ thuật này, giúp website của mình trở nên thân thiện hơn với cả người dùng và công cụ tìm kiếm. Hãy luôn ghi nhớ kiểm tra kỹ lưỡng sau khi thực hiện để đảm bảo mọi thứ hoạt động trơn tru và hiệu quả.

Đánh giá ngay!
(0 lượt đánh giá - 0/5)
Cao Thiên
Là một người đam mê công nghệ AI, tôi sáng lập Tips AI Tech để chia sẻ kiến thức và xu hướng mới nhất, giúp mọi người dễ dàng tiếp cận và ứng dụng AI vào cuộc sống.