Xử lí trùng lặp phân trang /page/ trong wp

Mặc dù bộ máy tìm kiếm của google cho biết rằng: bộ máy này rất thông minh khi không index các thông tin trùng lặp giữa các url phân trang mà không cần phải đặt thẻ canonical về trang page chính.

Tuy nhiên hiện nay nó chưa được thông minh như họ đã tuyên bố. Các trang web làm bằng nền tảng wp hay bất kì nền tảng nào khác mà không trỏ canonical về trang page chính của từng chuyên mục, hoặc không để noindex thì google nó vẫn auto index và báo lỗi gây ra sự trùng lặp về nội dung.

Các cách để giải quyết vấn đề ngu ngốc này:

  • Không cho noindex các trang subpage.
  • Disallow bằng robots.txt
  • Sử dụng thẻ Canonical về trang page chính đầu tiên của chuyên mục, thẻ, và trang chủ.
  • Chỉnh sửa lại tiêu đề và mô tả cho các subcatagory một cách tối ưu nhất

Trước đây có một cách nữa là dùng rel=”next” và rel=”prev” để khai báo trang tiếp theo và trang trước của phân trang nhưng mình không hiểu vì lí do gì mà nó đã bị google khai tử.

Canonical

Bạn có thể dễ dàng thêm mã này vào tệp chủ đề functions.php (theme con) của mình hoặc bên trong một plugin tùy chỉnh.

Để đặt rel = canonical trỏ đến trang đầu tiên của danh sách được phân trang trong WordPress (dành cho danh mục hoặc thẻ) và sử dụng WordPress seo, bạn có thể dễ dàng thêm bộ lọc bằng một đoạn mã nhỏ.

Code bên dưới sử dụng cho Yoast SEO được share bởi satollo.

add_filter('wpseo_canonical', 'my_wpseo_canonical');

function my_wpseo_canonical($canonical) {
    if (is_paged()) {
        if (is_home()) {
            return home_url();
        }

        if (is_archive()) {
            $url = get_category_link(get_queried_object_id());
            return $url;
        }
    }

    return $canonical;
}

Code dành cho ai dùng the_seo_framework:

function filter_wpseo_canonical( $canonical ) { 
    // make filter magic happen here... 
 if (is_paged()) {
        if (is_home()) {
            return home_url();
        }

        if (is_archive()) {
            $url = get_category_link(get_queried_object_id());
            return $url;
        }
    }

    return $canonical;
}; 
         
// add the filter 
add_filter( 'the_seo_framework_rel_canonical_output', 'filter_wpseo_canonical', 10, 1 ); 

Noindex các sub archive

Blog đình đàm thạch phạm sử dụng noindex để chặn bộ máy tìm kiếm index các subpage.

Cách 1: Sử dụng theseoframework

Các plugin seo khác cũng có chức năng này.

Mình hay sử dụng cách này để không cho con bot của google index các trang này. Hiện tại mình sử dụng theseoframework cho hầu hết các blog của mình và rất hài lòng.

Trong phần Homepage SettingsRobots Meta Settings có mục Apply noindex to every second or later archive page?. Bạn tích vào thì nó sẽ tự động Noindex cho toàn bộ các subcatagory và subtag.

Cách 2: Chèn code vào header.php

<?php 
// fix duplicate listing add noindex automatically to date, author and tag archives
if($paged > 1 || is_author() || is_tag() || is_date() || is_attachment()){
  echo '<meta name="robots" content="noindex,follow" />'; } 
?>

Code được share bởi isitwp.

Sử dụng Disallow

Ngoài ra các bạn cũng có thể chặn index bằng cách khai báo Disallow với tệp tin robots.txt bằng cách thêm dòng sau đây vào bên dưới tệp tin này.

Disallow: /page/

Chỉnh sửa lại tiêu đề và mô tả các subpage

Thật ra các dạng trang phân trang /page/ trong wordpress rất khó mà trùng lặp được vì mỗi một trang page con sẽ tập hợp một số lượng bài viết nhất định khác nhau.

Chính vì thế mà nội dung giữa tập hợp giữa page/1 sẽ khác page/2 và page/3 … Khi gặp lỗi này các bạn chỉ cần chỉnh sửa lại tiêu đề, mô tả của các subpage là xong.

Các bạn nên thêm số trang %page%, %pagenumber%, %id%… vào Category Archive TitlesCategory Archive Descriptions của các plugin seo sao cho hợp lí nhất để không gây trùng lặp.

Có nhiều cách xử lí trùng lặp phân trang /page/ trong các trang web, tùy trường phái seo và kiểu cấu trúc web của bạn mà chọn cách làm phù hợp nhất.

Xem thêm: Thay đổi permalink wordpress và chuyển hướng 301 từ url cũ sang url mới

Minh Khánh

Xin chào các bạn thân yêu! Tôi là Minh Khánh - một người thích dùng nền tảng wp để biết blog. Trong wp tôi thích Speed Optimization, SEO, Blocks gutenberg, Accelerated Mobile Pages, Magazine themes. Ở đây tôi chia sẻ những gì mình biết và mình thích!