Tối Ưu Tìm Kiếm WordPress: Chỉ Hiển Thị Bài Viết Chính, Nâng Cao Trải Nghiệm Người Dùng

Tối Ưu Tìm Kiếm WordPress: Chỉ Hiển Thị Bài Viết Chính, Nâng Cao Trải Nghiệm Người Dùng

5 views

Trong môi trường số hóa ngày nay, khả năng tìm kiếm hiệu quả là chìa khóa để giữ chân người dùng trên website. WordPress, mặc định, hiển thị mọi loại nội dung từ bài viết, trang cho đến các loại bài viết tùy chỉnh, nhưng đôi khi, việc tinh chỉnh để chỉ tập trung vào các bài viết chính lại mang lại lợi ích bất ngờ. Bài viết này sẽ đi sâu vào kỹ thuật tối ưu hóa kết quả tìm kiếm, giúp bạn kiểm soát hoàn toàn những gì người dùng thấy, nâng tầm trải nghiệm của họ.

Tại sao cần tinh chỉnh kết quả tìm kiếm WordPress?

Việc mặc định WordPress trả về mọi loại nội dung trong kết quả tìm kiếm có thể gây ra sự “nhiễu” thông tin. Tinh chỉnh là cần thiết vì:

  • Cải thiện trải nghiệm người dùng: Khi người dùng tìm kiếm, họ thường mong đợi tìm thấy các bài viết blog, tin tức hoặc nội dung chính. Việc loại bỏ các trang tĩnh (pages) hoặc các loại bài viết tùy chỉnh không liên quan giúp họ nhanh chóng tìm thấy thông tin mong muốn, giảm thiểu sự thất vọng và tăng cường sự hài lòng.
  • Tối ưu hóa chiến lược nội dung: Nếu chiến lược của bạn tập trung vào việc thúc đẩy các bài viết blog hoặc tin tức, việc chỉ hiển thị chúng trong kết quả tìm kiếm sẽ hướng người dùng đến đúng loại nội dung bạn muốn họ tương tác. Điều này đặc biệt hữu ích cho các blog, tạp chí trực tuyến hoặc website tin tức.
  • Nâng cao hiệu suất tìm kiếm: Mặc dù không phải là yếu tố chính, việc giới hạn phạm vi tìm kiếm có thể giảm bớt gánh nặng cho cơ sở dữ liệu, đặc biệt trên các trang web lớn với hàng ngàn mục nội dung khác nhau. Điều này có thể góp phần cải thiện tốc độ phản hồi của công cụ tìm kiếm.
  • Quản lý hiển thị linh hoạt: Đối với các trang web có nhiều loại nội dung phức tạp (ví dụ: sản phẩm, dịch vụ, dự án, sự kiện), việc tách biệt kết quả tìm kiếm cho phép bạn định hình cách người dùng khám phá từng phần của website một cách có chủ đích hơn.

Cơ chế hoạt động: Sức mạnh của pre_get_posts

Để đạt được mục tiêu này, chúng ta sẽ sử dụng một hook cực kỳ mạnh mẽ trong WordPress: pre_get_posts. Đây là một bộ lọc cho phép bạn sửa đổi truy vấn cơ sở dữ liệu trước khi nó được thực thi. Nó hoạt động như một “cánh cửa” kiểm soát, nơi bạn có thể thay đổi các tham số của truy vấn tìm kiếm, phân trang, lưu trữ, v.v., mang lại khả năng tùy biến gần như vô hạn.

Đoạn mã dưới đây là chìa khóa để tinh chỉnh:

/*
* Loại trừ pages và custom post type trong kết quả tìm kiếm của WordPress
*/
function SearchFilter($query) {
    if ( is_admin() || ! $query->is_main_query() )
        return;
    if ($query->is_search) {
        $query->set('post_type', 'post');
    }
    return $query;
}
add_filter('pre_get_posts','SearchFilter');

Giải thích chi tiết:

  • function SearchFilter($query): Định nghĩa một hàm tùy chỉnh sẽ nhận đối tượng truy vấn ($query) làm tham số.
  • if ( is_admin() || ! $query->is_main_query() ) return;: Đây là một điều kiện quan trọng.
    • is_admin(): Đảm bảo rằng thay đổi này sẽ không ảnh hưởng đến các truy vấn trong khu vực quản trị WordPress (backend).
    • ! $query->is_main_query(): Đảm bảo rằng chỉ truy vấn chính của trang (thường là truy vấn hiển thị nội dung chính trên frontend) mới bị ảnh hưởng, tránh gây ra xung đột với các truy vấn phụ.
  • if ($query->is_search): Kiểm tra xem truy vấn hiện tại có phải là một truy vấn tìm kiếm hay không. Chúng ta chỉ muốn thay đổi kết quả khi người dùng thực hiện tìm kiếm.
  • $query->set('post_type', 'post');: Đây là dòng lệnh cốt lõi. Nó thiết lập tham số post_type của truy vấn thành 'post', có nghĩa là chỉ các bài viết thông thường mới được bao gồm trong kết quả. Các loại nội dung khác như page (trang) hoặc custom_post_type (loại bài viết tùy chỉnh) sẽ bị loại trừ.

Đoạn mã này đảm bảo rằng mọi truy vấn tìm kiếm trên giao diện người dùng (frontend) sẽ chỉ trả về các bài viết (post) và bỏ qua các trang (page) hay các loại bài viết tùy chỉnh.

Mở rộng khả năng: Bao gồm các Custom Post Type cụ thể

Không phải lúc nào bạn cũng muốn loại trừ tất cả các loại bài viết tùy chỉnh. Đôi khi, bạn cần kết hợp các bài viết thông thường (post) với một hoặc nhiều Custom Post Type cụ thể khác. Ví dụ, nếu bạn có một trang web thương mại điện tử và muốn tìm kiếm bao gồm cả bài viết và sản phẩm (product).

Bạn có thể dễ dàng điều chỉnh bằng cách thêm slug của loại bài viết tùy chỉnh vào một mảng:

/*
* Thay custom_post_type_slug bằng slug của bạn
*/
$query->set('post_type', array('post','custom_post_type_slug'));

Bằng cách thay thế custom_post_type_slug bằng slug thực tế của loại bài viết tùy chỉnh bạn muốn hiển thị (ví dụ: 'product', 'project', 'event'), bạn có thể linh hoạt kiểm soát kết quả tìm kiếm, tạo ra trải nghiệm phù hợp với cấu trúc nội dung của trang web.

Kết quả tìm kiếm WordPress

Lợi ích vượt trội cho chiến lược nội dung và SEO

Việc tinh chỉnh kết quả tìm kiếm không chỉ mang lại lợi ích về mặt kỹ thuật mà còn có tác động đáng kể đến chiến lược nội dung và tối ưu hóa công cụ tìm kiếm (SEO) của bạn:

  • Tăng tỷ lệ chuyển đổi: Người dùng dễ dàng tìm thấy thông tin họ cần, dẫn đến tương tác cao hơn với nội dung chính, có thể là đăng ký, mua hàng hoặc đọc thêm các bài viết liên quan.
  • Cải thiện SEO: Tập trung vào các loại nội dung chính trong kết quả tìm kiếm có thể giúp công cụ tìm kiếm hiểu rõ hơn về trọng tâm của trang web, đặc biệt nếu các bài viết là nguồn nội dung giá trị cao.
  • Phân loại rõ ràng: Giúp người dùng phân biệt giữa các loại nội dung khác nhau, ngay cả khi chúng có cùng từ khóa, tạo ra một cấu trúc thông tin rõ ràng hơn.
  • Giảm “tỷ lệ thoát” (Bounce Rate): Khi kết quả tìm kiếm chính xác và phù hợp hơn với ý định của người dùng, họ ít có xu hướng rời trang web hơn, cải thiện các chỉ số tương tác.

Lưu ý quan trọng khi triển khai

Khi thực hiện bất kỳ thay đổi nào vào file functions.php, hãy luôn tuân thủ các nguyên tắc sau để đảm bảo an toàn và tính ổn định cho website của bạn:

  • Luôn sao lưu: Trước khi chỉnh sửa functions.php, hãy luôn tạo một bản sao lưu đầy đủ của file này hoặc toàn bộ website.
  • Sử dụng Child Theme: Để đảm bảo các thay đổi của bạn không bị mất khi theme được cập nhật, hãy luôn thực hiện các chỉnh sửa trong functions.php của một Child Theme.
  • Kiểm tra kỹ lưỡng: Sau khi thêm mã, hãy kiểm tra kỹ chức năng tìm kiếm trên giao diện người dùng để đảm bảo mọi thứ hoạt động như mong đợi và không có lỗi nào phát sinh.
  • Cân nhắc các giải pháp nâng cao: Nếu nhu cầu tìm kiếm của bạn phức tạp hơn (ví dụ: tìm kiếm theo trường tùy chỉnh, sắp xếp nâng cao, tìm kiếm theo facet), hãy xem xét các plugin tìm kiếm chuyên dụng hoặc dịch vụ tìm kiếm bên ngoài như Algolia để có hiệu suất và tính năng vượt trội.

Việc tinh chỉnh kết quả tìm kiếm WordPress không chỉ là một thủ thuật kỹ thuật đơn thuần mà là một chiến lược quan trọng để nâng cao trải nghiệm người dùng và tối ưu hóa hiệu quả nội dung. Với đoạn mã đơn giản này, bạn có thể kiểm soát hoàn toàn những gì hiển thị, giúp người đọc nhanh chóng tìm thấy giá trị cốt lõi từ trang web của bạn. Hãy áp dụng ngay để biến công cụ tìm kiếm mặc định thành một trợ thủ đắc lực cho chiến lược nội dung của bạn!

Các câu hỏi thường gặp (FAQ)

Tại sao cần tinh chỉnh kết quả tìm kiếm WordPress?
Cần tinh chỉnh để: Cải thiện trải nghiệm người dùng, Tối ưu hóa chiến lược nội dung, Nâng cao hiệu suất tìm kiếm, và Quản lý hiển thị linh hoạt.
Cơ chế nào được sử dụng để tinh chỉnh kết quả tìm kiếm trong WordPress?
Chúng ta sử dụng hook mạnh mẽ pre_get_posts để sửa đổi truy vấn cơ sở dữ liệu trước khi nó được thực thi.
Đoạn mã cốt lõi để loại trừ các trang (pages) và loại bài viết tùy chỉnh (custom post type) khỏi kết quả tìm kiếm là gì?
Đoạn mã cốt lõi là: php function SearchFilter($query) { if ( is_admin() || ! $query->is_main_query() ) return; if ($query->is_search) { $query->set('post_type', 'post'); } return $query; } add_filter('pre_get_posts','SearchFilter');
Dòng lệnh `$query->set('post_type', 'post');` trong đoạn mã có ý nghĩa gì?
Dòng lệnh này thiết lập tham số post_type của truy vấn thành ‘post’, có nghĩa là chỉ các bài viết thông thường mới được bao gồm trong kết quả tìm kiếm.
Các điều kiện `is_admin()` và `! $query->is_main_query()` trong hàm `SearchFilter` có vai trò gì?
is_admin() đảm bảo thay đổi không ảnh hưởng đến khu vực quản trị WordPress, còn ! $query->is_main_query() đảm bảo chỉ truy vấn chính của trang (trên frontend) bị ảnh hưởng.
Làm thế nào để bao gồm các loại bài viết tùy chỉnh (Custom Post Type) cụ thể vào kết quả tìm kiếm cùng với bài viết thông thường?
Bạn có thể điều chỉnh bằng cách thêm slug của loại bài viết tùy chỉnh vào một mảng, ví dụ: $query->set('post_type', array('post','**custom_post_type_slug**'));.
Việc tinh chỉnh kết quả tìm kiếm mang lại lợi ích gì cho chiến lược nội dung và SEO?
Các lợi ích bao gồm: Tăng tỷ lệ chuyển đổi, Cải thiện SEO, Phân loại rõ ràng nội dung, và Giảm “tỷ lệ thoát” (Bounce Rate).
Cần lưu ý những gì khi triển khai các thay đổi vào file functions.php?
Cần lưu ý: Luôn sao lưu trước khi chỉnh sửa, Sử dụng Child Theme để bảo vệ các thay đổi, Kiểm tra kỹ lưỡng sau khi thêm mã, và Cân nhắc các giải pháp nâng cao nếu nhu cầu phức tạp.
Đá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.