完美解决zencart SEO模块存在重复网址的问题
2013-06-18 16:20
513 查看
encart老鸟们都知道, 当你修改zencart 分类名称或者商品名称后,修改后的URL和修改前的不同的,而且修改前的URL还是可以打开. 这样就会出现完全相同的两个页面, 这样的页面对搜索引擎来说是很不友好的. 这个就是seo模板存在的网址重复问题,下面是解决方案:
第一步: 商店设置-搜索引擎优化-打开自动跳转吗?,设置为 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
第一步: 商店设置-搜索引擎优化-打开自动跳转吗?,设置为 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
相关文章推荐
- zencart安装SEO URL插件后出现重复网址或页面解决办法
- 位图法--解决海量数据问题(查找是否存在,不重复数据)
- 完美解决,浏览器下拉显示网址问题 | 完美解决,使用原生 scroll 写下拉刷新
- 完美解决多应用服务器负载均衡环境下spring quartz同一定时任务重复执行问题
- IE 下Enter提交表单存在重复提交问题的解决方法
- 完美解决SQLserver 2000“指定的服务并未以已安装的服务存在”的问题
- ZENCART消除SEO URL中重复的网址/页面
- 完美解决64位操作系统配置 php无法加载mysql模块问题
- 完美解决 NOKIA 820(WP8系统) 歌曲重复问题。只需一步
- Angular设置title信息解决SEO方面存在问题
- 解决Apache和IIS同时存在时,去除网址后面的端口号问题
- 网页表格表头固定并可以自由拉伸列头的问题解决 (完美方案_html_table_seo)
- 完美解决thinkphp唯一索引重复时出错的问题
- 完美解决Viewpager+Fragment 重复创建的问题
- 给zencart1.39h美化版安装SFC 三态速递接口模块要解决的问题
- 如何彻底解决网站存在的内容重复度问题 !!!!
- 完美解决64位操作系统配置 php无法加载mysql模块问题
- ECSHOP解决大量重复页面问题,提高SEO效果
- 重复insmod 一个ko模块导致的异常问题解决方法
- phantomJS+nodeJS+nginx完美解决前后端分离SEO问题