Cải Thiện SEO: Loại Bỏ Slug Cha Chuyên Mục Con WordPress
Trong thế giới kỹ thuật số, mỗi chi tiết nhỏ trên website đều có thể ảnh hưởng lớn đến hiệu suất SEO và trải nghiệm người dùng. Một trong những vấn đề thường gặp đối với các trang WordPress có cấu trúc chuyên mục phân cấp là URL trở nên dài và phức tạp do chứa cả slug của chuyên mục cha. Việc tối ưu hóa cấu trúc URL bằng cách loại bỏ slug chuyên mục cha khỏi các chuyên mục con không chỉ giúp URL trở nên gọn gàng, dễ đọc mà còn mang lại lợi ích đáng kể cho SEO.
Tại sao cần loại bỏ slug chuyên mục cha khỏi URL con?
Cấu trúc URL mặc định của WordPress cho các chuyên mục con thường bao gồm slug của chuyên mục cha, ví dụ: your-domain.com/category/tin-tuc/tin-noi-bo/. Điều này có thể gây ra một số hạn chế:
- Tối ưu hóa SEO: URL dài và chứa nhiều từ khóa lặp lại có thể không được các công cụ tìm kiếm đánh giá cao bằng URL ngắn gọn, tập trung. Việc loại bỏ phần slug cha giúp URL chuyên mục con trở nên súc tích hơn, tập trung vào từ khóa chính của chuyên mục đó.
- Trải nghiệm người dùng (UX): URL ngắn hơn, dễ đọc hơn giúp người dùng dễ dàng ghi nhớ, chia sẻ và hiểu được nội dung mà họ sắp truy cập.
- Quản lý URL: Cấu trúc URL đơn giản hóa giúp việc quản lý và theo dõi dễ dàng hơn, đặc biệt đối với các website có nhiều cấp độ phân loại.

Cơ chế hoạt động của đoạn mã này là gì?
Đoạn mã được cung cấp là một giải pháp thanh lịch và hiệu quả để thay đổi cách WordPress xử lý cấu trúc URL cho các chuyên mục.
<?php
add_filter('register_taxonomy_args','devvn_remove_parent_slug_category', 10, 2);
function devvn_remove_parent_slug_category($args, $name){
if($name == 'category'){
$args['rewrite']['hierarchical'] = false;
}
return $args;
}
add_filter('register_taxonomy_args', ...): Đây là một hook quan trọng trong WordPress, cho phép chúng ta can thiệp và sửa đổi các đối số (arguments) được sử dụng khi một phân loại (taxonomy) được đăng ký. Trong trường hợp này, nó được kích hoạt trước khi phân loại “category” của WordPress được đăng ký hoàn chỉnh.if($name == 'category'): Đoạn mã này đảm bảo rằng sự thay đổi chỉ áp dụng cho phân loại “category” mặc định của WordPress (dùng cho các bài viết). Điều này tránh ảnh hưởng đến các phân loại tùy chỉnh khác (custom taxonomies) mà bạn có thể có trên website.$args['rewrite']['hierarchical'] = false;: Đây là trái tim của giải pháp.$args['rewrite']là một mảng chứa các thiết lập liên quan đến cách WordPress tạo ra các đường dẫn tĩnh (permalinks) cho phân loại.'hierarchical'là một tham số boolean (true/false). Mặc định, đối với phân loại “category”, giá trị này làtrue, nghĩa là WordPress sẽ cố gắng phản ánh cấu trúc phân cấp trong URL (ví dụ:/parent/child/).- Khi chúng ta đặt
false, WordPress sẽ bỏ qua cấu trúc phân cấp thực tế của các chuyên mục khi tạo URL. Thay vào đó, nó sẽ coi tất cả các chuyên mục là “phẳng” ở cấp độ cao nhất cho mục đích tạo đường dẫn, dẫn đến URL nhưyour-domain.com/category/tin-noi-bo/thay vìyour-domain.com/category/tin-tuc/tin-noi-bo/.
Sau khi thêm đoạn mã này vào tệp functions.php của theme đang kích hoạt và lưu thay đổi, điều quan trọng là phải truy cập Cài đặt > Đường dẫn tĩnh trong bảng điều khiển WordPress và nhấp vào Lưu thay đổi. Thao tác này sẽ buộc WordPress tạo lại các quy tắc ghi đè (rewrite rules) mới, áp dụng cấu trúc URL đã được sửa đổi.
Những lợi ích vượt trội khi áp dụng?
Việc áp dụng giải pháp này mang lại nhiều giá trị chiến lược cho website của bạn:
- Tăng cường SEO:
- URL ngắn gọn hơn: Các công cụ tìm kiếm thường ưu tiên các URL ngắn gọn, dễ hiểu.
- Tránh trùng lặp từ khóa: Loại bỏ slug cha giúp URL tập trung hơn vào từ khóa chính của chuyên mục con, tránh việc lặp lại không cần thiết.
- Cải thiện khả năng thu thập dữ liệu: URL đơn giản hơn có thể giúp bot của công cụ tìm kiếm thu thập dữ liệu trang web hiệu quả hơn.
- Nâng cao trải nghiệm người dùng:
- URL thân thiện, trực quan: Người dùng dễ dàng nhận biết nội dung của trang thông qua URL.
- Dễ dàng chia sẻ: Các URL ngắn gọn hơn trông hấp dẫn và chuyên nghiệp hơn khi được chia sẻ trên mạng xã hội hoặc qua email.
- Quản lý nội dung hiệu quả: Giúp quản trị viên dễ dàng hình dung và quản lý cấu trúc liên kết của website.

Cần lưu ý điều gì khi triển khai?
Mặc dù giải pháp này mang lại nhiều lợi ích, việc triển khai cần được thực hiện cẩn thận để tránh các vấn đề không mong muốn:
- Khả năng trùng lặp slug: Mặc dù hiếm, nhưng nếu bạn có một chuyên mục con có slug giống hệt một chuyên mục cha khác ở cấp độ cao hơn (ví dụ:
/category/tin-noi-bo/và/category/tin-tuc/tin-noi-bo/), có thể xảy ra xung đột. WordPress thường tự động xử lý bằng cách thêm số vào slug, nhưng bạn nên kiểm tra kỹ. - Chuyển hướng 301 (Redirects): Đây là yếu tố cực kỳ quan trọng đối với các trang web đã hoạt động. Nếu bạn thay đổi cấu trúc URL của các chuyên mục đã được lập chỉ mục bởi Google, bạn cần thiết lập chuyển hướng 301 từ các URL cũ sang URL mới. Điều này giúp:
- Giữ nguyên thứ hạng SEO hiện có.
- Tránh các lỗi 404 cho người dùng và công cụ tìm kiếm.
- Bạn có thể sử dụng các plugin SEO như Yoast SEO hoặc Rank Math, hoặc thiết lập thủ công qua tệp
.htaccessđể quản lý chuyển hướng.
- Sao lưu trước khi chỉnh sửa: Luôn luôn sao lưu tệp
functions.phpvà toàn bộ website trước khi thực hiện bất kỳ thay đổi mã nào. Điều này giúp bạn có thể khôi phục lại trạng thái ban đầu nếu có lỗi xảy ra. - Kiểm tra trên môi trường thử nghiệm: Nếu có thể, hãy thử nghiệm thay đổi trên một môi trường staging hoặc local trước khi triển khai lên website chính thức.



Kết luận
Việc loại bỏ slug của chuyên mục cha khỏi các URL chuyên mục con là một bước tiến quan trọng trong việc tối ưu hóa website WordPress của bạn. Với một đoạn mã đơn giản và vài thao tác cơ bản, bạn có thể cải thiện đáng kể khả năng SEO, nâng cao trải nghiệm người dùng và đơn giản hóa cấu trúc quản lý URL. Hãy nhớ luôn sao lưu dữ liệu và kiểm tra kỹ lưỡng sau khi triển khai để đảm bảo website hoạt động ổn định và duy trì thứ hạng tìm kiếm.
Các câu hỏi thường gặp (FAQ)
Tại sao cần loại bỏ slug chuyên mục cha khỏi URL con?
Cơ chế hoạt động của đoạn mã để loại bỏ slug chuyên mục cha là gì?
add_filter('register_taxonomy_args', ...) để can thiệp vào các đối số khi phân loại được đăng ký.
Đảm bảo rằng sự thay đổi chỉ áp dụng cho phân loại “category” mặc định của WordPress.
Đặt tham số $args['rewrite']['hierarchical'] = false;. Điều này buộc WordPress bỏ qua cấu trúc phân cấp thực tế của chuyên mục khi tạo URL, dẫn đến URL “phẳng” ở cấp độ cao nhất.Những lợi ích vượt trội khi áp dụng giải pháp loại bỏ slug chuyên mục cha là gì?
Đoạn mã này được áp dụng cho loại taxonomy (phân loại) nào trong WordPress?
Sau khi thêm đoạn mã vào tệp `functions.php` của theme, tôi cần làm gì tiếp theo?
Cần lưu ý điều gì khi triển khai giải pháp này?
functions.php và toàn bộ website trước khi thực hiện bất kỳ thay đổi mã nào.
Kiểm tra trên môi trường thử nghiệm: Nếu có thể, hãy thử nghiệm trên một môi trường staging hoặc local trước khi triển khai lên website chính thức.Tại sao việc thiết lập chuyển hướng 301 lại cực kỳ quan trọng đối với các trang web đã hoạt động khi thay đổi cấu trúc URL?
Làm thế nào để thiết lập chuyển hướng 301 cho các URL cũ sau khi thay đổi cấu trúc?
.htaccess.
GEMINI_SEPARATOR—



