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

Thêm đuôi .html cho Post và Page WordPress không dùng plugin
3 (60%) 27 votes
Thêm đuôi .html cho Post và Page WordPress không dùng plugin

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


Thêm đuôi .html cho Post và Page WordPress không dùng plugin

 

  • 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

  1. 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.

  2. 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é:

      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' );
      }
      

      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.

  3. 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

  4. 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?

  5. 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

  6. 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.

  7. 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/ ()

  8. 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

    • 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.

Bình luận bài viết

Bạn có thể dùng các thẻ HTML này:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

X

Tạo live chat facebook cho website

Bạn cần tư vấn ?