首页
关于本站
网站模板
代码教程
Emlog教程
米拓教程
SEO优化教程
Ecshop教程
zblog教程
Excel技巧
电脑软件教程
互联网
免费资源
网络新闻
留言咨询
在线问答
申请友链
网址导航
联系舍力
搜索
舍力
登录
搜索
舍力
静以修身。
累计撰写
1140
篇文章
累计收到
3608
条评论
首页
栏目
首页
关于本站
网站模板
代码教程
Emlog教程
米拓教程
SEO优化教程
Ecshop教程
zblog教程
Excel技巧
电脑软件教程
互联网
免费资源
网络新闻
留言咨询
在线问答
申请友链
网址导航
联系舍力
最新文章
2015-7-9
网络安全法草案公布:推动安全认证和安全检测结果互认
腾讯科技讯(乐天)7月8日消息,全国人大今日公布网络安全法草案,提出因处置重大突发社会安全事件的需要,经国务院批准,可以在部分地区限制网络。 意见指出,网络关键设备和网络安全专用产品应当按照相关国家标准、行业标准的强制性要求,由具备资格的机构安全认证合格或者安全检测符合要求后,方可销售。 国家网信部门会同国务院有关部门制定、公布网络关键设备和网络安全专用产品目录,并推动安全认证和安全检测结果互认,避免重复认证、检测。 意见还指出,网络运营者为用户办理网络接入、域名注册服务,办理固定电话、移动电话等入网手续,或者为用户提供信息发布服务,应当在与用户签订协议或者确认提供服务时,要求用户提供真实身份信息。用户不提供真实身份信息的,网络运营者不得为其提供相关服务。
2015年7月9日
9192 阅读
0 评论
网络新闻
2015-7-8
坎坷路途,给身边一份温暖;风雨人生,给自己一个微笑
日出时,努力使每一天都开心而有意义,不为别人,为自己。 累了,让心吹吹风;伤了,让梦醒一醒;痛了,让脚步停一停。 世上没有不平的事,只有不平的心。不去怨,不去恨,淡然一切,往事如烟。 有多少残酷,你就该有多少坚强;有多少努力,你就会有多少光芒。 站在时光的彼岸,回看此岸的光阴,茫茫人海,每一场遇见,都是一次美丽。 人生到头来,你活了多少岁不算什么,重要的是,你是如何度过这些岁月的。 接受不完美的自己。在孤独的时候,给自己安慰;在寂寞的时候,给自己温暖。 坎坷路途,给身边一份温暖;风雨人生,给自己一个微笑。 <center> <img border="0" alt="微笑" src="http://www.shuyong.net/content/uploadfile/201507/14791436316266.jpg" /></cneter> </center> 没有什么大不了的事情,在时间面前,都是小事。 人生只是条单行线,别让你的命运处处皆是遗憾。 时光静好,不是雨无心,只是泪多情,因你欢喜,也因你伤悲。 对身边的人好点,因为重要的人越来越少,剩下的越来越重要。 做一个平静的人,做一个善良的人,做一个微笑挂在嘴边,快乐放在心上的人。
2015年7月8日
10462 阅读
1 评论
美文欣赏
2015-7-6
EMLOG调用指定多个分类文章列表代码
舍力对于SQL命令不是很熟悉,昨日想用EMLOG做一个文章类表调用,需要用到SQL命令代码,调用指定多个分类EMLOG文章列表,研究了好些时间没整明白,求人也不是个事,只好自己继续边看教程边测试,功夫不负有心人,最终给我整明白了,用这个SQL命令可以正确调用指定多个分类的EMLOG文章列表,舍力分享给有需要的站长们,把以下代码复制到模板的module.php文件中,设置好需要调用的分类ID号,在前台模板里写入调用代码就可以实现你想要的效果了。 <?php //首页图文展示 function sl_sort($num){ $ysort = '1,2,3';//分类ID $db = MySql::getInstance(); $sql = "SELECT gid,title,date,content,sortid,views,comnum FROM ".DB_PREFIX."blog WHERE type='blog' and hide='n' and sortid IN ($ysort) ORDER BY `date` DESC LIMIT 0,$num"; $go = $db->query($sql);while($row = $db->fetch_array($go)){ $img_url = TEMPLATE_URL.'images/tw/'.rand(1,10).'.jpg'; if(img_zw($row)){$img_url = img_zw($row); }elseif(img_fj($row)){$img_url = img_fj($row); }else{$img_url;}?> <ul><li><a href="<?php echo Url::log($row);?>"><img src="<?php echo $img_url;?>" /><p><?php echo $row;?></p></a></li></ul> <?php }}function img_zw($content){preg_match_all("|<img+src=\"(+)\"?*>|is", $content, $img);$imgsrc = !empty($img) ? $img : '';if($imgsrc):return $imgsrc;endif;} //Custom: 获取附件第一张图片 function img_fj($blogid){$db = MySql::getInstance();$sql = "SELECT * FROM ".DB_PREFIX."attachment WHERE blogid=".$blogid." AND (`filepath` LIKE '%jpg' OR `filepath` LIKE '%gif' OR `filepath` LIKE '%png') ORDER BY `aid` ASC LIMIT 0,1";$imgs = $db->query($sql);$img_path = "";while($row = $db->fetch_array($imgs)){$img_path .= BLOG_URL.substr($row,3,strlen($row));} return $img_path;}?> 说明:IN后面括号中的就是要调用的分类ID号,请自行更改你需要调用的分类ID号,中间用英文状态下的逗号隔开,前台模板调用在需要输出美容的地方复制<?php sl_sort(5);?>代码,代码中的5表示需要输出的文章列表条数。图片顺序为先正文-再附件-在随机
2015年7月6日
9761 阅读
3 评论
Emlog教程
2015-7-6
在Emlog博客程序中获取当前分类的所有子分类
在Emlog博客程序中获取当前分类的所有子分类,具体方法如下 方法一:在模板文件module.php中加入如下代码 <?php //widget:分类 function sy_sort(){global $CACHE;$sort_cache = $CACHE->readCache('sort');?> <div class="side one"><ul> <?php foreach($sort_cache as $value){if($value == 1){?> <li><a href="<?php echo Url::sort($value); ?>"><?php echo $value;?>(<?php echo $value;?>)</a></li> <?php $children = $value;foreach ($children as $key){$value = $sort_cache;?> <li><a href="<?php echo Url::sort($value); ?>"><?php echo $value; ?>(<?php echo $value ?>)</a></li> <?php }}}?></ul></div><?php }?> 调用方法在想放置的地方加入如下代码 <?php sy_sort();?> 其中的1代表分类id -=-方法二: <?php //获取当前分类的所有子分类 function sy_sort($sid){ $t = MySql::getInstance(); $sql = "SELECT * FROM ".DB_PREFIX."sort WHERE sid = ".$sid." or pid = '".$sid."' ORDER BY `taxis` DESC"; $list = $t->query($sql); $i++; while($row = $t->fetch_array($list)){ if($i==1){echo '<li id="mfl"><a href="'.Url::sort($row).'" title="'.$row.'">'.$row.'</a></li>'; }else{echo '<li id="zfl"><a href="'.Url::sort($row).'" title="'.$row.'">'.$row.'</a></li>';} $i++;}}?> 调用方法在想放置的地方加入如下代码 <?php sy_sort(5);?> 其中的5代表分类id -=-自用代码 <?php global $CACHE; $sort_cache = $CACHE->readCache('sort'); foreach($sort_cache as $value){if($value == $sortid){ if(!empty($value)){?> <div class="home-tags"> <?php $children = $value; foreach($children as $key){ $value = $sort_cache; ?> <ul> <li> <a href="<?php echo Url::sort($value); ?>"><?php echo $value; ?>(<?php echo $value ?>)</a> </li> </ul> <?php }?> </div> <?php }}}?>
2015年7月6日
23371 阅读
2 评论
Emlog教程
2015-7-4
如何让EMLOG最新评论显示文章标题
EMLOG侧边栏最新评论只显示评论作者以及评论内容,有些客户需要显示当前评论所属的文章标题,那就需要自定义代码来显示了,本代码由蓝叶首发,舍力仅作保存分享之用,实现了EMLOG最新评论显示文章标题的需求,实现原理是通过评论的gid来查询文章列表数据库对应的文章标题并显示,具体代码如下,按照默认模版的最新评论代码来修改,请对照代码修改。 打开当前模版文件夹下的module.php文件,在任意位置加入以下代码:代码来源于>>蓝叶博客<< <?php function com_tt($gid){ $db = MySql::getInstance(); $sql = "SELECT * FROM ".DB_PREFIX."blog WHERE hide='n' and gid in ($gid) ORDER BY `date` DESC LIMIT 0,1"; $list = $db->query($sql);while($row = $db->fetch_array($list)){echo $row;}}?> 给标题加上链接请使用下面代码: <?php //评论文章标题 function com_tt($gid){$db = MySql::getInstance();$sql = "SELECT * FROM ".DB_PREFIX."blog WHERE hide='n' and gid in ($gid) ORDER BY `date` DESC LIMIT 0,1";$list = $db->query($sql);while($row = $db->fetch_array($list)){?> <a href="<?php echo Url::log($row);?>" title="<?php echo $row;?>"><?php echo $row;?></a><?php }}?> 然后在module.php文件里找到最新评论的函数代码,在里面找到<?php echo $value ;?>这串代码,在其后加上<?php com_tt($value);?>就会显示当前评论随在的文章标题了,至于美化就自行修改吧。
2015年7月4日
16081 阅读
9 评论
Emlog教程
2015-7-3
Emlog页面实现加密码访问的相关代码分享
第一步:在根目录文件admin/views/add_page.php中 <div id="post_button"> 这段代码的上方加如下代码 <div style="margin-top:3px;"> 文章访问密码:<input type="text" value="" name="password" id="password" style="width:80px;" /></div> 第二步:在根目录文件admin/views/edit_page.php中的 <div id="post_button"> 这段代码的上方加如下代码 <div style="margin-top:3px;"> 文章访问密码:<input type="text" value="<?php echo $password; ?>" name="password" id="password" style="width:80px;" /></div> 第三步:在根目录文件admin/page.php中 $allow_remark = isset($_POST) ? addslashes(trim($_POST)) : 'n'; 这段代码的下方加如下代码 $password = isset($_POST) ? addslashes(trim($_POST)) : ''; 同样是根目录文件admin/page.php中 'template' => $template, 这段代码的下方加如下代码 'password' => $password, 加密页个性修改,请直接修改根目录include/model/log_model.php中的 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>emlog message</title> <style type="text/css"> <!-- body{background-color:#F7F7F7;font-family: Arial;font-size: 12px;line-height:150%;} .main{background-color:#FFFFFF;margin-top:20px;font-size: 12px;color: #666666;width:580px;margin:10px 200px;padding:10px;list-style:none;border:#DFDFDF 1px solid;} --> </style> </head> <body> <div class="main"> <form action="" method="post"> 请输入该文章的访问密码<br> <input type="password" name="logpwd" /><input type="submit" value="进入.." /> <br /><br /><a href="$url">«返回首页</a> </form> </div> </body> </html> 后台点“保存”也能保存数据的方法,找到根目录admin/views/js/common.js中找到(请下载最新版本的程序5.3.1) var pageurl = $.trim($("#url").val()); 下面加入代码:var password = $.trim($("#password").val()); //新加代码 +"&url="+pageurl 下面加入代码:+"&password="+password //新加代码
2015年7月3日
19027 阅读
6 评论
Emlog教程
2015-7-1
Emlog教程:获取最近留言访客头像函数
本代码来自陈子文哪货,舍力做转载保存之用,原文如下:刚才写个模板需要在底部加一个最新访客,顺手写了个函数,需要的可以借鉴借鉴 /** * 获取Gravatar头像 */ function getGravatar_fk($email, $s = 40, $d = 'mm', $g = 'g') { $hash = md5($email); $avatar = "http://gravatar.duoshuo.com/avatar/$hash?s=$s&d=$d&r=$g"; return $avatar; } //获取最新评论访客 function comment($num){ $t = MySql::getInstance(); $sql = "SELECT * FROM ".DB_PREFIX."comment WHERE mail != '' ORDER BY `cid` DESC LIMIT $num"; $list = $t->query($sql); while($row = $t->fetch_array($list)){ $i = '<li><a rel="nofollow" href="'.$row.'"><img src="'.getGravatar_fk($row).'"></a></li>'; echo $i; } } 调用方式: comment($num) //$num为调用数量
2015年7月1日
8593 阅读
5 评论
Emlog教程
2015-7-1
关于EMLOG博客程序判断插件是否安装并启用函数分享
有时候我们用emlog博客程序做模板的时候,必须用到一些插件,但是模板的使用者可能并未下载安装那些插件,这里我们在做模板的时候,可以强制性的提醒安装,否则无法使用此款主题,方法其实很简单,只需要下把下面的代码放入module.php的头部即可。 <?php if(!function_exists('插件标签') || !function_exists('插件标签')){emMsg('未满足条件显示的内容', BLOG_URL.'admin/plugin.php');}?> 以上的插件标签需要自己修改的,内容中可以使用html代码;如:模板设置插件的标签为 _g ,以上的意思是必须同时满足2个条件方可正常显示,如果只需要一个条件的话,只需去除 || !function_exists('插件标签') 即可!赶紧试试效果吧。。 &&
2015年7月1日
8280 阅读
1 评论
Emlog教程
2015-6-30
利用@media screen实现自适应网页布局兼容IE的respond.js
respond.js 是一个快速、轻量的 polyfill,用于为 IE6-8 以及其它不支持 CSS3 Media Queries 的浏览器提供媒体查询的 min-width 和 max-width 特性,实现响应式网页设计(Responsive Web Design)。 (function(w) { "use strict"; w.matchMedia = w.matchMedia || function(doc, undefined) { var bool, docElem = doc.documentElement, refNode = docElem.firstElementChild || docElem.firstChild, fakeBody = doc.createElement("body"), div = doc.createElement("div"); div.id = "mq-test-1"; div.style.cssText = "position:absolute;top:-100em"; fakeBody.style.background = "none"; fakeBody.appendChild(div); return function(q) { div.innerHTML = '­<style media="' + q + '"> #mq-test-1 { width: 42px; }</style>'; docElem.insertBefore(fakeBody, refNode); bool = div.offsetWidth === 42; docElem.removeChild(fakeBody); return { matches: bool, media: q }; }; }(w.document); })(this); (function(w) { "use strict"; var respond = {}; w.respond = respond; respond.update = function() {}; var requestQueue = , xmlHttp = function() { var xmlhttpmethod = false; try { xmlhttpmethod = new w.XMLHttpRequest(); } catch (e) { xmlhttpmethod = new w.ActiveXObject("Microsoft.XMLHTTP"); } return function() { return xmlhttpmethod; }; }(), ajax = function(url, callback) { var req = xmlHttp(); if (!req) { return; } req.open("GET", url, true); req.onreadystatechange = function() { if (req.readyState !== 4 || req.status !== 200 && req.status !== 304) { return; } callback(req.responseText); }; if (req.readyState === 4) { return; } req.send(null); }, isUnsupportedMediaQuery = function(query) { return query.replace(respond.regex.minmaxwh, "").match(respond.regex.other); }; respond.ajax = ajax; respond.queue = requestQueue; respond.unsupportedmq = isUnsupportedMediaQuery; respond.regex = { media: /@media+\{(*\{*\})+/gi, keyframes: /@(?:\-(?:o|moz|webkit)\-)?keyframes+\{(?:*\{*\})+*\}/gi, comments: /\/\**\*+(*\*+)*\//gi, urls: /(url\()?(+)?(\))/g, findStyles: /@media *(+)\{(+?)$/, only: /(only\s+)?(+)\s?/, minw: /\(\s*min\-width\s*:\s*(\s*+)(px|em)\s*\)/, maxw: /\(\s*max\-width\s*:\s*(\s*+)(px|em)\s*\)/, minmaxwh: /\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*+)(px|em)\s*\)/gi, other: /\(*\)/g }; respond.mediaQueriesSupported = w.matchMedia && w.matchMedia("only all") !== null && w.matchMedia("only all").matches; if (respond.mediaQueriesSupported) { return; } var doc = w.document, docElem = doc.documentElement, mediastyles = , rules = , appendedEls = , parsedSheets = {}, resizeThrottle = 30, head = doc.getElementsByTagName("head") || docElem, base = doc.getElementsByTagName("base"), links = head.getElementsByTagName("link"), lastCall, resizeDefer, eminpx, getEmValue = function() { var ret, div = doc.createElement("div"), body = doc.body, originalHTMLFontSize = docElem.style.fontSize, originalBodyFontSize = body && body.style.fontSize, fakeUsed = false; div.style.cssText = "position:absolute;font-size:1em;width:1em"; if (!body) { body = fakeUsed = doc.createElement("body"); body.style.background = "none"; } docElem.style.fontSize = "100%"; body.style.fontSize = "100%"; body.appendChild(div); if (fakeUsed) { docElem.insertBefore(body, docElem.firstChild); } ret = div.offsetWidth; if (fakeUsed) { docElem.removeChild(body); } else { body.removeChild(div); } docElem.style.fontSize = originalHTMLFontSize; if (originalBodyFontSize) { body.style.fontSize = originalBodyFontSize; } ret = eminpx = parseFloat(ret); return ret; }, applyMedia = function(fromResize) { var name = "clientWidth", docElemProp = docElem, currWidth = doc.compatMode === "CSS1Compat" && docElemProp || doc.body || docElemProp, styleBlocks = {}, lastLink = links, now = new Date().getTime(); if (fromResize && lastCall && now - lastCall < resizeThrottle) { w.clearTimeout(resizeDefer); resizeDefer = w.setTimeout(applyMedia, resizeThrottle); return; } else { lastCall = now; } for (var i in mediastyles) { if (mediastyles.hasOwnProperty(i)) { var thisstyle = mediastyles, min = thisstyle.minw, max = thisstyle.maxw, minnull = min === null, maxnull = max === null, em = "em"; if (!!min) { min = parseFloat(min) * (min.indexOf(em) > -1 ? eminpx || getEmValue() : 1); } if (!!max) { max = parseFloat(max) * (max.indexOf(em) > -1 ? eminpx || getEmValue() : 1); } if (!thisstyle.hasquery || (!minnull || !maxnull) && (minnull || currWidth >= min) && (maxnull || currWidth <= max)) { if (!styleBlocks) { styleBlocks = ; } styleBlocks.push(rules); } } } for (var j in appendedEls) { if (appendedEls.hasOwnProperty(j)) { if (appendedEls && appendedEls.parentNode === head) { head.removeChild(appendedEls); } } } appendedEls.length = 0; for (var k in styleBlocks) { if (styleBlocks.hasOwnProperty(k)) { var ss = doc.createElement("style"), css = styleBlocks.join("\n"); ss.type = "text/css"; ss.media = k; head.insertBefore(ss, lastLink.nextSibling); if (ss.styleSheet) { ss.styleSheet.cssText = css; } else { ss.appendChild(doc.createTextNode(css)); } appendedEls.push(ss); } } }, translate = function(styles, href, media) { var qs = styles.replace(respond.regex.comments, "").replace(respond.regex.keyframes, "").match(respond.regex.media), ql = qs && qs.length || 0; href = href.substring(0, href.lastIndexOf("/")); var repUrls = function(css) { return css.replace(respond.regex.urls, "$1" + href + "$2$3"); }, useMedia = !ql && media; if (href.length) { href += "/"; } if (useMedia) { ql = 1; } for (var i = 0; i < ql; i++) { var fullq, thisq, eachq, eql; if (useMedia) { fullq = media; rules.push(repUrls(styles)); } else { fullq = qs.match(respond.regex.findStyles) && RegExp.$1; rules.push(RegExp.$2 && repUrls(RegExp.$2)); } eachq = fullq.split(","); eql = eachq.length; for (var j = 0; j < eql; j++) { thisq = eachq; if (isUnsupportedMediaQuery(thisq)) { continue; } mediastyles.push({ media: thisq.split("(").match(respond.regex.only) && RegExp.$2 || "all", rules: rules.length - 1, hasquery: thisq.indexOf("(") > -1, minw: thisq.match(respond.regex.minw) && parseFloat(RegExp.$1) + (RegExp.$2 || ""), maxw: thisq.match(respond.regex.maxw) && parseFloat(RegExp.$1) + (RegExp.$2 || "") }); } } applyMedia(); }, makeRequests = function() { if (requestQueue.length) { var thisRequest = requestQueue.shift(); ajax(thisRequest.href, function(styles) { translate(styles, thisRequest.href, thisRequest.media); parsedSheets = true; w.setTimeout(function() { makeRequests(); }, 0); }); } }, ripCSS = function() { for (var i = 0; i < links.length; i++) { var sheet = links, href = sheet.href, media = sheet.media, isCSS = sheet.rel && sheet.rel.toLowerCase() === "stylesheet"; if (!!href && isCSS && !parsedSheets) { if (sheet.styleSheet && sheet.styleSheet.rawCssText) { translate(sheet.styleSheet.rawCssText, href, media); parsedSheets = true; } else { if (!/^(*\/\/)/.test(href) && !base || href.replace(RegExp.$1, "").split("/") === w.location.host) { if (href.substring(0, 2) === "//") { href = w.location.protocol + href; } requestQueue.push({ href: href, media: media }); } } } } makeRequests(); }; ripCSS(); respond.update = ripCSS; respond.getEmValue = getEmValue; function callMedia() { applyMedia(true); } if (w.addEventListener) { w.addEventListener("resize", callMedia, false); } else if (w.attachEvent) { w.attachEvent("onresize", callMedia); } })(this); 直接下载>>respond.zip<<文件
2015年6月30日
10444 阅读
2 评论
代码教程
2015-6-26
删除ecshop手机网页WAP版的方法分享
删除ecshop自带的WAP版。用手机打开ECSHOP,就会跳转到mobile文件夹,如果打开wap功能,就能看到wap版得网站,且有BUG,难看。但目前智能手机、PAD、IPhone、Android可以跟电脑一样浏览和购物。实在不行,就下载个uc浏览器。所以这个wap功能实在无用武之地,可以彻底删除,且提高安全性。 1、删除/wap和/mobile目录和目录下的所有文件 2、删除根目录index.php中的 3、删除相关数据库(在SQL执行以下代码) DELETE FROM ecs_shop_config WHERE ecs_shop_config.code in ( "wap", "wap_config","wap_logo"); 4、删除languages/zh_cn/admin/shop_config.php中的
2015年6月26日
22128 阅读
1 评论
Ecshop教程
2015-6-13
必知信息发布技巧 - 关于关键词不得不知道的四点
1、选择核心关键字:饰品作为核心关键字其热门程度之高可想而知,一般像饰品这样的热门关键字基本上是通过百度推广做上去的,如果不惜金钱为代价可以通过百度推广,搜索发现,这个关键字已经被一些权威站点或者百度竞价垄断。不过你可以选择其他的相关的做核心关键字。比如"饰品+赠送","女性饰品购物”等等。 2、相关关键字:每个搜索引擎都给大家提供了参考。百度,雅虎,谷歌都有相关搜索,而且雅虎还有一个热门搜索,显示近期常用的相关词语。大家可以把相关关键字词作为网站的分类栏目。作为分类栏目好处是可以突出关键字,让其他内页辅助,并且可以在网站内多次合理的出现。稍微细心的朋友都会发现,很多时候页面里无相关内容,只因为分类栏目与搜索的关键字相同,却出现在搜索结果里。 3、生僻关键字:做生僻关键字主要是将来结合百度下拉进行生僻关键字炒作,比如在百度中输入品牌(公司名称)+空格出现你想要的生僻关键词,做生僻关键词前期需要大量投入文章,其文章标题要以热门关键字+生僻关键字的组合出现,例如OBH 气泡水机,最后通过百度下来营销工具,把生僻关键字做到百度下拉菜单栏目里。 4、垃圾关键字:你可以自己根据自己的网站内容,寻找一些相关的,但是很少被人使用的关键字。虽然这类关键字带来的流量很小,不过排名容易上去,也许一个页面,一个更新信息,被收录后当天就能排在第一页。补充一些相关页面比制造一直垃圾页面更能带来流量。特别是对于一些地方站,行业站来说,这是个比较好的方法。我有个网站,在来路统计里看到,关键字舍力博客一个月才被搜索几十次,但是所有的生僻关键字加一起,却占据了10%。
2015年6月13日
11446 阅读
8 评论
SEO优化教程
2015-6-13
标题拟定 - 如何设置关键词更好的被收录(标题关键词策划)
更好的被收录策划关键词: 1、产品名称 2、公司名+产品名称 3、地区+产品名称 4、型号+产品名称 5、类别+产品名称 6、用途+产品名称 7、地区+型号+产品名称 8、品牌+型号+产品名称 9、性能+产品名称 10、产品名称+价格 11、产品名称+厂家 12、产品名称+批发 13、产品名称+供应商 ……其它的产品也是一样,如果是全国市场,可以在产品的前面加上各城市名。 (要注意的是产品名称里不要放电话号码或者QQ之类的)这样的话您的客户就可以通过不同的关键词搜索到您这边,效果自然就来得快了。
2015年6月13日
10005 阅读
0 评论
SEO优化教程
30
31
32
33
34