Xóa parent slug khỏi URL trang con WordPress
Giới thiệu về Xóa Parent Slug khỏi URL trang con WordPress
Trong WordPress, cấu trúc URL (đường dẫn) đóng vai trò quan trọng trong việc tối ưu hóa công cụ tìm kiếm (SEO) và trải nghiệm người dùng. Mặc định, khi bạn tạo một trang con (child page) dưới một trang cha (parent page), URL của trang con sẽ bao gồm cả slug của trang cha. Ví dụ:
yourdomain.com/trang-cha/trang-con
Trong nhiều trường hợp, việc giữ lại slug của trang cha trong URL có thể không cần thiết hoặc thậm chí gây bất lợi cho SEO và tính thẩm mỹ của trang web. Bài viết này sẽ hướng dẫn bạn cách xóa parent slug khỏi URL của trang con trong WordPress, đồng thời đề cập đến những ưu và nhược điểm của việc này.
Tại sao nên Xóa Parent Slug?
Việc xóa parent slug khỏi URL trang con có thể mang lại một số lợi ích, bao gồm:
- URL ngắn gọn và dễ nhớ hơn: URL ngắn gọn thường dễ chia sẻ và dễ nhớ hơn, giúp cải thiện trải nghiệm người dùng.
- Cải thiện SEO: URL ngắn gọn và chứa từ khóa quan trọng có thể giúp cải thiện thứ hạng trên các công cụ tìm kiếm.
- Tăng tính thẩm mỹ: URL đơn giản có thể tạo ấn tượng chuyên nghiệp hơn cho trang web.
Các phương pháp Xóa Parent Slug
Có nhiều phương pháp để xóa parent slug khỏi URL của trang con trong WordPress. Dưới đây là một số phương pháp phổ biến nhất:
1. Sử dụng Plugin “Custom Permalinks”
Plugin “Custom Permalinks” là một giải pháp đơn giản và hiệu quả để tùy chỉnh permalink (đường dẫn tĩnh) của trang, bài viết và các loại nội dung khác trong WordPress. Để sử dụng plugin này để xóa parent slug, hãy làm theo các bước sau:
- Cài đặt và kích hoạt plugin “Custom Permalinks”.
- Chỉnh sửa trang con mà bạn muốn xóa parent slug.
- Trong khung “Custom Permalinks” (thường nằm bên dưới trình soạn thảo), nhập slug mong muốn cho trang con. Ví dụ: thay vì
yourdomain.com/trang-cha/trang-con, bạn có thể nhậptrang-con. - Cập nhật trang.
Lưu ý: Nếu bạn muốn xóa parent slug khỏi nhiều trang con, bạn sẽ phải thực hiện quy trình này cho từng trang một.
2. Sử dụng Plugin “Yoast SEO” (Premium)
Plugin Yoast SEO (phiên bản Premium) cung cấp một tính năng nâng cao cho phép bạn chuyển hướng (redirect) URL cũ (bao gồm parent slug) sang URL mới (không có parent slug). Điều này giúp đảm bảo rằng người dùng và công cụ tìm kiếm vẫn có thể truy cập trang con của bạn ngay cả sau khi bạn đã thay đổi URL.
- Nâng cấp lên Yoast SEO Premium.
- Chỉnh sửa trang con mà bạn muốn xóa parent slug.
- Thay đổi slug của trang con thành slug mong muốn (không bao gồm parent slug).
- Yoast SEO Premium sẽ tự động tạo một chuyển hướng 301 từ URL cũ sang URL mới.
3. Sử dụng Code (Chỉnh sửa file functions.php)
Phương pháp này đòi hỏi kiến thức về code và có thể gây ra lỗi nếu thực hiện không đúng cách. Hãy cẩn thận và sao lưu trang web của bạn trước khi thực hiện bất kỳ thay đổi nào.
Bạn có thể sử dụng đoạn code sau để xóa parent slug khỏi URL trang con. Thêm đoạn code này vào file functions.php của theme con (child theme) của bạn:
function remove_parent_slug_from_permalinks( $post_link, $post, $leavename ) {
if ( 'page' != $post->post_type || 'publish' != $post->post_status ) {
return $post_link;
}
$post_link = str_replace( '/' . $post->post_parent . '/', '/', $post_link );
return $post_link;
}
add_filter( 'post_type_link', 'remove_parent_slug_from_permalinks', 10, 3 );
function custom_redirect_parent_slug( ) {
global $wp_query;
global $wpdb;
if ( !is_404() )
return;
$request = $_SERVER['REQUEST_URI'];
$request = trim( $request, "/" );
$sql = "SELECT p.ID FROM {$wpdb->posts} AS p
INNER JOIN {$wpdb->posts} AS pp ON p.post_parent = pp.ID
WHERE p.post_type = 'page'
AND p.post_status = 'publish'
AND CONCAT(pp.post_name, '/', p.post_name) = '%s'";
$post_id = $wpdb->get_var( $wpdb->prepare( $sql, $request ) );
if ( $post_id ) {
$post = get_post( $post_id );
wp_redirect( get_permalink( $post ), 301 );
exit;
}
}
add_action( 'template_redirect', 'custom_redirect_parent_slug' );
Đoạn code này bao gồm hai hàm:
remove_parent_slug_from_permalinks: Hàm này loại bỏ parent slug khỏi URL của trang con.custom_redirect_parent_slug: Hàm này tạo chuyển hướng 301 từ URL cũ (bao gồm parent slug) sang URL mới (không có parent slug). Điều này rất quan trọng để đảm bảo rằng người dùng và công cụ tìm kiếm không gặp lỗi 404 khi truy cập URL cũ.
Quan trọng: Sau khi thêm đoạn code này, bạn cần truy cập trang Cài đặt > Permalinks và nhấn nút “Lưu thay đổi” để WordPress cập nhật lại permalink của bạn.
4. Sử dụng Plugin “Redirection” kết hợp với tùy chỉnh Permalinks
Bạn có thể kết hợp việc tùy chỉnh Permalinks thủ công với plugin “Redirection” để tạo chuyển hướng 301 một cách dễ dàng hơn.
- Chỉnh sửa trang con mà bạn muốn xóa parent slug.
- Thay đổi slug của trang con thành slug mong muốn (không bao gồm parent slug).
- Cài đặt và kích hoạt plugin “Redirection”.
- Sử dụng plugin Redirection để tạo chuyển hướng 301 từ URL cũ (bao gồm parent slug) sang URL mới (không có parent slug).
Lưu ý quan trọng khi Xóa Parent Slug
Trước khi quyết định xóa parent slug khỏi URL trang con, hãy cân nhắc những điều sau:
- Tính nhất quán: Nếu bạn xóa parent slug cho một số trang con, hãy đảm bảo rằng bạn thực hiện điều này một cách nhất quán trên toàn bộ trang web.
- Chuyển hướng 301: Luôn tạo chuyển hướng 301 từ URL cũ sang URL mới để tránh lỗi 404 và duy trì thứ hạng SEO.
- Cấu trúc trang web: Đảm bảo rằng việc xóa parent slug không ảnh hưởng đến cấu trúc tổng thể của trang web và khả năng điều hướng của người dùng.
Ưu và Nhược điểm của từng phương pháp
Mỗi phương pháp xóa parent slug có những ưu và nhược điểm riêng:
Plugin “Custom Permalinks”
Ưu điểm:
- Đơn giản và dễ sử dụng.
- Không yêu cầu kiến thức về code.
Nhược điểm:
- Phải thực hiện thủ công cho từng trang.
- Không tự động tạo chuyển hướng.
Plugin “Yoast SEO” (Premium)
Ưu điểm:
- Tự động tạo chuyển hướng 301.
- Tích hợp với plugin SEO hàng đầu.
Nhược điểm:
- Yêu cầu phiên bản Premium (trả phí).
Code (Chỉnh sửa file functions.php)
Ưu điểm:
- Miễn phí.
- Có thể tùy chỉnh theo nhu cầu cụ thể.
Nhược điểm:
- Yêu cầu kiến thức về code.
- Có thể gây ra lỗi nếu thực hiện không đúng cách.
Plugin “Redirection” kết hợp với tùy chỉnh Permalinks
Ưu điểm:
- Plugin Redirection miễn phí.
- Khả năng tùy chỉnh cao.
Nhược điểm:
- Cần thực hiện thủ công tạo redirect.
Kết luận
Việc xóa parent slug khỏi URL trang con WordPress có thể mang lại một số lợi ích cho SEO và trải nghiệm người dùng. Tuy nhiên, hãy cân nhắc kỹ lưỡng và lựa chọn phương pháp phù hợp với trình độ kỹ thuật và nhu cầu của bạn. Quan trọng nhất, hãy luôn tạo chuyển hướng 301 từ URL cũ sang URL mới để tránh các vấn đề phát sinh sau này. Chúc bạn thành công!
- Hướng dẫn thêm link next/previous trong WordPress
- Theo dõi và chuyển hướng 404 WordPress
- Thêm category và subcategory vào URL WordPress
- 2 cách kiểm tra website WordPress đã tối ưu SEO chưa
- Chuyển hướng trang 404 về trang chủ WordPress
- Cài đặt SEO quan trọng WordPress
- Thêm vai trò SEO editor trong WordPress
