WooCommerce将空的分页分类页面重定向到404页面

您所在位置:

WooCommerce 重定向空分页类别页面 (404)

在管理 WooCommerce 商店时,通常会重新排列产品或从某些类别中删除产品。然而,这可能会导致一个意想不到的问题:即使特定页面不再包含任何产品,分页的产品类别 URL(例如,/product-category/shirts/page/3/)仍可访问。

与其显示 404 错误,不如将用户重定向回主分类页面,以避免混乱并改善用户体验。

这对搜索引擎优化尤为重要,因为你不希望搜索引擎索引到不相关或已损坏的页面。解决方法是检测分页的产品类别存档是否为空或无效,然后重定向到基本类别 URL。

下面是一个简单的代码段,您可以添加到主题的 functions.php 或自定义插件中。它只在必要时处理重定向,确保用户和机器人访问有意义的内容。

WooCommerce: 重定向空分页类别页面 (404) (1)
WooCommerce: 重定向空分页类别页面 (404) (1)

PHP 码段: 将空的、分页的分类页面重定向到 WooCommerce 产品分类主页面

此代码段与 template_redirect 操作挂钩,以捕捉类似于分页产品类别 URL 的 404 页面。

它首先会从永久链接设置中检索 WooCommerce 产品类别的基本标题,使其与自定义或翻译的标题兼容。

然后,它会检查当前请求是否与分页类别页面的模式相匹配。如果是,它会从 URL 中提取类别标题,确认类别存在,并安全地将用户重定向到主类别页面。

这可防止访问者和搜索引擎在产品从该类别移除后遇到空的或断开的分页 URL。

 
add_action( 'template_redirect', 'bbloomer_redirect_empty_product_cat_pagination' );
 
function bbloomer_redirect_empty_product_cat_pagination() {
   if ( is_404() ) {
      $requested_url = $_SERVER['REQUEST_URI'];
      $permalinks = wc_get_permalink_structure();     
      if ( preg_match( '#^/' . $permalinks['category_rewrite_slug'] . '/[^/]+/page/\d+/?#', $requested_url ) ) {
         preg_match( '#/' . $permalinks['category_rewrite_slug'] . '/([^/]+)/#', $requested_url, $matches );
         if ( isset( $matches[1] ) ) {
            $term = get_term_by( 'slug', $matches[1], 'product_cat' );
            if ( $term && ! is_wp_error( $term ) ) {
               wp_safe_redirect( get_term_link( $term ) );
               exit;
            }
         }
      }
   }
}

 

在领英上分享这篇文章
本篇文章内容
    Add a header to begin generating the table of contents

    联系我们

    郑州白帽子网络科技有限公司是一家专业做外贸网站建设,谷歌SEO优化、谷歌SEM推广公司。
    郑州白帽子网络科技微信图
    添加请说明需求
    郑州白帽子

    郑州白帽子

    郑州白帽子是一家提供外贸网站定制和白帽谷歌SEO优化的公司,我们会不定期的分享关于外贸的一些知识,以及如何进行外贸建站和谷歌SEO优化推广。我们的核心价值观是给客户提供价值,通过我们专业的服务让客户获得更多的询盘!了解更多关于外贸、外贸建站谷歌SEO优化推广的细节,欢迎联系我们!

    发表评论

    您的邮箱地址不会被公开。 必填项已用 * 标注

    更多文章
    cloudflare 导致邮箱收不到邮件
    外贸建站

    域名修改为Cloudflare DNS后邮箱客户端收不到邮件

    Cloudflare CDN可以提高网站加载速度和保障网站安全,因为cloudflare可以托管你的DNS,只需要在域名注册平台将DNS修改为cloudflare的DNS即可。CF会自动扫描你的域名DNS并将DNS复制到它自己的DNS中。但是在实际的操作中,有客户反馈说是将DNS修改cloudflare DNS后,foxmail 收不到邮件了, 经常出现连接不上服务器。这篇文章就是解决这个问题的。

    可视化面板有哪些
    外贸建站

    为什么不建议使用不带cpanel面板的服务器

    服务器是独立站的一个基础,因为涉及到网站安全,谷歌SEO优化等,服务器这方面是不能省的。你可能听别人说过,一个网站的服务器费用一年也就只有几百块钱,为什么你推荐的服务器需要这么贵?这篇文章我们就来聊下这个事。

    Rank Math SEO插件无法保存关键词
    谷歌SEO排名优化

    Rank Math SEO插件无法保存关键词

    如果你的独立站使用的Rank Math的SEO插件,发现设置了核心关键词,但是在保存或者Publish以后发现关键词消失了,并没有保存。如果出现这个问题,可以按这个文章介绍的流程解决。

    滚动至顶部

    登陆

    注册