纯代码实现woocommerce伪静态化(商品/产品页固定链接html后缀)
若你使用过WooCommerce插件,那么你会发现WooCommerce的默认固定链接是由 /product/商品名称 构成的。这种默认的结构对于seo来说不是很友好,具体原因如下:
- 显示中文,或者标题过长导致url过长
显示中文的url对于seo非常不好的,如果使用了 Pinyin Slugs 插件,那么链接最后显示的是中文名转译的拼音,很容易就导致url过长,大家一般认为搜索引擎更喜欢简短的url。
- 伪静态结构
若你的网站是伪静态结构,如我们所推荐的 /%post_id%.html 结构,那么商品的结构就和wordpress文章的伪静态结构不一样了,我们建议保持统一的静态结构将对SEO优化有利。
woocommerce伪静态化实现方法
一、将下方的代码粘帖在主题的 functions.php 文件中:
ID固定形式
$posttypes = array( 'product' => 'product',//Woocommerce产品自定义文章类型 'portfolio' => 'portfolio'//作品集自定义文章类型 ); add_filter('post_type_link', 'custom_book_link', 1, 3); function custom_book_link( $link, $post = 0 ){ global $posttypes; if ( in_array( $post->post_type,array_keys($posttypes) ) ){ return home_url( $posttypes[$post->post_type].'/' . $post->ID .'.html' ); } else { return $link; } } add_action( 'init', 'custom_book_rewrites_init' ); function custom_book_rewrites_init(){ global $posttypes; foreach( $posttypes as $k => $v ) { add_rewrite_rule( $v.'/([0-9]+)?.html$', 'index.php?post_type='.$k.'&p=$matches[1]', 'top' ); } }
别名固定形式
$posttypes = array( 'product' => 'product',//Woocommerce产品自定义文章类型 'portfolio' => 'portfolio'//作品集自定义文章类型 ); add_filter('post_type_link', 'custom_book_link', 1, 3); function custom_book_link( $link, $post = 0 ){ global $posttypes; if ( in_array( $post->post_type,array_keys($posttypes) ) ){ return home_url( $posttypes[$post->post_type].'/' . $post->post_name .'.html' ); } else { return $link; } } add_action( 'init', 'custom_book_rewrites_init' ); function custom_book_rewrites_init(){ global $posttypes; foreach( $posttypes as $k => $v ) { add_rewrite_rule( $v.'/([一-龥a-zA-Z0-9_-]+)?.html([sS]*)?$', 'index.php?post_type='.$k.'&name=$matches[1]', 'top' ); } }
二、WordPress后台->设置->固定连接->商品(产品)固定连接->自定义基础连接中输入 /%postname%.html/ 即可商品(产品)页固定链接html后缀。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台用户上传并发布,不构成投资建议请自行甄别,如有侵权请联系删除:liaycn@163.com
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of the site, which is a social media platform and only provides information storage services.