分享好友 最新动态首页 最新动态分类 切换频道
ECSHOP程序SEO完全优化
2024-12-25 15:03

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

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

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

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

商品页(增加title):goods.php、admingoods.php、 admin emplatesgoods_info.htm

商品分类页(增加title):category.php、admincategory.php、 admin emplatescategory_info.htm

文章页面(增加title):article.php、adminarticle.php、 admin emplatesarticle_info.htm

文章分类页(增加title):article_cat.php、adminarticlecat.php、 admin emplatesarticlecat_info.htm

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

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

2) 接着修改adminbrand.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 emplatesbrand_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、修改文件includeslib_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: https://www.cnblogs.com/wangblognet/p/ ");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: https://www.cnblogs.com/wangblognet/p/ "); 全部改为 ecs_header("HTTP/1.0 404 Not Found"); $smarty->display('404_error.html');

最新文章
14款备受好评的开源监控工具
对于业务来说,监控是十分必要的,因为它可以确保所需的系统已经启动并运行。监控IT基础架构的不同方面其实十分繁琐,并且如果没有处理得当会导致许多困难。无论公司规模大小,都不能忽视对服务器、网络和基础设施
2024全球十大工程成就公布,每项都在颠覆世界!
《Engineering》杂志评选的“2024全球十大工程成就”于近日公布。这十项工程成就是在过去五年内完成并已经过实践验证的重大科技创新成果,它们对全球产生了深远的影响。这十项工程成就是由全球征集提名、专家推荐和公众投票确定的。评选结
333期[七仙]排列五和值走势分析
上期回顾点评,排五开奖号:67957,大大大大大,偶奇奇奇奇,和值34点。本期综合分析如下:和值分析:近5天和值走势如下:3419192012,和值范围在12—34区间波动,总体走势相对不平稳,波动较大。未来几期关注11-20和值范围内和值。大小分析
AI换脸恐侵害他人个人信息权益
本文来源:刑民交叉法律圈北京互联网法院在廖某与某科技文化有限公司网络侵权责任纠纷案判决指出,未经授权对包含他人肖像的视频进行AI换脸处理,构成对他人个人信息权益的侵害。01基本案情原告廖某是一名古风短视频博主,在全网拥有较多粉
ai辅助写作的作品在哪里看:精选作品一览指南
在数字时代人工智能技术正逐步渗透到各个领域其中一项显著的应用便是辅助写作。通过工具客户可以更高效地完成各种类型的文本创作包含但不限于学术论文、商业报告、创意故事等。这些工具不仅提供了快速生成文本的功能还具备自动校对、风格调
C语言编程代码大全可复制-笑死-这才是硬核打字游戏!
老板发话了,要幽默反转,还要键盘侠视角,这不是要我的老命嘛!我这小脑袋瓜子里装的可是社会主义核心价值观,哪儿来的幽默细胞?得了,硬着头皮上也得给您献丑了。今儿个天气不错,阳光明媚,就是有点儿郁闷。不过,郁闷归郁闷,谁让咱是
Excel教程:数据排序的3种方法,你平时用哪一种?
本文由Excel小学堂原创,欢迎关注,带你一起涨知识!在用Excel 处理表格数据的时候,经常要对数据进行排序处理。我们最常用、最快捷的方法就是使用工具栏的排序按钮。但是,面对各式各样的表格和各种需要,只用这一种方法显然不够。一、快
IOS登陆+注册+抽奖+排行榜
要求:三个页面(登录页面,pickerView页面,排行榜页面),pickerView页面是三个组件,每个组件显示0-9,点击按钮进行随机,获得的值存入排行榜,排行榜显示大于500的最高的10个分数和对应的用户名,切换页面可以用任何方法(0-9循环显示
AIGC绘画设计——Midjourney保姆级教程:Midjourney图生图
Midjourney生成图片的方式除了使用文字描述生成图片外,还有 图生图 的方式,可以让生成的图片更接近参考的图片。 今天我们来聊聊“图生图”的方式。 一、模仿获取propmt 很多时候,我们不知道画什么内容的图片,
fanno网站打不开怎么办,以及常见问题介绍
fanno近年来刷爆跨境电商圈,有着比较多的用户入驻平台中,并且也有着一些相关利好政策,入驻的门槛也是相对比较低,但是有部分用户发现自己的fanno网站现在打不开了,这该怎么办了?fanno网站打不开有可能是网络不好的原因,或者域名、空间
相关文章
推荐文章
发表评论
0评