Trang chủ WordpressWordpress Plugin [Woocommerce] Tối ưu đường dẫn tĩnh

[Woocommerce] Tối ưu đường dẫn tĩnh

bởi Thạch Phạm
34 bình luận 7975 views
Khuyến mãi hosting

Mặc định khi cài đặt Woocommerce thì có thể bạn sẽ thấy các sản phẩm có đường dẫn chưa đẹp cho lắm, mà nếu muốn các đường dẫn sản phẩm và các đường dẫn danh mục sản phẩm, từ khóa sản phẩm đẹp hơn thì chúng ta nên kích hoạt tính năng đường dẫn tĩnh cho Woocommerce. Trong bài viết này mình sẽ nói qua về cách cài đặt và một số thủ thuật liên quan đến tối ưu đường dẫn tĩnh.

Nên xem: Tìm hiểu đường dẫn tĩnh trong WordPress.

Thiết lập đường dẫn tĩnh cho Woocommerce

Để thiết lập chức năng này, bạn phải vào Cài đặt -> Đường dẫn tĩnh.

woocommerce-permalinks-01

Sau đó, ở phần cài đặt thông dụng bạn phải chọn cấu trúc đường dẫn tính cho WordPress trước để kích hoạt tính năng.

woocommerce-permalinks-02

Và ở phần tùy chọn thêm, bạn sẽ thấy nó có thêm các phần cho sản phẩm bao gồm:

  • Mặc định danh mục sản phẩm: Nghĩa là tên cơ sở trên đường dẫn tới các trang danh mục sản phẩm. Ví dụ trên đường dẫn vào danh mục sẽ có là https://thachpham.com/danh-muc-san-pham/quan-jean/ thì phần danh-muc-san-pham chính là tên cơ sở cho chuyên mục. Vì một số lý do, bạn nên đặt nó là muc-san-pham hay một cái gì đó không phải là danh-muc-san-pham vì nó sẽ bị lỗi 404 nếu đặt tên này.
  • Mặc định từ khóa sản phẩm: Giống ở trên nhưng dành cho các trang từ khóa sản phẩm.
  • Mặc định thuộc tính sản phẩm: Giống ở trên nhưng dành cho các trang lưu trữ cho thuộc tính sản phẩm.

Lưu ý, các bạn không được sử dụng tiếng Việt có dấu. Mình sẽ sửa lại thành như sau để không bị lỗi:

woocommerce-permalinks-03

Và ở dưới nữa là phần Mặc định liên kết tĩnh của sản phẩm hay nói cách khác dễ hiểu hơn là cấu trúc đường dẫn tĩnh cho trang sản phẩm. Ở đây bạn có thể chọn cấu trúc mà bạn thích nhưng tránh chọn cấu trúc có dấu tiếng Việt vì nó sẽ bị lỗi. Ví dụ mình muốn đường dẫn của mình là https://thachpham.com/san-pham/quan-levis thì sẽ thiết lập như sau:

woocommerce-permalinks-04

Hoặc nếu mình muốn đường dẫn sản phẩm có chứa tên danh mục sản phẩm của sản phẩm đó thì thiết lập như sau:

woocommerce-permalinks-05

Xóa mặc định danh mục sản phẩm và mặc định sản phẩm

Mình viết vậy cho nó khớp với bản dịch thôi chứ nếu nói chính xác là xóa tên cơ sở cho các đường dẫn sản phẩm và danh mục. Ở trên bạn đã thấy mỗi khi ta vào đường dẫn của danh mục sản phẩm sẽ có thêm /muc-san-pham/ trên đường dẫn và đối với sản phẩm sẽ có thêm /san-pham/. Nếu bạn muốn xóa hai cái đó đi thì hãy lần lượt cài hai plugin này vào.

Đầu tiên là cài Remove Taxonomy Base Slug vào và kích hoạt lên. Sau đó bạn vào Gói mở rộng -> Remove Taxonomy Base Slug và chọnproduct_catproduct_tag (ấn shift để chọn) và ấn Apply Changes.

woocommerce-permalinks-06

Cuối cùng vào Cài đặt -> Đường dẫn tĩnh ấn nút Lưu thay đổi lần nữa để nó flush permalink.

Kế tiếp là cài plugin Remove slug from custom post type vào và kích hoạt lên, sau đó vào Cài đặt -> Đường dẫn tĩnh và ấn nút Lưu thay đổi là được.

Thêm .html cho sản phẩm

Khi cài plugin Remove slug from custom post type ở trên là trong plugin đó đã có tính năng hỗ trợ thêm hậu tố cho đường dẫn. Bạn vào Cài đặt -> Custom post type và điền html vào trong đó.

wc26-them-html-url

Sau đó vào Cài đặt -> Đường dẫn tĩnh và ấn nút lưu thay đổi để nó cập nhật. Bây giờ ra lại trang chủ website và click vào sản phẩm sẽ thấy sản phẩm đã có .html ở đuôi rồi.

 

Lời kết

Đó là một số kinh nghiệm của mình trong việc tối ưu đường dẫn của Woocommerce, thứ nhất là cho nó đẹp hơn và dĩ nhiên thứ hai là cho cấu trúc đường dẫn nó chuẩn SEO một tí phải không nào. Chúc bạn làm thành công.

34 bình luận

Có thể bạn quan tâm

34 bình luận

Minh 10/06/2020 - 4:38 Chiều

Ad ơi, có thể hướng dẫn giúp e cách đổi link sản phẩm thành quickview ko ạ. Ý e là sau khi click vào sản phẩm nó ko chuyển tới product page mà nó chỉ hiện khung quickview

Reply
Thịnh 25/05/2017 - 12:07 Sáng

CHo e hỏi tí, e đã làm theo. Nhưng trang báo lỗi 404 thì xử lý sao ạ?

Reply
hoàng 23/04/2017 - 5:19 Chiều

Xóa mặc định danh mục sản phẩm và mặc định sản phẩm

Mình bị mất hét nội dung ở trong mục danh mục khi làm theo ở mục trên

Reply
datatai 11/04/2017 - 10:14 Sáng

thank you, have problem remember you

Reply
XiongSoft 08/01/2017 - 9:34 Chiều

cho em hỏi tý. em là dân không chuyên nên đau đầu với cái đuôi html này quá. số là em đang chạy ngon lành, nhưng bài viết và trang không có đuôi html. em đã đổi có đuôi htlm. chạy ok, nhưng vấn đề là kích vào mấy đường link khi tìm trong google thì nó chuyển hướng là không tìm thấy, dù nó chạy đến đúng địa chỉ nhưng chỉ thiếu cái html nên nó báo không tìm thấy. Em đau đầu quá, vậy nên html hay vẫn để như cũ không có html. Mấy anh kinh nghiệm chỉ cho em với. SEO đau đầu quá. hii

Reply
MHD Trung Văn 05/12/2016 - 2:53 Chiều

LÀM THEO mà bị lỗi. hix. khó ghê

Reply
Anh Kiệt 10/11/2016 - 2:47 Chiều

toàn bị lỗi ko tìm thấy ko ad ơi

Reply
Lâm 06/10/2016 - 12:48 Sáng

Thạch ơi, mình đã làm theo cách của Thạch hướng dẫn nhưng chết dở là:

mục tin tức(post) bị lỗi 404.

Nên mình đã gỡ hết plugin ra và thiết lập lại mặc định như hình Thạch đã chụp:

https://thachpham.com/wp-content/uploads/2015/11/woocommerce-permalinks-02.jpg
https://thachpham.com/wp-content/uploads/2015/11/woocommerce-permalinks-03.jpg
https://thachpham.com/wp-content/uploads/2015/11/woocommerce-permalinks-05.jpg

Và bây giờ mục tin tức vẫn bị lỗi 404. Thạch giúp mình xử lý vụ này với.

web mình đang bị: denlednhat.com.vn

Reply
Anh Kiệt 10/11/2016 - 3:01 Chiều

sửa được chưa vậy bạn…..theme bạn sài là theme tên gì vậy

Reply
Nguyen Hao 12/09/2016 - 9:51 Sáng

Mình muốn bỏ URL phân cấp trong woocommenrce làm sao nhỉ
Mình có chuyên mục phân cấp như sau
Thay linh kiện iphone
– Thay linh kiện iphone 5
– Thay linh kiện iphone 6

Khi URL hiện thị cái chuyên mục nó sẽ ra
domain.com/thay-linh-kien-iphone/thay-linh-kien-iphone-5
domain.com/thay-linh-kien-iphone/thay-linh-kien-iphone-6

Mình nghĩ nó bị trùng lặp nội dung trong URL nên mình muốn bỏ chỉ còn hiển thị
domain.com/thay-linh-kien-iphone-5
domain.com/thay-linh-kien-iphone-6

Tất nhiên là vẫn giữ nguyên cấu trúc CHUYÊN MỤC CHA VÀ CON
Ai biết hỗ trợ mình với nhé . Thank

Reply
Cty TNHH SX và in ấn bao bì Thảo Nguyên 04/11/2016 - 12:48 Chiều

bạn sài seo by yoast ẩn category trong advanced —–> chọn permak chọn remove category nhé

Reply
nam 09/09/2016 - 4:53 Chiều

mình đã cài Remove slug from custom post type và làm theo thach nhưng nó không tìm thấy trang , sau đó mình xóa nó đi thì vào được bình thường, như vậy là bị gì bạn ?

Reply
Thạch Phạm 11/09/2016 - 2:55 Chiều

Bạn vào Settings -> Permalinks và ấn nút lưu lại thử nhé. Sau đó vào lại trang mà bạn bị lỗi.

Reply
Lê Phong 01/09/2016 - 10:51 Sáng

Đã chỉnh sửa xong. Thank

Reply
Lê Phong 01/09/2016 - 10:46 Sáng

Làm theo xong bây giờ toàn trả về 404 hết bạn ơi

Reply
Ngô Công Tự 06/08/2016 - 9:43 Sáng

Hi anh
Em làm hết các bước link sản phẩm ra được , nhưng khi cài Remove slug from custom post type thêm .html lại lỗi 404 anh !

Reply
Ngô Công Tự 06/08/2016 - 9:50 Sáng

Em sửa được link sản phẩm có .html nhưng bài post là mất .html ( dạng http://www.domain/post/)

Reply
Cường Nguyễn 15/07/2016 - 10:36 Sáng

mình muốn thêm danh mục sản phẩm trước sản phẩm nhưng khi thêm dòng /%product_cat% dô thì khi tạo một trang mới bị lỗi 404 Thạch ơi .

Reply
Thạch Phạm 17/07/2016 - 6:17 Chiều

Bạn phải ghi là /%product_cat%/ nhé.

Reply
Cường Nguyễn 17/07/2016 - 11:19 Chiều

mình thêm đoạn này dô thì khi lưu lại nó bị mất cái ” / ” cuối !

Reply
Quang 13/07/2016 - 10:48 Chiều

Trong phần thiết lập đường dẫn tĩnh
Mục Product Permalinks -> Mặc định riêng: /%category%
thì link sản phẩm ok theo ý mình muốn rồi: danh-muc/tensanpham
Nhưng những link trang page, như: gio-hang, thanh-toan, cua-hang… thì báo lỗi không tim thấy trang .

Mong bạn giúp mình fix lỗi này với. Thanks ad nhiều nhé!

Reply
Thạch Phạm 17/07/2016 - 9:26 Chiều

Phần trang nó sử dụng permalink mặc định của WordPress nên thiết lập cái này đâu có ảnh hưởng gì ta. Bạn thử vào mục Pages rồi ấn View ở mỗi page xem có bị lỗi không nhé.

Reply
MIN 20/11/2016 - 8:43 Chiều

xem PAGE tạm ( LÚC THÊM ) thì được , CÒN LẠI LỖI HẾT ??????

Reply
Cường Nguyễn 17/07/2016 - 11:17 Chiều

mình cũng bị tình trạng này ! hôm nọ cũng có 1 bạn giải đáp là do theme ! nhưng khi mình update lại một bản wordpress hoàn toàn mới và chỉ cài plugin woocommerce thì cũng vẫn bị lỗi trang !

Reply
Nhân Hoàng 27/07/2016 - 8:58 Sáng

Mình thiết lập Product Permalinks -> /%product_cat%/ cũng bị lỗi không tìm thấy trang gio-hang, thanh-toan, cua-hang,… Mình đang dùng Woocommerce 2.6.2, theme StoreFront.

Reply
Vang 25/06/2016 - 10:08 Chiều

Mình làm như Thạch Phạm hướng dẫn nhưng không xóa được /san-pham/, chỉ xóa được /muc-san-pham/. Code thì mình chưa biết chèn vào đâu

Reply
Thạch Phạm 27/06/2016 - 11:12 Sáng

Bạn thử cài plugin này vào https://wordpress.org/plugins/reduce-custom-postype-url/
Sau đó vào Thiết lập -> Đường dẫn tĩnh và ấn lại nút cập nhật nhé.

Reply
vietnguyen 06/07/2016 - 5:53 Chiều

@Thạch Phạm : cho mình hỏi mình đã làm nhưng giống như bạn nhưng bị lỗi báo khi thêm sản phẩm mới (mình thử thêm vẫn thêm sản phẩm bình thường ko ảnh hưởng gì )
Remove Slug Custom post type error!
.htaccess is not writable, please add following lines to complete your installation:
RewriteRule ^san-pham/(.+)$ /$1 [R=301,L]
RewriteRule ^product_variation/(.+)$ /$1 [R=301,L]
RewriteRule ^/(.+)$ /$1 [R=301,L]
RewriteRule ^shop_order_refund/(.+)$ /$1 [R=301,L]
RewriteRule ^/(.+)$ /$1 [R=301,L]
RewriteRule ^/(.+)$ /$1 [R=301,L]

Mình cũng đọc thread này https://hoidap.thachpham.com/chu-de/minh-khi-dang-san-pham-moi-thi-no-bao-loi.8903/ mà hình như vẫn chưa có câu trả lời ! mình cũng thử ngừng plugin “Remove slug from custom post type” và cài plugin “Reduce Custom Post Type Slug” nhưng vẫn chưa dc 🙁

Với phần code Thêm .html cho sản phẩm ở trên bn là chèn vào ở đâu bn chưa có nói cụ thể ?

Cảm ơn Thạch Phạm nhiều !

Reply
tran tu 17/10/2016 - 4:39 Chiều

mình cũng bị giống bạn. admin giúp với

Reply
vietnguyen 19/05/2017 - 12:11 Chiều

bn paste đoạn này thay đoạn cũ là okie nhé !

BEGIN REMOVE SLUG CUSTOM POST TYPE RULES

RewriteRule ^product/(.+)/$ /$1 [R=301,L]
RewriteRule ^product_variation/(.+)/$ /$1 [R=301,L]
RewriteRule ^/(.+)/$ /$1 [R=301,L]
RewriteRule ^shop_order_refund/(.+)/$ /$1 [R=301,L]
RewriteRule ^/(.+)/$ /$1 [R=301,L]
RewriteRule ^/(.+)/$ /$1 [R=301,L]
RewriteRule ^/(.+)/$ /$1 [R=301,L]

END REMOVE SLUG CUSTOM POST TYPE RULE

BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

END WordPress

Tung 07/07/2016 - 1:17 Chiều

Mình cũng đã thử theo hướng dẫn nhưng khi thêm .html vào sản phẩm thì lại bị mất danh mục custom phía trước bạn ạ,

Reply
Thạch Phạm 13/07/2016 - 3:38 Chiều

Có lẽ ở WooCommerce 2.6 nó khác một chút, để mình cập nhật lại serie này cho WooCommerce 2.6 nhé.

Reply
Lâm 06/10/2016 - 1:54 Sáng

Thạch giúp mình chỉnh lại cái website bên mình sau khi áp dụng bài này https://thachpham.com/wordpress/wp-plugin/duong-dan-tinh-woocommerce.html

Thì mục tin tức, tin khuyến mãi bị lỗi 404 không vào được.

Mặc dù đã xóa plugin nhưng vẫn không được.

Xin cứu giúp mình với

Thạch Phạm 08/10/2016 - 12:42 Chiều

Khi vào trang sản phẩm, bạn nhìn lên đường dẫn xem có ký tự tiếng Việt hay ký tự lạ không, nếu có thì bạn vào Settings -> Permalinks và chọn cấu trúc permalink cho WooCommerce là Custom rồi ghi san-pham vào nhé.

Để lại một bình luận

* Khi bình luận, bạn đồng ý rằng thông tin bạn nhập vào bao gồm tên, email và địa chỉ IP sẽ được lưu giữ tại website.