ECSHOP程序SEO完全优化

一、完全自定义页面titile,完全抛弃Ecshop定义的页面title格式:[产品名称]_[分类名]_[网店名称]-Powered by ECShop

1、分析:大家都知道,titile,kewords,description在SEO中的基础性和重要性,但是ECshop官方给出的titile实现方法会出现很多类似或相同的页面title,另外还有部分页面无法自定义kewords和 description。在此本人给出了完全自定义的方法,其实方法很简单的,只要稍微懂得一点点代码的都会。

2、修改包括:品牌页,商品页,商品分类页,文章页,文章分类页

3、修改涉及的页面: 品牌页(增加title,keywords和description):brand.php、admin\brand.php、 admin\templates\brand_info.htm

商品页(增加title):goods.php、admin\goods.php、 admin\templates\goods_info.htm

商品分类页(增加title):category.php、admin\category.php、 admin\templates\category_info.htm

文章页面(增加title):article.php、admin\article.php、 admin\templates\article_info.htm

文章分类页(增加title):article_cat.php、admin\articlecat.php、 admin\templates\articlecat_info.htm

4、具体修改:现在就拿品牌页的修改来举例:

1)  首先是修改数据库,未安装的在数据库结构文件install\data\structure.sql中改,已安装的手动在安装后的数据库中改,对brand表增加brand_title、brand_keywords和brand_description等字段

2) 接着修改admin\brand.php,这个文件是管理员后台文件

·88行:

$sql = "INSERT INTO ".$ecs->table(‘brand‘)."(brand_name, site_url, brand_desc, brand_logo, is_show, sort_order) "."VALUES (‘$_POST[brand_name]‘, ‘$site_url‘, ‘$_POST[brand_desc]‘, ‘$img_name‘, ‘$is_show‘, ‘$_POST[sort_order]‘)";
    $db->query($sql);

改为:

$sql = "INSERT INTO ".$ecs->table(‘brand‘)."(brand_name, site_url, brand_desc, brand_title, brand_keywords, brand_description,brand_logo, is_show, sort_order) "."VALUES (‘$_POST[brand_name]‘, ‘$site_url‘, ‘$_POST[brand_desc]‘, ‘$_POST[brand_title]‘, ‘$_POST[brand_keywords]‘, ‘$_POST[brand_description]‘, ‘$img_name‘, ‘$is_show‘, ‘$_POST[sort_order]‘)";
$db->query($sql);

·113行

admin_priv(‘brand_manage‘);
$sql = "SELECT brand_id, brand_name, site_url, brand_logo, brand_desc, brand_logo, is_show, sort_order "."FROM " .$ecs->table(‘brand‘). " WHERE brand_id=‘$_REQUEST[id]‘";
$brand = $db->GetRow($sql);

改为:

admin_priv(‘brand_manage‘);
$sql = "SELECT brand_id, brand_name, site_url, brand_logo, brand_desc,brand_title, brand_keywords, brand_description,brand_logo, is_show, sort_order "."FROM " .$ecs->table(‘brand‘). " WHERE brand_id=‘$_REQUEST[id]‘";
$brand = $db->GetRow($sql);

·151行

$img_name = basename($image->upload_image($_FILES[‘brand_logo‘],‘brandlogo‘));
$param = "brand_name = ‘$_POST[brand_name]‘,  site_url=‘$site_url‘, brand_desc=‘$_POST[brand_desc]‘, is_show=‘$is_show‘, sort_order=‘$_POST[sort_order]‘ ";

改为:

$img_name = basename($image->upload_image($_FILES[‘brand_logo‘],‘brandlogo‘));
$param = "brand_name = ‘$_POST[brand_name]‘,  site_url=‘$site_url‘, brand_desc=‘$_POST[brand_desc]‘,brand_title=‘$_POST[brand_title]‘, brand_keywords=‘$_POST[brand_keywords]‘, brand_description=‘$_POST[brand_description]‘,is_show=‘$is_show‘, sort_order=‘$_POST[sort_order]‘ ";

3)紧接着修改admin\templates\brand_info.htm

·在第31行插入:

<tr>
<td class="label">页面标题</td>
<td><input type="text" name="brand_title" maxlength="120" value="{$brand.brand_title|escape}" /></td>
</tr>
<tr>
<td class="label">页面关键词</td>
<td><input type="text" name="brand_keywords" maxlength="120" value="{$brand.brand_keywords|escape}" /></td>
</tr>
<tr>
<td class="label">页面描述</td>
<td><textarea  name="brand_description" cols="60" rows="4"  >{$brand.brand_description}</textarea></td>
</tr>

4) 最后修改brand.php ,这个文件是前台控制文件

·93、94行

$smarty->assign(‘keywords‘,    htmlspecialchars($brand_info[‘brand_desc‘]));
$smarty->assign(‘description‘, htmlspecialchars($brand_info[‘brand_desc‘]));

改为:

$smarty->assign(‘page_title‘,    htmlspecialchars($brand_info[‘brand_title‘]));
$smarty->assign(‘keywords‘,    htmlspecialchars($brand_info[‘brand_keywords‘]));
$smarty->assign(‘description‘, htmlspecialchars($brand_info[‘brand_description‘]));

就这样,品牌页的title,keywords和description全部实现了自定义,商品页、商品分类页、文章页、文章分类页都只需要增加title,修改方法与品牌页(brand)完全相同,想怎么改完全由你自己决定。

二、修改余下的页面title格式

1、分析:Ecshop每个页面都包含了商店标题,不利于SE,也不够个性化,前面已将重要的页面修改成有利于SE的,剩下的可以改你自己喜欢的格式,比如:首页格式:商店标题_商店名称;商品名称_分类名称_商店名

2、修改文件includes\lib_main.php

3、具体修改:

·142行

$page_title = $GLOBALS[‘_CFG‘][‘shop_title‘] . ‘ - ‘ . ‘Powered by ECShop‘;

改为:

$page_title = $GLOBALS[‘_CFG‘][‘shop_name‘];

·在241行插入:

if ($filename == ‘index‘)
         $page_title=$GLOBALS[‘_CFG‘][‘shop_title‘] . ‘_‘  . $page_title;

三、404优化,众所周知,404出错处理不当对搜索引擎收录的影响是非常大的,ecshop在这方面做得非常的差,甚至导致了很多的站不被搜索引擎收录。

1、分析:ECSHOP程序文件category.php及goods.php等页面多处存在以下这样的代码:ecs_header("Location: ./\n");exit;以上代码的意思是,如果找不到当前ID下的分类或者商品,则跳转到网站首页。这样子跳转,返回的HTTP代码将会是302,表明此页面信息暂时性转移,这类跳转代码很容易引起搜索引擎封杀,因此我们需要作出404的优化。

2、修改涉及的文件:article.php,article_cat.php,brand.php,category.php,comment.php,goods.php,topic.php

3、修改方法:将以上7个文件中的 ecs_header("Location: ./\n"); 全部改为 ecs_header("HTTP/1.0 404 Not Found"); $smarty->display(‘404_error.html‘);

同时在模板文件中加入404_error.html文件

时间: 2025-01-04 13:34:54

ECSHOP程序SEO完全优化的相关文章

seo网站优化要点解析

如何让自己的网站能进入搜索引擎第一页,下面分享下,网站优化的要点: 第一:网站的名字很重要,实事求是的写下自己网站的名字,当然,网站的名字要考虑好,最好包含网站的主要内容. 第二:页面头不优化,页面头部指的是代码中部分,具体一点就是中的"Description(描述)"和"Keywords(关键字)"两部分,这部分也是SEO们比较花心思的地方,理论一大堆! 总结起来就是:1."描述"部分应该用近乎描述的语言写下一段介绍你网站的文字,在这其中,你应

seo课程之SEO的优化公式

在这个世界上有两种逻辑,一种叫逻辑,一种叫SEO的逻辑,这就需要我们去弄懂它,学会他的优化公式.(本文来自于e良师益友网) 逻辑是思维的规律,其实在学生时代任课老师总是会为我们引导此思维模式.逻辑思维缜密的人往往总是有一番成就的,结合在网站优化中的同样可以带给网站不一样的优化成果. 逻辑优化时代已到,结合了高等微积分公式的优化方式是成功引领SEO走向最新时代的先驱者.整合前人之谈,今天笔者分享的经验之谈就是关于逻辑优化下的网站推广. 网站优化中一直存在着一个比较客观的优化公式:SEO=∫Cloc

网站用户体验是王道 网站seo如何优化?

网站用户体验建设是网站seo优化的王道,就象我们每个人的性格一样,性格影响一生,网站用户体验好,网站访客都喜欢这个网站,就算搜索引擎把你 的网站全部k光,对你来说也不会有很大的影响.网站的用户体验好坏反映在2个指标上,第一是网站的跳出率,第二网站的访问时长.那我们应该怎么样做才能降 低网站的跳出率,增加网站的访问时长呢?今天曾维健将带领大家从策略的角度来分析这2个问题! 跳出率优化 首先我们要温习一下什么是网站跳出率.就是网站访客到达网站后,马上就关掉网站跟网站在总访问量的比例.那网站访客到底会

c++程序的效率优化初涉

能写出稳定高效的程序一直是程序员所追求的,今天就和大家一起探讨一下关于C++程序优化的几点看法. 由于C/C++语言的复杂性,致使C++编译器隐藏了层层幔布,我们不经意的一条语句都可能是编译器幕后几经周折的结果,在要求程序高效运行的环境下,每一条语句都会让我们慎之又慎,而程序优化又是个十分广泛的话题,包括程序架构设计的优化,语言本身的优化,编程技巧和策略等等,如此大的范围非我能力所及,这里谈的优化就是在实际开发中遇到的问题. 一.  举手之劳的小差别 既然说优化就一定要仔细,不放过任何微小的细节

注册域名与SEO搜索优化

注册域名应该考虑哪些对SEO和网站运营影响 域名是互联网公司和个人网站的无形资产之一,网站的内容.流量都有域名有关系. 一个好的域名对SEO搜索引擎优化和网站运营都有一定的影响. 1.域名的后缀 一般情况下都注册.com 因为这个基本被认为顶级的域名,应该也是最有价值的域名. 但对于一些区域性和特定性.cn..net也是不错的选择. 可以参考:<域名后缀-SEO搜索引擎优化 > 2.域名中的关键词 注册的域名其实首先要考虑到的就是简单,容易记.有时我们也在考虑域名中的关键 词,但作为中文来说拼

java程序的内存优化

面试常被问java的垃圾回收机制,感觉平时写代码很少用到,但是注重程序的内存优化确实很重要.<EffectiveJava>这本书有几条讲的挺好,拿过来总结下吧. 首先简单的概括下java的内存回收机制. java内存主要是堆内存和栈内存,栈中的内存会在程序运行到所在作用域之外后进行回收.堆中的内存会在没有引用指向的时候,JVM虚拟机在某个时间段根据特定的算法进行回收. 平时写程序注意如下几点,对程序进行内存优化 1.避免创建不必要的对象 a.使用基本类型替代装箱类型(享元模式) b.Strin

解析DeDecms系统的SEO内部优化技巧

织梦CMS对于站长来说应该不会陌生,现在基本有数十万的站长采用dedecms来构建自己的网站,我想选择dedecms无疑是正确的,首选比较简单易 用,其次本身的优化功能已经做得相当不错了,比如URL静态化的设置,推荐文章,热点文章,最新文章这些模块的设置,以及上下篇的设置等等.可见,未来的 CMS系统必定会朝着利于SEO的方向去发展,不能做好基本SEO的CMS系统必将在狂热的竞争中被淘汰.笔者的小站也是采用dedecms构建的,选择 这款系统,主要是比较适合像我这种没有任何编码基础的人使用,傻瓜

从实际项目中的一个改进细节谈程序的易用性优化

说明:一下内容是笔者一个项目上真实的例子,这个系统是一个收费系统,需要打印发票 ,打印发票的时候需要将发票代码和发票号码打印在实际的发票上(税务上要求的).留存于此,希望对大家有启发. 从发票代码的改进谈程序的易用性优化 最近老有收费员领用发票的时候,输错发票代码,导致成百的发票打印作废.分析原因,最直接的原因有2: 1,收费员不仔细,没有仔细核对发票代码,领用录入时,和发票打印时. 2,可用的发票代码太相似:一个是 141001320043 ,一个是 141001420043,只有1位只差.收

SEO性能优化测试-TDK

最近在做Sephora SEO性能优化测试,其中有关于网站TDK和Omniture的功能测试,之前没有接触过这部分内容,所以最近学习了解了下. 1. 什么是网站TDK? TDK是个缩写,seo页面中的页面描述与关键词设置. 其中"T"代表页头中的title元素,这里可能还要利用到分词技术,当标题(Title)写好后,我们就尽可能不要再去修改了,尽量简洁,没意义的词尽量不要加入到标题中,避免干扰到搜索引擎识别网站主题(标题在三十个以内). 其中"D"代表页头中的des