ECSHOP程序SEO徹底優化

1、徹底自定義頁面titile,徹底拋棄Ecshop定義的頁面title格式:[產品名稱]_[分類名]_[網店名稱]-Powered by ECShopphp

一、分析:你們都知道,titile,kewords,description在SEO中的基礎性和重要性,可是ECshop官方給出的titile實現方法會出現不少相似或相同的頁面title,另外還有部分頁面沒法自定義kewords和 description。在此本人給出了徹底自定義的方法,其實方法很簡單的,只要稍微懂得一點點代碼的都會。html

二、修改包括:品牌頁,商品頁,商品分類頁,文章頁,文章分類頁sql

三、修改涉及的頁面: 品牌頁(增長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.htmurl

四、具體修改:如今就拿品牌頁的修改來舉例:htm

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 ,這個文件是前臺控制文件

·9三、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)徹底相同,想怎麼改徹底由你本身決定。

 

2、修改餘下的頁面title格式

一、分析:Ecshop每一個頁面都包含了商店標題,不利於SE,也不夠個性化,前面已將重要的頁面修改爲有利於SE的,剩下的能夠改你本身喜歡的格式,好比:首頁格式:商店標題_商店名稱;商品名稱_分類名稱_商店名

二、修改文件includes\lib_main.php

三、具體修改:

·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;

 

3、404優化,衆所周知,404出錯處理不當對搜索引擎收錄的影響是很是大的,ecshop在這方面作得很是的差,甚至致使了不少的站不被搜索引擎收錄。

一、分析:ECSHOP程序文件category.php及goods.php等頁面多處存在如下這樣的代碼:ecs_header("Location: ./\n");exit;以上代碼的意思是,若是找不到當前ID下的分類或者商品,則跳轉到網站首頁。這樣子跳轉,返回的HTTP代碼將會是302,代表此頁面信息暫時性轉移,這類跳轉代碼很容易引發搜索引擎封殺,所以咱們須要做出404的優化。

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

三、修改方法:將以上7個文件中的 ecs_header("Location: ./\n"); 所有改成 ecs_header("HTTP/1.0 404 Not Found"); $smarty->display('404_error.html');

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

相關文章
相關標籤/搜索