如何消除SEO URL中重复的网址/页面

用于收藏精华贴子、网友共享的资料等。可以回复,不能发新贴。

版主: Jack

版面规则
本版面不能发新贴,可以回复

如何消除SEO URL中重复的网址/页面

帖子dksczr » 2010-01-12 22:44

安装了Ultimate SEO URLs,进行了URL伪静态
更改商品分类名称后URL发生了改变,
比如 本来商品分类名称为 DVD Movies
网站为:demo.zen-cart.cn
那DVD Movies 的URL为:http://demo.zen-cart.cn/dvd-movies-c-3.html
现在我在后台把商品分类DVD Movies改为China DVD Movies
那China DVD Movies 的URL为http://demo.zen-cart.cn/china-dvd-movies-c-3.html
要命的是:原来的 http://demo.zen-cart.cn/dvd-movies-c-3.html还可以访问,内容和http://demo.zen-cart.cn/china-dvd-movies-c-3.html的相同,这2个URL指向的其实是同一个页面。

这对搜索引擎友好来说问题就比较大了,完全重复的页面。。。。。。
有没有让原来的URL无法访问到?或者有什么别的好的搜索引擎友好方式,将老URL的权重传递到新的URL?
dksczr
高级会员
高级会员
 
帖子: 235
注册: 2009-01-07 9:05

Re: 如何消除SEO URL中重复的网址/页面

帖子shaning » 2010-01-13 14:54

同问 我也不懂
QQ:1 9 2 3 6 1 1 3 WX:miaomang zencart定制深度修改等
头像
shaning
论坛版主
论坛版主
 
帖子: 1372
注册: 2005-10-29 17:22
地址: zencart定制深度修改等
QQ 帐号: 1 9 2 3 6 1 1 3

Re: 如何消除SEO URL中重复的网址/页面

帖子dksczr » 2010-01-14 8:47

谢谢shaning版主关注
继续求助该问题
dksczr
高级会员
高级会员
 
帖子: 235
注册: 2009-01-07 9:05

Re: 如何消除SEO URL中重复的网址/页面

帖子Jack » 2010-01-14 10:54

这个SEO模块是有重复网址的问题,实际上不管分类名称输入什么,都是根据后面的分类编号来打开分类页面的,产品页面也会出现这类重复URL。

解决方法:

首先,商店设置-搜索引擎优化-打开自动跳转吗?,设置为 true
然后打开文件 \includes\classes\seo.url.php

找到:
代码: 全选
$this->attributes['SEO_REDIRECT']['NEED_REDIRECT'] = $this->need_redirect ? 'true' : 'false';


在前面加上:
代码: 全选
    // check product name from URL and redirect if not equal to real product name to avoid duplicates
      if ( preg_match('/-p-[0-9]/i', $this->uri) && preg_match('/main_page=product_info/i', $this->real_uri) ) {
         $productname_from_url = preg_replace('/-p-[0-9].*/i','',$this->uri);
         $productid_from_url= preg_replace('/.*-p-([0-9]+)\.html/i','$1',$this->uri);
         if ( $this->get_product_name($productid_from_url) != $productname_from_url ) {
            $this->need_redirect = true;
         // repeating procedure from function check_redirect() but for real_uri
         if ($this->is_attribute_string($this->real_uri)) {
         $parsed_url = parse_url($this->real_uri);
         $this->uri_parsed = parse_url($parsed_url['scheme']);
         $this->uri_parsed['query'] = preg_replace('/products_id=([0-9]+)/', 'products_id=$1:' . $parsed_url['path'], $this->uri_parsed['query']);
      } else {
         $this->uri_parsed = parse_url($this->real_uri);
      }
         }
      } // end of product_info URL redirect

    // check category name from URL and redirect if not equal to real category name to avoid duplicates
      if ( preg_match('/-c-[0-9]/i', $this->uri) && preg_match('/main_page=index/i', $this->real_uri) ) {
         $categoryname_from_url = preg_replace('/-c-[0-9].*/i','',$this->uri);
         $categoryid_from_url= preg_replace('/.*-c-([0-9]+)\.html/i','$1',$this->uri);
         if ( $this->get_category_name($categoryid_from_url) != $categoryname_from_url ) {
            $this->need_redirect = true;
         // repeating procedure from function check_redirect() but for real_uri
         if ($this->is_attribute_string($this->real_uri)) {
         $parsed_url = parse_url($this->real_uri);
         $this->uri_parsed = parse_url($parsed_url['scheme']);
         $this->uri_parsed['query'] = preg_replace('/cPath=([0-9]+)/', 'cPath=$1:' . $parsed_url['path'], $this->uri_parsed['query']);
      } else {
         $this->uri_parsed = parse_url($this->real_uri);
      }
         }
      } // end of category URL redirect


上面的代码,自动分析请求的URL,如果URL中分类、商品名称与数据库里的不一样,就自动跳转到正确的页面,这样就消除了重复URL。对分类页面和商品页面都有效,效果见演示网站 http://demo.zen-cart.cn
Zen Cart - 让每个人拥有自己生意的梦想成真
加入Zen Cart地图 | 恕不回复站内短信提问 | QQ: 3171061
头像
Jack
论坛版主
论坛版主
 
帖子: 12265
注册: 2004-12-16 10:04

Re: 如何消除SEO URL中重复的网址/页面

帖子BOBOPU » 2010-01-14 13:54

谢谢大大们的关注及解答,这个好!
BOBOPU
高级会员
高级会员
 
帖子: 121
注册: 2009-12-17 22:42

Re: 如何消除SEO URL中重复的网址/页面

帖子dksczr » 2010-01-14 14:15

JACK老大,谢谢你的解答.
很郁闷的是,我按照你给的方法修改了\includes\classes\seo.url.php,但是现在还是不能够自动跳转到正确的页面,和未修改前的结果是一样的.
为什么会出现这样的情况呢?
dksczr
高级会员
高级会员
 
帖子: 235
注册: 2009-01-07 9:05

Re: 如何消除SEO URL中重复的网址/页面

帖子Jack » 2010-01-14 21:42

不好意思,忘记说明一点了:商店设置-搜索引擎优化-打开自动跳转吗?,设置为 true
Zen Cart - 让每个人拥有自己生意的梦想成真
加入Zen Cart地图 | 恕不回复站内短信提问 | QQ: 3171061
头像
Jack
论坛版主
论坛版主
 
帖子: 12265
注册: 2004-12-16 10:04

Re: 如何消除SEO URL中重复的网址/页面

帖子dksczr » 2010-01-14 23:31

谢谢JACK老大,在
商店设置-搜索引擎优化-打开自动跳转吗?,设置为 true后,问题完美解决
dksczr
高级会员
高级会员
 
帖子: 235
注册: 2009-01-07 9:05

Re: 如何消除SEO URL中重复的网址/页面

帖子ganxin » 2010-01-15 0:29

谢谢JACK 获益良多啊
ganxin
中级会员
中级会员
 
帖子: 56
注册: 2009-11-28 20:14

Re: 更改商品分类名称后URL改变,我该怎么办?

帖子soyo2006 » 2011-04-10 16:07

特意来回复感谢下 JACK 这问题困扰已久今日得到解决.
soyo2006
新手上路
新手上路
 
帖子: 12
注册: 2010-01-19 10:12
QQ 帐号: 110596986

下一页

  • 相关话题
    回复总数
    阅读次数
    最新文章

回到 精华共享



在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客