Loại trừ trang/tác giả khỏi tìm kiếm WordPress

6 giờ ago, WordPress Plugin, Views
Loại trừ trang/tác giả khỏi tìm kiếm WordPress

Giới thiệu

WordPress là một nền tảng quản lý nội dung (CMS) phổ biến, cho phép người dùng tạo và quản lý trang web một cách dễ dàng. Tuy nhiên, đôi khi bạn có thể muốn loại trừ một số trang hoặc tác giả khỏi kết quả tìm kiếm trên trang web của mình. Điều này có thể hữu ích vì nhiều lý do, chẳng hạn như:

  • Ẩn nội dung nháp hoặc đang trong quá trình xây dựng.
  • Loại bỏ các trang đích (landing pages) không cần hiển thị trong tìm kiếm chung.
  • Giấu hồ sơ tác giả của các tài khoản quản trị viên hoặc tài khoản thử nghiệm.

Tại sao cần loại trừ trang/tác giả khỏi tìm kiếm?

Có nhiều lý do chính đáng để loại trừ trang hoặc tác giả khỏi kết quả tìm kiếm. Dưới đây là một số ví dụ:

  • Bảo mật: Bạn có thể muốn ẩn thông tin nhạy cảm hoặc nội dung không dành cho tất cả mọi người.
  • Quản lý nội dung: Loại bỏ nội dung lỗi thời, trùng lặp hoặc không còn phù hợp.
  • Cải thiện trải nghiệm người dùng: Hiển thị kết quả tìm kiếm phù hợp và chính xác hơn, giúp người dùng tìm thấy thông tin họ cần một cách nhanh chóng.

Các phương pháp loại trừ trang/tác giả khỏi tìm kiếm

Có nhiều phương pháp khác nhau để loại trừ trang hoặc tác giả khỏi kết quả tìm kiếm trên WordPress. Chúng ta sẽ xem xét một số phương pháp phổ biến nhất, từ việc sử dụng plugin đến chỉnh sửa trực tiếp mã nguồn.

Sử dụng Plugin để loại trừ trang/tác giả

Sử dụng plugin là cách đơn giản và phổ biến nhất để loại trừ trang hoặc tác giả khỏi tìm kiếm. Có rất nhiều plugin miễn phí và trả phí có sẵn trên WordPress Plugin Repository, cung cấp các tính năng khác nhau. Dưới đây là một vài ví dụ:

1. Yoast SEO

Yoast SEO là một plugin SEO phổ biến và mạnh mẽ, cung cấp nhiều tính năng, bao gồm cả khả năng loại trừ trang khỏi tìm kiếm. Để loại trừ một trang cụ thể bằng Yoast SEO:

  1. Chỉnh sửa trang mà bạn muốn loại trừ.
  2. Trong metabox Yoast SEO, chuyển đến tab “Nâng cao” (Advanced).
  3. Trong phần “Cho phép công cụ tìm kiếm hiển thị trang này trong kết quả tìm kiếm?”, chọn “Không”.
  4. Cập nhật trang.

Yoast SEO sẽ thêm thẻ noindex vào mã HTML của trang, thông báo cho các công cụ tìm kiếm không lập chỉ mục trang đó.

2. Rank Math SEO

Tương tự như Yoast SEO, Rank Math SEO cũng là một plugin SEO mạnh mẽ với tính năng loại trừ trang khỏi tìm kiếm. Quy trình tương tự:

  1. Chỉnh sửa trang cần loại trừ.
  2. Trong metabox Rank Math, chuyển đến tab “Nâng cao” (Advanced).
  3. Tìm tùy chọn “Cho phép công cụ tìm kiếm lập chỉ mục trang này?” (Allow search engines to index this page?) và chọn “Không”.
  4. Cập nhật trang.

3. Search Exclude

Search Exclude là một plugin đơn giản, chuyên dụng cho việc loại trừ trang, bài đăng hoặc loại nội dung tùy chỉnh khỏi kết quả tìm kiếm trên trang web của bạn. Nó dễ sử dụng và không yêu cầu cấu hình phức tạp.

  1. Cài đặt và kích hoạt plugin Search Exclude.
  2. Truy cập trang hoặc bài đăng bạn muốn loại trừ.
  3. Tìm metabox Search Exclude.
  4. Chọn hộp kiểm “Loại trừ khỏi tìm kiếm” (Exclude from search).
  5. Cập nhật trang.

4. Custom Post Type UI

Nếu bạn đang sử dụng Custom Post Type UI (CPT UI) để tạo các loại bài đăng tùy chỉnh, bạn có thể kiểm soát khả năng hiển thị của chúng trong kết quả tìm kiếm trực tiếp từ cài đặt CPT UI:

  1. Truy cập CPT UI trong bảng điều khiển WordPress.
  2. Chọn “Chỉnh sửa loại bài đăng” (Edit Post Types).
  3. Chọn loại bài đăng bạn muốn chỉnh sửa.
  4. Trong phần “Hỗ trợ” (Supports), đảm bảo rằng “Tìm kiếm” (Search) được chọn.
  5. Nếu bạn *không* muốn loại bài đăng này hiển thị trong tìm kiếm, hãy bỏ chọn “Tìm kiếm”.
  6. Cập nhật loại bài đăng.

Chỉnh sửa file `functions.php` để loại trừ trang/tác giả

Nếu bạn thoải mái với việc chỉnh sửa mã nguồn, bạn có thể sử dụng file `functions.php` của theme để loại trừ trang hoặc tác giả khỏi tìm kiếm. Lưu ý: Chỉnh sửa trực tiếp file `functions.php` có thể gây ra lỗi nếu bạn không cẩn thận. Luôn sao lưu file trước khi thực hiện bất kỳ thay đổi nào. Tốt nhất, bạn nên sử dụng child theme để tránh mất các thay đổi khi theme được cập nhật.

Loại trừ trang cụ thể bằng ID

Bạn có thể sử dụng code sau để loại trừ một trang cụ thể khỏi kết quả tìm kiếm bằng cách sử dụng ID của trang đó:

function exclude_page_from_search($query) {
    if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) {
        $query->set( 'post__not_in', array( 123, 456, 789 ) ); // Thay thế bằng ID trang cần loại trừ
    }
}
add_action( 'pre_get_posts', 'exclude_page_from_search' );

Trong đoạn code trên, hãy thay thế `123, 456, 789` bằng ID của các trang bạn muốn loại trừ. Bạn có thể tìm thấy ID của trang trong URL khi chỉnh sửa trang đó.

Loại trừ tác giả khỏi tìm kiếm

Để loại trừ các bài viết của một tác giả cụ thể khỏi kết quả tìm kiếm, bạn có thể sử dụng code sau:

function exclude_author_from_search($query) {
    if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) {
        $query->set( 'author__not_in', array( 1, 2, 3 ) ); // Thay thế bằng ID tác giả cần loại trừ
    }
}
add_action( 'pre_get_posts', 'exclude_author_from_search' );

Thay thế `1, 2, 3` bằng ID của các tác giả bạn muốn loại trừ. Bạn có thể tìm thấy ID của tác giả trong URL trang chỉnh sửa hồ sơ của tác giả đó.

Loại trừ Custom Post Type khỏi tìm kiếm

Để loại trừ một loại bài đăng tùy chỉnh khỏi tìm kiếm, bạn có thể sử dụng đoạn code sau:

function exclude_cpt_from_search($query) {
    if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) {
        $query->set( 'post_type', array( 'post', 'page' ) ); // Chỉ tìm kiếm trong 'post' và 'page'
    }
}
add_action( 'pre_get_posts', 'exclude_cpt_from_search' );

Đoạn code này giới hạn kết quả tìm kiếm chỉ trong các loại bài đăng `post` và `page`. Để thêm các loại bài đăng khác vào kết quả tìm kiếm, chỉ cần thêm chúng vào mảng, ví dụ: `array( ‘post’, ‘page’, ‘product’ )`.

Sử dụng robots.txt để loại trừ trang

File `robots.txt` là một file văn bản được đặt trong thư mục gốc của trang web, cho phép bạn hướng dẫn các công cụ tìm kiếm về cách thu thập thông tin trên trang web của bạn. Bạn có thể sử dụng `robots.txt` để ngăn các công cụ tìm kiếm lập chỉ mục một số trang hoặc thư mục nhất định.

Tuy nhiên, cần lưu ý rằng `robots.txt` chỉ là một *lời khuyên* cho các công cụ tìm kiếm. Một số công cụ tìm kiếm có thể bỏ qua các chỉ thị trong `robots.txt`.

Để ngăn một trang cụ thể được lập chỉ mục, bạn có thể thêm dòng sau vào file `robots.txt`:

User-agent: *
Disallow: /ten-trang-can-loai-tru/

Thay thế `/ten-trang-can-loai-tru/` bằng đường dẫn URL của trang bạn muốn loại trừ. Để ngăn toàn bộ thư mục được lập chỉ mục:

User-agent: *
Disallow: /ten-thu-muc-can-loai-tru/
  • `User-agent: *` chỉ định rằng quy tắc này áp dụng cho tất cả các trình thu thập thông tin (công cụ tìm kiếm).
  • `Disallow:` chỉ định đường dẫn URL mà bạn muốn ngăn trình thu thập thông tin truy cập.

Lưu ý quan trọng: Phương pháp này không loại bỏ trang khỏi kết quả tìm kiếm nếu trang đó đã được lập chỉ mục trước đó. Nó chỉ ngăn các công cụ tìm kiếm thu thập thông tin và lập chỉ mục trang đó trong tương lai. Để loại bỏ một trang đã được lập chỉ mục, bạn cần sử dụng các phương pháp khác, chẳng hạn như sử dụng plugin SEO để thêm thẻ `noindex` hoặc gửi yêu cầu xóa URL tới Google Search Console.

Sử dụng thẻ “

Một cách khác để ngăn các công cụ tìm kiếm lập chỉ mục một trang là thêm thẻ meta `robots` với thuộc tính `content=”noindex”` vào phần “ của trang đó.

Như đã đề cập trước đó, các plugin SEO như Yoast SEO và Rank Math SEO thường tự động thêm thẻ này khi bạn chỉ định rằng bạn không muốn một trang hiển thị trong kết quả tìm kiếm. Tuy nhiên, bạn cũng có thể thêm thẻ này theo cách thủ công bằng cách chỉnh sửa trực tiếp file template của trang.

Ví dụ:

<head>
    <meta name="robots" content="noindex">
    <!-- Các thẻ meta khác -->
</head>

Thẻ “ thông báo cho các công cụ tìm kiếm không lập chỉ mục trang này.

Xóa URL khỏi Google Search Console

Nếu một trang đã được lập chỉ mục bởi Google và bạn muốn loại bỏ nó khỏi kết quả tìm kiếm, bạn có thể gửi yêu cầu xóa URL thông qua Google Search Console.

  1. Đăng nhập vào Google Search Console và chọn trang web của bạn.
  2. Trong menu bên trái, chọn “Xóa URL” (Removals).
  3. Nhấp vào nút “Yêu cầu mới” (New Request).
  4. Nhập URL của trang bạn muốn xóa.
  5. Chọn một trong các tùy chọn sau:
    • “Xóa tạm thời”: Loại bỏ trang khỏi kết quả tìm kiếm trong khoảng 6 tháng. Bạn cần đảm bảo trang không còn tồn tại hoặc trả về mã trạng thái 404/410 để nó không được lập chỉ mục lại sau 6 tháng.
    • “Xóa tất cả các URL có tiền tố này”: Loại bỏ tất cả các URL bắt đầu bằng tiền tố đã chỉ định. Cẩn thận khi sử dụng tùy chọn này.
  6. Gửi yêu cầu.

Google sẽ xem xét yêu cầu của bạn và thông báo cho bạn về kết quả.

Kiểm tra lại sau khi loại trừ

Sau khi áp dụng bất kỳ phương pháp nào để loại trừ trang hoặc tác giả khỏi tìm kiếm, hãy kiểm tra kỹ lưỡng để đảm bảo rằng các thay đổi đã được áp dụng thành công. Bạn có thể sử dụng các công cụ sau:

  • Google Search: Tìm kiếm trên Google bằng site:yourdomain.com để xem trang có còn xuất hiện trong kết quả tìm kiếm hay không.
  • Google Search Console: Kiểm tra trạng thái lập chỉ mục của trang web và xem có bất kỳ lỗi nào không.
  • Sử dụng công cụ kiểm tra robots.txt: Google Search Console cung cấp một công cụ để kiểm tra file robots.txt của bạn và đảm bảo rằng không có lỗi nào.

Kết luận

Việc loại trừ trang hoặc tác giả khỏi tìm kiếm trên WordPress là một quá trình quan trọng để duy trì tính bảo mật, quản lý nội dung và cải thiện trải nghiệm người dùng. Bạn có thể sử dụng nhiều phương pháp khác nhau, từ việc sử dụng plugin đơn giản đến chỉnh sửa trực tiếp mã nguồn. Chọn phương pháp phù hợp nhất với nhu cầu và kỹ năng của bạn. Đừng quên kiểm tra kỹ lưỡng sau khi áp dụng bất kỳ thay đổi nào để đảm bảo rằng các trang hoặc tác giả đã được loại trừ thành công khỏi kết quả tìm kiếm.