Thêm đuôi .html cho Post và Page WordPress không dùng plugin
Thêm đuôi .html cho Post và Page giúp link website của bạn đẹp và tối ưu seo hơn
Việc lựa chọn kiểu đường dẫn đẹp và tối ưu cho web là điều rất quan trọng, nó góp phần tạo nên thành công không nhỏ cho người làm SEO.
Với bài viết này mình sẽ giúp các bạn thay đường dẫn của WordPress trở nên đẹp hơn và thêm đuôi .html vào cả Post và Page.
– Thay đổi đường dẫn cho Post và thêm đuôi .html
- Đầu tiên bạn vào Trang Quản trị > Setting > Permalinks
- Tick vào ô Custom Structure : thêm đoạn này
/%postname%.html
- Chọn Save Changes.
– Thay đổi đường dẫn cho Page và thêm đuôi .html
- Các bạn mở file Functions.php trong thư mục theme và thêm đoạn function này vào :
add_action('init', 'VnKings_change_page_permalink', -1); function VnKings_change_page_permalink() { global $wp_rewrite; if ( strstr($wp_rewrite->get_page_permastruct(), '.html') != '.html' ) $wp_rewrite->page_structure = $wp_rewrite->page_structure . '.html'; }
Thêm đuôi .html cho Single Post Type
- Ví dụ : Domain/chi-tiet-san-pham.html
add_action( 'rewrite_rules_array', 'rewrite_rules' ); function rewrite_rules( $rules ) { $new_rules = array(); foreach ( get_post_types() as $t ) $new_rules[ $t . '/([^/]+)\.html$' ] = 'index.php?post_type=' . $t . '&name=$matches[1]'; return $new_rules + $rules; } add_filter( 'post_type_link', 'custom_post_permalink' ); // for cpt post_type_link (rather than post_link) function custom_post_permalink ( $post_link ) { global $post; $type = get_post_type( $post->ID ); return home_url( $type . '/' . $post->post_name . '.html' ); }
- Sau khi lưu lại các bạn nhớ vào Trang Quản trị > Setting > Permalinks và Chọn Save Changes 1 lần nữa.
Chúc các bạn thành công !
Bài liên quan
- Cách chặn Bot Ahrefs quét dữ liệu website thành công 100%
- Kết nối comment fanpage facebook và bài viết trên website
- Thêm công cụ tìm kiếm của Website vào các trình duyệt
- Thêm nút like, share, google + vào WordPress
- Thêm thẻ Meta Description cho WordPress không cần Plugin
- Tự động thêm link từ khóa vào nội dung và trích dẫn wordpress
Hiện mình có một trục trặc trong vấn đề thêm .html cho bài post với sản phẩm woocommerce, không biết bạn có biết không.
Nói chung là không thể để chung link bài post và san phẩm củng .html được.
vd:
– post: http://abc.com/ten-bai-post.html
– san pham: http://abc.com/ten-san-pham.html
Dạng như vậy, mình có làm một số bước theo trang thạch phạm để bỏ phần mặc định /san-pham/ đi.
Giúp mình phát. thank bạn.
Bạn có Demo online không, gửi mình xem thử?
@Trương quốc Yên : Mình vừa thêm hướng dẫn thêm đuôi .html cho cả trang chi tiết sản phẩm nhé
Mình có làm theo hướng dẩn theo bài viết này ” http:// thachpham . com/wordpress/wp-plugin/duong-dan-tinh-woocommerce.html” và hiện tại nếu để san pham va bài post đều có html thì sản phẩm không ra được nội dung, còn để sản phẩm có html và bài post không có html thì đều có nội dung bình thường.
Bạn thử bỏ tạm các đoạn code đã làm ở trang khác và thay bằng đoạn này vào functions.php nhé:
Nếu không được bạn có thể gửi cho mình trang cụ thể của bạn để 2 ta cùng nghiên cứu.
Mình đã thêm code như của bạn và hiện tại vẫn không được. mà lỗi luôn nữa
Khi làm xong bạn đã cập nhật lại permalink chưa ?
bác lực ơi, sao em làm như cái hướng dẫn của bác nó thêm .html được những nó lại chuyển thành product/ten-san-pham.html chứ không phải là san-pham/ten-san-pham.html
Product này là bạn dùng Woo hay Post-type do bạn tạo ra?
Thế làm sao để chuyển từ product sang san-pham được ạ. Bác giúp em đoạn code đó với. Cảm ơn bác nhiều ạ
Admin cho em hỏi!
Em đang dùng wordpress, em đang làm trang bán hàng bằng plugin woocommerce !
Em muốn đường dẫn sản phẩm hiển thị dạng: https://www. thegioididong. com/laptop/acer-es1-431-n3050-4gb-500gb-win10
trong đó:
– “laptop”: tên danh mục sản phẩm
– “acer-es1-431-n3050-4gb-500gb-win10”: tên sản phẩm
* Em đã thử edit lại file cấu hình đường dẫn trong plugin woocommerce!
nhưng nó cũng chưa hiển thị theo đúng ý em muốn được!
Mong Admin giúp đỡ em với ạ!
Bạn có muốn sử dụng dạng domain/san-pham/danh-muc-san-pham/ten-san-pham Không?
vì nếu muốn đường dẫn như bạn nói thì phải dùng Plugin chứ không cơ bản là 1 đoạn function được
Anh cho em hỏi là em có 1 site nhưng category trên menu của em không có .html vậy giờ em muốn thêm .html vào category thì phải làm như thế nào ạ?
Mình chưa có giải pháp code tay cho phần này, bạn có thể sử dụng plugin này để thêm .html cho category
https://wordpress.org/plugins/html-in-category-and-pages/
Chúc bạn thành công!
Minh muon category cua post va taxonomy cua custom post type có duôi .html thi lam nhu nao vay ban?
Hiện tại với Category và Post type thì bạn nên dùng plugin nhé. mình chưa có hướng giải quyết cho nó bạn ạ
Chào bạn.
Mh có trang web bán hàng mà chỉ muốn thêm đuôi .html cho mỗi phần tin tức thôi. Mình không muốn thêm phần đuôi .html cho phần chi tiết sản phẩm.
Nếu mình áp dụng theo cách thêm đoạn /%postname%.html vào Custom Structure thì nó thêm cả .html vào cả phần chi tiết sản phẩm (Post sản phẩm) lẫn cả phần tin tức (post bài viết).
Có cách nào giải quyết cái này không bạn?
Mình Làm như bạn nói thêm .html cho trang wordpress khi viết bài cho trang thì nó thêm htlm nhưng khi mở bài link có đuôi html thì báo lỗi 404, không có đuôi .html thì vào được.
Chỉ giúm mình.
Thanks
Bạn chọn Cài đặt => Đường Dẫn Tĩnh, rồi Cập nhật chưa bạn?
Code thêm single post bị xung đột hay gì đấy, khi dùng plugin comment wpdiscuz thì phần link bài viết trong widget recent comment bị lỗi.
VD:
Sản phẩm có link: /san-pham/my-pham-dep-da.html, khi có người bình luận thì nó có link bình luận dạng: /san-pham/my-pham-dep-da.html#comment-79 ==> OK.
Khi chuyển qua xem tin tức hoặc sản phẩm khác: /san-pham/my-pham-dep-dang.html và rê chuột vào widget recent comment để xem bình luận thì nó có dạng như hình bên dưới.
Ảnh minh họa: http://sv1.upsieutoc.com/2017/04/01/gh.png
Khi không dùng code thêm html cho post thì nó dẫn link bình luận bình thường.
Thêm .html cho link sản phẩm sẽ tối ưu seo tốt hơn. cảm ơn vì bài viết.
Chào bạn. Mình làm theo hướng đẫn thì ok. Nhưng thi thoảng lại bị như thế này:
Cùng 1 sản phẩm nhưng có 2 url
VD:
url 1: domain.com/product/ten-san-pham.html (cái này thì OK)
url 2: domain.com/san-pham/ten-san-pham/ ()
Web bạn dùng Url nào?
Bạn cho mình hỏi:
Khi mình thêm đoạn code để có .html cho sản phẩm thì:
Khi có người bình luận nó lại bị lỗi: 403 Forbidden
Đường link thì hiện: http://ten mien/.html#comment-45
Đáng nhẽ nó phải hiện ra là:http://ten mien/product/ten san pham.html#comment-45
Nếu bỏ đoạn code đi thì không còn html thì bình luận bình thường.
Bạn xem giúp mình phát
cho mình hỏi thêm html thì rank google có bị thay đổi không ạ
Nếu link web bạn đã được Google index thì bạn cần chuyển hướng url Redirect 301 về link mới bạn nhé.
Còn nếu bạn làm web mới thì không ảnh hưởng gì, .html chỉ làm cho link đẹp hơn thôi, không ảnh hưởng gì tới thứ hạng khi bạn SEO.
Em không bỏ dấu / ở sau đuôi.html trong phần /%postname%.html/ thì có được không anh?
Không vấn đề gì em nhé.
anh ơi, em xài plugin .html ở trên rồi nhưng danh mục vẫn ko hiện html ạ ?
function VnKings_change_page_permalink() {
global $wp_rewrite;
if ( strstr($wp_rewrite->get_page_permastruct(), ‘.html’) != ‘.html’ )
$wp_rewrite->page_structure = $wp_rewrite->page_structure . ‘.html’;
}
add_action(‘init’, ‘VnKings_change_page_permalink’, -1);
trong functions.php mình viết hàm trên. và trong Permalink Settings mình set /%postname%/.html
nhưng trong menu 2 cấp. thì chỉ có cấp con là link được. còn dòng trên cùng thì không link được. lúc nào cũng về 404.
có ai bị thế không vậy, help mình tí với
Chào bạn, bạn set Permalink như bên dưới nhé:
/%postname%.html
đã thay đổi thành công, cám ơn bác
e làm được rồi..
cảm ơn anh nhiều nha.
chào Ad, mình có chọn mục tùy biến và thêm /%postname%.html, mà xem lại bài viết vẫn không có đuôi .html, và Ad cho hỏi thêm cái .html có quan trọng không?
em làm được rồi, cảm ơn a.
anh ơi thế còn tag.html thì phải làm sao ạ