ecshop关键词自动内链插件
功能描述:
1、后台可以直接控制关键词、关键词对应链接、内链次数。
2、添加关键词后,文章详情页和商品详情页会根据关键词自动增加内链。
使用优势:
此插件非常符合搜索引擎习惯,使网站形成一个链接网,蜘蛛会顺着链接爬行,这样能收录很多的页面,是众多seoer的首选插件。
操作开始
1,添加表 ecs_content_key
CREATE TABLE IF NOT EXISTS `ecs_content_key` ( `key_id` smallint(5) NOT NULL AUTO_INCREMENT, `key_name` varchar(255) NOT NULL, `sort_order` tinyint(3) unsigned NOT NULL DEFAULT '50', `replace_num` tinyint(3) unsigned NOT NULL, `key_url` varchar(255) NOT NULL, PRIMARY KEY (`key_id`), KEY `sort_order` (`sort_order`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
2,后台添加 关键词设置
1)后台目录下添加一个 content_key.php
<?php /** * ECSHOP 管理中心 关键词 管理 * ============================================================================ * 版权所有 2005-2010 上海商派网络科技有限公司,并保留所有权利。 * 网站地址: http://www.ecshop.com; * ---------------------------------------------------------------------------- * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和 * 使用;不允许对程序代码以任何形式任何目的的再发布。 * ============================================================================ * $Author: liuhui $ * $Id: auction.php 17063 2010-03-25 06:35:46Z liuhui $ */ define('IN_ECS', true); require(dirname(__FILE__) . '/includes/init.php'); require(ROOT_PATH . 'includes/lib_goods.php'); /*------------------------------------------------------ */ //-- 关键词 列表页 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'list') { /* 检查权限 */ admin_priv('article_manage'); /* 模板赋值 */ $smarty->assign('full_page', 1); $smarty->assign('ur_here', '关键词列表'); $smarty->assign('action_link', array('href' => 'content_key.php?act=add', 'text' => '添加关键词')); $ckey_list = content_key_list(); $smarty->assign('ckey_list', $ckey_list['content']); $smarty->assign('filter', $ckey_list['filter']); $smarty->assign('record_count', $ckey_list['record_count']); $smarty->assign('page_count', $ckey_list['page_count']); assign_query_info(); $smarty->display('content_key_list.htm'); } /*------------------------------------------------------ */ //-- 翻页,排序 /*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'query') { check_authz_json('article_manage'); $ckey_list = content_key_list(); $smarty->assign('ckey_list', $ckey_list['content']); $smarty->assign('filter', $ckey_list['filter']); $smarty->assign('record_count', $ckey_list['record_count']); $smarty->assign('page_count', $ckey_list['page_count']); $sort_flag = sort_flag($ckey_list['filter']); $smarty->assign($sort_flag['tag'], $sort_flag['img']); make_json_result($smarty->fetch('content_key_list.htm'), '', array('filter' => $ckey_list['filter'], 'page_count' => $ckey_list['page_count'])); } /*------------------------------------------------------ */ //-- 关键词 增加与修改 /*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'add') { /* 检查权限 */ admin_priv('article_manage'); /* 模板赋值 */ $smarty->assign('ur_here', "添加关键词"); $smarty->assign('action_link', array('href' => 'content_key.php?act=list', 'text' => '关键词列表')); $smarty->assign('form_act', 'insert'); /* 显示页面 */ assign_query_info(); $smarty->display('content_key_info.htm'); } /*------------------------------------------------------ */ //-- 关键词添加时的处理 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'insert') { /* 权限检查 */ admin_priv('article_manage'); /* 初始化变量 */ $conkey['key_id'] = !empty($_POST['key_id']) ? intval($_POST['key_id']) : 0; $conkey['sort_order'] = !empty($_POST['sort_order']) ? intval($_POST['sort_order']) : 0; $conkey['key_name'] = !empty($_POST['key_name']) ? trim($_POST['key_name']) : ''; $conkey['key_url'] = !empty($_POST['key_url']) ? sanitize_url($_POST['key_url']) : ''; $conkey['replace_num'] = !empty($_POST['replace_num']) ? intval($_POST['replace_num']) : 0; if (content_key_exists($conkey['key_name'])) { /* 不能有重复的关键词 */ $link[] = array('text' => $_LANG['go_back'], 'href' => 'javascript:history.back(-1)'); sys_msg($_LANG['catname_exist'], 0, $link); } /* 入库的操作 */ if ($db->autoExecute($ecs->table('content_key'), $conkey) !== false) { clear_cache_files(); // 清除缓存 /*添加链接*/ $link[0]['text'] = '继续添加'; $link[0]['href'] = 'content_key.php?act=add'; $link[1]['text'] = '关键词列表'; $link[1]['href'] = 'content_key.php?act=list'; sys_msg('关键词添加成功', 0, $link); } } /*------------------------------------------------------ */ //-- 编辑关键词信息 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'edit') { $key_id = intval($_REQUEST['key_id']); $conkey_info = get_content_key($key_id); // 查询分类信息数据 $smarty->assign('ur_here', "关键词修改"); $smarty->assign('action_link', array('text' => "关键词列表", 'href' => 'content_key.php?act=list')); $smarty->assign('conkey_info', $conkey_info); $smarty->assign('form_act', 'update'); /* 显示页面 */ assign_query_info(); $smarty->display('content_key_info.htm'); } /*------------------------------------------------------ */ //-- 更新关键词信息 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'update') { /* 初始化变量 */ $key_id = !empty($_POST['key_id']) ? intval($_POST['key_id']) : 0; $old_key_name = $_POST['old_key_name']; $conkey['sort_order'] = !empty($_POST['sort_order']) ? intval($_POST['sort_order']) : 0; $conkey['key_name'] = !empty($_POST['key_name']) ? trim($_POST['key_name']) : ''; $conkey['key_url'] = !empty($_POST['key_url']) ? sanitize_url($_POST['key_url']) : ''; $conkey['replace_num'] = !empty($_POST['replace_num']) ? intval($_POST['replace_num']) : 0; /* 判断关键词是否重复 */ if ($conkey['key_name'] != $old_key_name) { if (content_key_exists($conkey['key_name'])) { $link[] = array('text' => "返回", 'href' => 'javascript:history.back(-1)'); sys_msg('该关键词已经存在', 0, $link); } } if ($db->autoExecute($ecs->table('content_key'), $conkey, 'UPDATE', "key_id='$key_id'")) { /* 更新关键词信息成功 */ clear_cache_files(); // 清除缓存 /* 提示信息 */ $link[] = array('text' => "返回列表页", 'href' => 'content_key.php?act=list'); sys_msg("关键词修改成功", 0, $link); } } /*------------------------------------------------------ */ //-- 删除关键词 /*------------------------------------------------------ */ if ($_REQUEST['act'] == 'remove') { /* 初始化关键词ID并取得关键词名称 */ $key_id = intval($_GET['key_id']); /* 删除分类 */ $sql = 'DELETE FROM ' .$ecs->table('content_key'). " WHERE key_id = '$key_id' "; $db->query($sql); //清除缓存 $url = 'content_key.php?act=list&' . str_replace('act=remove', '', $_SERVER['QUERY_STRING']); ecs_header("Location: $urln"); exit; } /*------------------------------------------------------ */ //-- PRIVATE FUNCTIONS /*------------------------------------------------------ */ /** * 获取关键词列表 * * @access public * @return array */ function content_key_list() { $result = get_filter(); if ($result === false) { /* 分页大小 */ $filter = array(); /* 记录总数以及页数 */ $sql = "SELECT COUNT(*) FROM ".$GLOBALS['ecs']->table('content_key'); $filter['record_count'] = $GLOBALS['db']->getOne($sql); $filter = page_and_size($filter); /* 查询记录 */ $sql = "SELECT * FROM ".$GLOBALS['ecs']->table('content_key')." ORDER BY sort_order ASC"; set_filter($filter, $sql); } else { $sql = $result['sql']; $filter = $result['filter']; } $res = $GLOBALS['db']->selectLimit($sql, $filter['page_size'], $filter['start']); $arr = array(); while ($rows = $GLOBALS['db']->fetchRow($res)) { $arr[] = $rows; } return array('content' => $arr, 'filter' => $filter, 'page_count' => $filter['page_count'], 'record_count' => $filter['record_count']); } /** * 检查关键词是否已经存在 * * @param string $key_name 关键词名称 * * @return boolean */ function content_key_exists($key_name) { $sql = "SELECT COUNT(*) FROM " .$GLOBALS['ecs']->table('content_key'). " WHERE key_name = '$key_name' "; return ($GLOBALS['db']->getOne($sql) > 0) ? true : false; } /** * 获得某个关键词的所有信息 * * @param integer $key_id 指定的关键词ID * @return mix */ function get_content_key($key_id) { $sql = "SELECT * FROM " .$GLOBALS['ecs']->table('content_key'). " WHERE key_id='$key_id' LIMIT 1"; return $GLOBALS['db']->getRow($sql); } ?>
2)/admin/includes/inc_menu.php 里面添加链接
$modules['11_system']['01_content_key'] = 'content_key.php?act=list';
3)/admin/includes/inc_priv.php 里面添加权限
$purview['01_content_key'] = 'content_key';
4)/languages/zh_cn/admin/common.php 里面添加语言
$_LANG['01_content_key'] = '关键词设置';
5)添加以下2个后台 关键词 的模板文件
/admin/templates/content_key_info.htm
/admin/templates/content_key_list.htm
3,修改PHP处理
1)/goods.php 找到 164行
if ($goods['brand_id'] > 0)
在它的上面加入
/* 关键字替换 By neo */ $sql="select * from ". $GLOBALS['ecs']->table('content_key') ; $res_k = $GLOBALS['db']->query($sql); while ($row_k=$GLOBALS['db']->fetchRow($res_k)) { if($row_k['replace_num']) { $goods['goods_desc']=preg_replace('/(?!<[^>]*)'.$row_k['key_name'].'(?![^<]*>)/i', '<a href="' . $row_k['key_url'] . '" target="_blank" >'.$row_k['key_name']."</a>", $goods['goods_desc'], $row_k['replace_num']); } else { $goods['goods_desc']=preg_replace('/(?!<[^>]*)'.$row_k['key_name'].'(?![^<]*>)/i', '<a href="' . $row_k['key_url'] . '" target="_blank" >'.$row_k['key_name']."</a>", $goods['goods_desc']); } $goods['goods_desc']=preg_replace('/(?!<[^>]*)'.$row_k['key_name'].'(?![^<]*>)/i', '<strong>' . $row_k['key_name'] . '</strong>', $goods['goods_desc'],1 ); }
2)/article.php 里面找到
/* 作者信息如果为空,则用网站名称替换 */ if (empty($row['author']) || $row['author'] == '_SHOPHELP') { $row['author'] = $GLOBALS['_CFG']['shop_name']; }
在它的下面加入
/* 关键字替换 By neo */ $sql="select * from ". $GLOBALS['ecs']->table('content_key') ; $res_k=$GLOBALS['db']->query($sql); while ($row_k=$GLOBALS['db']->fetchRow($res_k)) { if($row_k['replace_num']) { $row['content']=preg_replace('/(?!<[^>]*)'.$row_k['key_name'].'(?![^<]*>)/i', '<a href="' . $row_k['key_url'] . '" target="_blank" >'.$row_k['key_name']."</a>", $row['content'], $row_k['replace_num']); } else { $row['content']=preg_replace('/(?!<[^>]*)'.$row_k['key_name'].'(?![^<]*>)/i', '<a href="' . $row_k['key_url'] . '" target="_blank" >'.$row_k['key_name']."</a>", $row['content']); } $row['content']=preg_replace('/(?!<[^>]*)'.$row_k['key_name'].'(?![^<]*>)/i', '<strong>' . $row_k['key_name'] . '</strong>', $row['content'],1 ); }
done!
插件打包下载:
[fo_hide]ECSHOP关键词自动内链插件.zip 密码: qrrr[/fo_hide]
阅读剩余
版权声明:
作者:z1988
链接:https://www.z1988.com/348.html
文章版权归作者所有,未经允许请勿转载。
作者:z1988
链接:https://www.z1988.com/348.html
文章版权归作者所有,未经允许请勿转载。
THE END