HD xóa product-category trong đường dẫn url của WooCommerce WordPress

HD xóa product-category trong đường dẫn url của woocommerce wordpress

 

Hướng dẫn xóa product, product-category trong đường dẫn của woocommerce

Nhiều khách hàng có yêu cầu xóa bỏ chữ product hoặc product-category trong đường dẫn mặc định của woocommerce. Thấy bảo thân thiện với seo gì gì ? mình không rõ lắm vấn đề đó. Chỉ biết hướng dẫn bỏ đi thôi ?

Khi bỏ đi cũng có cái hay là đường dẫn sẽ được rút ngắn. Nhưng bên cạnh đó cũng có 1 số bất cập là phải chú ý khi đăng sản phẩm đường dẫn không được trùng với bài viết, page hay bất khi post type khác.

Hướng dẫn loại bỏ chữ product trong đường dẫn

Trước tiên các bạn dán đoạn code sau vào file functions.php của theme đang sử dụng. Sau đó hãy update lại permalink (Setting -> Permalinks -> Save changes) và thưởng thức thành quả.

Chú ý:

  1. Copy và dán đúng cú pháp PHP. Nhiều bạn có cái dấu mở PHP (<?php) tống cả vào mà không để ý rồi lỗi cả web cứ inbox bảo code làm sao … em buồn lắm các bác ạ ?
  2. Tại dòng số 11 trong code bên dưới đang để là /cua-hang/ các bạn thay chữ đó thành slug hiện tại của web… vào Setting -> Permalink để kiểm tra slug hiện tại là gì (thường là /product/ hoặc /shop/ …)

Mình sẽ giải thích 1 chút xíu về hàm trên. Function devvn_remove_slug hook vào post_type_link  sẽ giúp chúng ta xóa bỏ chữ product trong đường dẫn. Nhưng khi truy cập vào đường dẫn đó sẽ bị 404 vì vậy ta phải có thêm function devvn_woo_rewrite_rules để rewrite, sẽ không còn bị 404 nữa.

Chú ý: Mặc định slug là product. Nhưng có thể slug đó đã bị thay đổi trước đó. bạn hãy kiểm tra xem slug hiện tại là gì rồi thay vào phía trên cho đúng nhé.

Hướng dẫn loại bỏ chữ product-category trong đường dẫn KHÔNG cần plugin

Bạn chỉ cần copy đoạn code sau vào file functions.php của theme đang sử dụng sau đó vào update lại permalink (Setting -> Permalink -> Save change) là có thể xóa bỏ dc chữ product-category ra khỏi đường dẫn rồi.

Chú ý:

  1. Cú pháp PHP khi copy
  2. Tại dòng 10 code dưới áp dụng cho slug danh mục là “product-category”. Hãy thay slug đó thành slug hiện tại của web bạn (Vào Setting -> Permalink để ktra)

Chú ý: Nếu sau khi làm xong mà bị lỗi phân trang (/page/2 – 404 not found) là do ở phần permalink của Posts có dạng .html. Các bạn sửa như sau

Sửa code dòng 30,31 ở trên thành đoạn này

add_rewrite_rule($baseterm.’/page/([0-9]{1,})?$’, ‘index.php?product_cat=’.$term_slug.’&paged=$matches[1]’,’top’);
add_rewrite_rule($baseterm.’/(?:feed/)?(feed|rdf|rss|rss2|atom)?$’, ‘index.php?product_cat=’.$term_slug.’&feed=$matches[1]’,’top’);

Hướng dẫn loại bỏ chữ product-category trong đường dẫn bằng plugin

Ngoài cách không dùng plugin ở trên có thể dùng plugin. Chúng ta dùng plugin WP htaccess Control để loại bỏ chữ product-category khỏi đường dẫn. Sau khi cài đặt các bạn hãy chọn như hình bên dưới rồi save lại là okie nhé

Chú ý: Sau khi xóa bằng code bên trên đã thành công nhưng sẽ có 2 link tồn tại. Ví dụ domain/san-pham/dien-thoai và domain/dien-thoai . Đối với site mới thì không ảnh hưởng gì hết vì sitemap sẽ không có link có /san-pham/ còn nếu là web đã chạy được 1 thời gian và đã được index thì hãy ib face cá nhận cho mình với 100k sẽ có code auto redirect 301 tất cả các link cũ về link mới để đảm bảo SEO nhé

Chúc các bạn thành công!