2012年1月19日再次提升用户体验

经过长期和用户的交流,发现用户喜欢多个小图在一个页面的结果,这样更适合用户的选择。因此大皮鞋电脑桌面壁纸网决定采集多个小图在一页的结果。让大家选择。

 

发表在 未分类 | 留下评论

2012年1月5日,网站从国外服务器转回国内电信服务器

从5号开始,大皮鞋桌面背景网,成功升级,回国内服务器,网友访问将更快速

谢谢大家的一直支持,我们将继续为大家创作更多好看的桌面背景壁纸图片

发表在 发展历程 | 留下评论

DEDECMS按照不同栏目分类调用tag标签

DEDECMS系统中自带{dede:tag}{/dede:tag}不能实现按照不同栏目调用tag标签的功能,为实现上述功能可以采取如下方法。

{dede:sql sql=’Select * from dede_taglist where typeid=7 limit 0,30′}
<a href=”/dede/tags.php?/[field:tag runphp='yes']@me=urlencode(@me);[/field:tag]” target=’_blank’>[field:tag/]</a>
{/dede:sql}

typeid是指相应的栏目id
limit限制标签的数量
ulrencode(@me)将从数据库中读取的tag字段转换为url编码

发表在 重复内容解决 | 留下评论

WordPress 关键词链接插件:WP Keyword Link

WP Keyword Link 插件早在我发表的总结一下博客所使用的插件就已经提到过,只是没有做详细的介绍。

WP Keyword Link 插件介绍:

WP Keyword Link 插件可以为你的 wordpress 博客添加关键词的链接,更多的内链和外链,更好的 SEO ! 给文章加上内部链接有利于增加搜索引擎收录。WP Keyword Link 插件是由柳城在原作者允许的条件下在原插件上作了修改加入支持中文关键词的链接的,主要是面向中文WordPress博客。

WP Keyword Link 插件特点:

1.完美支持中文关键词链接,分别区分英文与中文关键词。

2.对每个关键词进行细节设置(如: 是否匹配多个? 是否匹配评论? 外链还是内链? 是否匹分大小写? 是否新窗口打开等)

3.修正编辑中文关键词时乱码问题。

4.解决替换关键词已有链接的问题.文章中已有的链接将不会匹配。

5.解决与WordPress Wiki插件的冲突问题。

6.加入多语言支持。

7.自动把文章的标签转换为关键词,你可以选择开启或关闭。

8.显示相关文章。

WP Keyword Link 插件安装:

1.下载博客插件WP Keyword Link,并解压上传到wp-content/plugins/目录下

2.登陆 WordPress 博客后台,在已安装插件列表中启用 WP Keyword Link 插件

3.启用 WP Keyword Link 插件后,在“设置”选项卡下会生成“WP KeywordLink”选项

4.点击该选项进入插件参数设置界面

WP Keyword Link 插件帮助文档:

1.No Follow – 在链接加多一个属性:rel= no follow ,使用Nofollow属性让搜索引擎不要抓取并追踪此链接。

2.First Match Only – 仅仅匹配第一个关键词. 否则将匹配2个或3个。

3.New Window – 在链接加上 target= _blank 的属性, 在新窗口打开。

4.Ignore Case – 不匹分大小写,如 Google , google 或者 gooGLE 都会匹配到,英文关键词有效(不推荐使用)。

5.Is affiliate – 勾上表示内链,同外链区分,这里要添加下面提到的CSS样式。

6.Filter in comments – 勾上匹配替换评论区里的关键词。

*For zh_CN – 勾上支持中文关键词. 或其它不是用空格隔开的语言。

* 自动跳过 <pre></pre> 区域, 或使用自定义的标签 <wp_nokeywordlink></wp_nokeywordlink>, 该标签包含的内容不会有链接。

发表在 wordpress | 留下评论

浅谈互联网页面价值

索引擎每天处理着数以亿计的查询请求,每个查询请求都代表了一个用户对于某种资源的特定需求。多数时候,通过查询返回的网页结果,这些需求被满足了,我们可以认为结果中的某些页面对特定用户的特定需求产生了价值。那么对于搜索引擎而言,页面的价值是指什么,我们为什么要研究页面价值,技术上怎样判断页面的价值呢?本文将逐一回答这些问题。
一、什么页面价值
前面我们说了,某个页面满足了某一用户的特定需求,就体现了这个页面对用户的价值。那么对搜索引擎而言,价值体现在哪些方面呢?一个简单的推论,所有可能会对用户产生价值的页面都是对搜索引擎有价值的,将这些页面建入搜索引擎的索引中能够满足最终检索到它们用户的需求,我们称这种价值为检索价值。只要是能解决某个用户信息需求的,并且是可以通过某些正常检索需求到达的,那么就是有检索价值的。
小学生张三喜欢在qzone上写日记,写他前天吃了什么,今天玩了什么。这些内容,是有价值的。它们对张三的家长、同学、老师,以及其他小学生,和对小学生日记感兴趣的人来说,都是有价值的。对于这个信息体来说,“张三”这个名字是检索的“key”。
有一些信息单元,只有“浏览”价值,而没有到达该信息的检索途径,那么该资源可能是有价值的,但检索价值就很低。比如一张百度大厦附近的地图,从浏览角度,是有价值的;但是如果没有任何周边文字说明(或者link的anchor text),只有一张光秃秃的地图,就没有检索价值。当然,如果图片的内容识别技术,有朝一日能自动识别出这个是“百度大厦附近地图”,或者能够自动分析出地图内的各种大厦、街道、餐馆等的名称,那么这张图一样变得有检索价值了。所以一个页面是否有检索价值,应该取决于两点:
1)是否能解决某个特定的需求(价值)
2)是否可以通过某个常规的搜索方式获得该信息(检索)
那么,没有检索价值的页面,是否对搜索引擎就没有价值了呢?仔细想想,答案是否定的。索引只是搜索引擎的一个环节,对于其他环节而言,没有检索价值的页面有可能对我们更好的收录那些检索价值高的页面有帮助。比如对负责抓取互联网资源的spider而言,有一些页面,本身没有检索价值,但通过这些页面的抓取和分析,能够更快的帮助我们掌握这一类页面没有检索价值这一重要信息,从而节省更多的流量进行更加有效的抓取。
考虑到这种价值可以算作一种“间接的”检索价值,最终还是立足于索引价值的,在本文中就不再展开论述,我们只关注“检索价值”这一根本问题。下文中提到的“页面价值”特指页面的“检索价值”。
二、为什么要研究页面价值
首先,互联网上的页面是无穷尽的,而搜索引擎的硬件资源是有限的,想用有限的资源去覆盖无穷尽的互联网,我们就需要对页面价值做出判断,不收录那些无检索价值的页面,少收录那些检索价值低的页面。这是页面价值在收录控制方面的应用。
第二,搜索引擎spider的抓取能力是有限的,出于访问友好性的考虑,对于一个网站或一个IP抓取速率需要有一个抓取速率的上限。在这一限制下,抓取或页面更新就需要有一个先后顺序,而这一排序的主要参考依据就是页面价值,或者说对页面价值的预测(未抓取时)。这是页面价值在spider调度方面的应用。
第三,对于某些页面,页面内容发生变化,导致它的检索价值从有到无,典型的就是变为“死链”,或者“被黑”。对于这些页面,好的搜索引擎会在第一时间将其排除出索引,或在检索时对其进行屏蔽,以保证返回给用户的结果是更多检索价值高的“好页面”。对于另一些页面,它不仅具有很高的检索价值,而且有很强的“时效性”,能够第一时间让用户检索到这些页面对搜索体验有很大的提升。对搜索引擎而言,越快的收录和索引页面意味着越多的额外资源开销,以多快的速度收录和以多短的周期更新索引,需要通过页面价值的分析来指导。这两方面是页面价值在死链率和时效性两大搜索引擎指标提升上的应用。
最后,普遍意义上的页面价值高低对搜索引擎返回给用户的结果排序上也存在着指导意义。理想情况下搜索引擎的结果是按照与查询请求的相关性进行排序的,在相关性大体相当的情况下,用户更倾向与浏览普遍意义上页面价值高的网页。这是页面价值在ranking方面的应用。
可以说,页面检索价值的研究是搜索引擎中的一项较为基础的工作,对页面价值的认识和判断的准确程度直接影响着搜索引擎的覆盖率、死链率、时效性等几大主要指标。
三、如何判断页面价值
前文中提到过一个小学生张三qzone日记的例子。我们认为这个页面是有价值的,对张三的同学,朋友,家人都有价值。与此类似的,百度CEO李彦宏在i贴吧上发表一条十几个字的i贴,也是有价值的,对李彦宏的上千万粉丝都有价值。虽然李彦宏的i贴长度可能远小于张三的日记,但就这两个页面的价值来说,我们都会有一个共同的认识,即从普遍意义上讲,李彦宏的i贴价值远大于张三的日记。(当然,对于张三的妈妈来说很可能这个价值的关系是相反的)
再举个例子,搜索某个人的手机号码,搜索引擎返回了一个结果,是这个人在某个论坛上的一个回复。虽然这个手机号码关心的人不多,但因为资源是绝对稀缺的,对于关心这个手机号码的查询需求,这个页面是完全不可替代的,因此具有极高的价值。
另外,页面检索价值,还受到页面质量的影响。相似的页面,对于满足用户需求来说,往往会有很大差异,比如资源下载速度,页面的布局,广告的多寡。这类差异,姑且称之为页面质量。
最后,有些页面具有明显的公众话题性质,且这些资源往往在刚刚产生时有非常高的关注度,随着时间的推移热度显著下降,有着“新闻”的特征。典型的像各种“门”事件,地震、火灾等大型的自然灾害。我们认为这类资源具有“时效性”特征。
所以,一个页面的检索价值,大致受以下四个要素的影响:
1、感兴趣的受众群大小
2、该页面的稀缺程度(可替代性)
3、该页面的质量高低
4、该页面的时效性特征强弱
这四种要素,简称受众,稀缺,质量和时效性。
1. 受众
受众群体的大小,即代表了用户检索需求的大小。评价受众的大小主要依据信息发布源的受众和信息内容本身受众两大方面。具体因素包括且不限于:
网站忠实用户群大小
一般来说,拥有自己忠实用户群的知名网站,他们的成功,在于他们的内容和服务,比别人更能吸引和满足用户。从这个角度来说,我们可以推论,拥有更多忠实用户群的网站上的内容,会比忠实用户群较少的网站上的内容,有更多的既有和潜在受众群。这样的话,忠实用户群大小,就可以变成对站点内资源检索价值的一种衡量指标。忠实用户群的好处在于,它是变动的。如果一个网站变差了,那么用户就会用脚投票。超链有过期问题,作弊问题,而虚假用户群作弊很难。一般所谓的网站知名度,会和忠实用户群数量密切相关。
资源分布规律
我们再考虑一个网站内部的资源分布所体现的受众群大小问题。比如新浪新闻首页的那些推介内容。新浪编辑为什么要推这些内容?因为他们认为这些是用户最感兴趣的。那么从索引价值角度而言,相当于有一个庞大的编辑团队,已经对这些内容打上了“符合大众口味”的标签。搜索引擎只需要乐享其成就行了。这样的话,资源相对于某些结构性关键页面(首页、频道页等)的链接深度,也可以成为衡量一个资源受众群大小的指标了。
访问热门度
我们再从访问热门度角度来考虑受众群大小问题。这个是最直接的,当然,它需要第三方的工具来获取关键数据。通过这个途径,获取的不应仅仅是需要入库的页面,还有用户访问一个网站的访问模式。
超链
超链某种程度上也是受众群大小的反映。某个资源的质量越高,接触的受众群越大,那么获得正常链接的数量往往也越大。
内容特征
A:我写博客:“传言郭德纲要上春晚了。”
B:我写博客:“我今天吃早饭了。”
同样的来源,前者的受众必然高于后者。即:当在发布源相同的情况下,具有公众属性的内容分值会更高。
2. 稀缺
稀缺主要是描述页面在互联网中的独特性。说到稀缺往往会想到重复,稀缺是否等同于无重复,我们应该怎样解读这一概念呢?可以看一个例子:
某人发表了一篇针对某新闻事件的原创博客,随后被新浪转载到了新闻频道。从描述的内容上讲,这是一种重复。但这种重复仅仅是主体内容上的重复,一方面它的转载带来了访问速度、稳定性等方面的增益,并且之后的检索用户还有可能用“新闻事件+新浪”来检索此新闻。这可以被称之为站点增益。另一方面,它在转载过程中可能会改变页面的标题,而且依托其受众,在转载页面上,还有可能出现更多的有价值评论和回复等,还有可能存在指向其它相关事件的新闻链接。这些可以被称之为内容增益。因此即使主题内容没有任何变化,新浪的这次转载也是有价值的,其稀缺度也是较高的。
同样,反过来说,如果转载的网站相当不知名,则其无法带来站点名/稳定性/速度的增益。更有甚者,转载之后在页面上加入大量广告妨碍阅读,或者只转载了内容中不完整的一部分,这样的转载,或者说采集,就是纯重复的,与采集源相比,就是没有检索价值的了。
综上所述,对于主体内容重复的页面,我们应该评价其是否存在站点增益和内容增益,只有对于大量完全无增益的重复页面,我们才应该认为其稀缺度较低。
3. 质量
页面的质量是它对需求的满足程度的一种体现。判断页面质量的高低,应该是从最基础的需求依次递进的。
首先,不能是死链、网站要有一定的稳定性、访问速度要令人满意。
其次,主体内容是否完整、版式和字体是否易读、各类广告会不会太多。
最后,信息是否丰富、延伸出的次级需求是否满足。
典型的低质量页面存在以下一些特征:
1、主需求无效/未满足(过期分类广告/软件下载页面,下载链接无效等)
2、死链
3、虚假信息/诈骗等
4、点不稳定
5、影响主需求的权限问题(下载/浏览需要注册会员/积分等)
6、信息不完整(转载不全等)
7、浏览体验差(广告/字体/页面布局等)
典型的高质量页面存在以下一些特征:
1、访问速度快(页面加载快/资源下载速度快)
2、页面整洁干净,主体内容在显著位置。
3、页面信息完整。
4、页面元素丰富(文字、图片、评论、相关推荐等)
4. 时效性
“时效性”是页面价值的一个属性,它一般体现在两个方面:一是页面所描述的事物本身有着较强的公众话题性,容易被传播。这其实是受众的一个体现。二是页面所描述的事物仅在第一时间有较高热度,随着时间推移热度显著下降。这是一种“新闻”性。对于具有上述两种属性的页面,如果搜索引擎spider发现页面的时间正处于该事物的“爆发期”或“爆发期”之前,我们认为该页面具有时效性。
需要说明的是,搜索引擎的广义“时效性”是指对所有有价值新资源的及时收录提供检索,而所有的有价值新资源中,有一大部分其收录速度的提升对用户的搜索体验改善意义是不大的,比如介绍如何瘦身的知识性文章,张三的日记。页面价值中的“时效性”指得是一种突发时效性,也就是所有有价值页面中最需要及时收录的那些。对页面时效性的判断是为了指导我们将搜索引擎有限的资源投入到最关键的地方,产生最好的性价比。
判断页面的时效性价值,主要通过下面一些途径:
页面本身受众是否有短时间的突增,比如超链爆发。贾君鹏的帖子就是一个典型的例子。
描述相同事物的互联网页面是否有段时间的突增。贾君鹏事件短时间内爆发出大量相关讨论、报道,和这一事件相关的所有内容都具有了时效性属性。
根据一个集合内的页面是否具有上述两种特征,推测该集合的时效性价值。比如魔兽世界吧经常爆出一些热门帖子,公众话题,我们推测出自魔兽世界吧的帖子其时效性“潜在价值”比较高。
四、页面价值的研究重点
前文已经介绍了页面价值的含义,研究的意义与价值判断的方法。最后我们再看一下,从技术角度上,这一方向的研究中的重点方向。对页面价值的研究工作主要致力于三方面:
1、对页面价值体系的认识。我们目前对页面价值的认识是来源于前文所述的四个维度,这个认识是否全面,对于不断变化的互联网环境与用户需求,这些维度应该如何扩展与变化才能更好的服务于整体的搜索体验提升,是一个很重要问题。
2、对于反映页面价值的页面特征提取。巧妇难为无米之炊,挖掘更多的页面特征,更准确合理的特征提取是页面价值判定准确率提升的基础。
3、对各种页面特征的组合策略(机器学习)。针对不用的应用方向,需要利用相应的特征通过合理且高效的策略拟合出页面价值的最终评价结果。
发表在 未分类 | 留下评论

likearticle标签的使用方法与实际使用效果

官方目前对相关文章标签进行了最后的修改,在此给出使用方法和实际应用效果及注意事项的说明

1、相关文章标签是因是针对某篇文章的,所以不能缓存,很占资源,会造成生成文档HTML更慢,这是必然的,当然对于做正规站的人可以不必考虑这个问题;

2、相关文章默认使用Tag或关键字前三个词作为种子(Tag优先),如果你的关键字是自动生成的,那么不一定完全关连,那是必然的,可以通过手适当调整。

调用代码:(以默认模板的结构为范例)
<div>
    <dl>
        <dt><strong>相关文章</strong></dt>
        <dd>
        <ul>
            {dede:likearticle}
              <li><a href=”[field:arcurl/]“>[field:title/]</a></li>
            {/dede:likearticle}
        </ul>
    </dd>
    </dl>
</div>

  

另外

:最新的标签碎片源码(放到include/taglib目录)
附件:  likearticle.lib.zip

发表在 未分类 | 留下评论

DEDECMS 5.6 likearticle 标签源代码中增加order by 和subday属性

dedecms5.6中标签{dede:likearticle }{/dede:likearticle}默认不支持order by 和subway属性,
为了满足对这两个属性的需求,可以通过修改likearticle标签源代码来实现。
在标签源码管理中 找到likearticle.lib.php即为likearticle的源代码。

1.orderby 属性

首先获得标签传递过来的orderby的属性值
$orderby=$ctag->GetAtt(‘orderby’);
在源代码中有这样一组代码
if( empty($arcid) || $byabs==0 ) {
   $orderquery = ” order by arc.id desc “;
}
else {
   $orderquery = ” order by ABS(arc.id – “.$arcid.”) “;
}
likearticle标签默认的排序方式。赋予标签orderby属性那么这段代码就没意义了,先在源码中注释掉这段代码

/*if( empty($arcid) || $byabs==0 ) {
   $orderquery = ” order by arc.id desc “;
}
else {
   $orderquery = ” order by ABS(arc.id – “.$arcid.”) “;
}
*/
直接延用默认的order by 子句变量$orderquery,这样sql语句就不用做更改了。
创建新变量 orderquery=”;//mysql 查询语句中的order by子句 初始为空
然后根据传递的值做相应的判断,在这里只做一些最常用的值的判断
根据$orderby的值做不同的orderby 查询
if($orderby==’hot’ || $orderby==’click’) $orderquery = ” order by arc.click $orderWay”;
else if($orderby == ‘sortrank’ || $orderby==’pubdate’) $orderquery = ” order by arc.sortrank $orderWay”;
else if($orderby == ‘id’) $orderquery = ” order by arc.id $orderWay”;
else if($orderby == ‘near’) $orderquery = ” order by ABS(arc.id – “.$arcid.”)”;
else if($orderby == ‘lastpost’) $orderquery = ” order by arc.lastpost $orderWay”;
else if($orderby == ‘scores’) $orderquery = ” order by arc.scores $orderWay”;
else if($orderby == ‘rand’) $orderquery = ” order by rand()”;
else if($orderby == ‘weight’) $orderquery = ” order by arc.weight asc”;//如果没有特定设置排序则按照权重先排序
else $orderquery = ” order by arc.sortrank $orderWay”;

ok这样就为likearticle标签增加了完整的order by 属性

2.subday属性(标签获取subday指定的最近几天的数据)
同样先获得subday 的属性值
$subday=$ctag->GetAtt(‘subday’);
然后做时间差计算
if($subday > 0)
   {
    $ntime = gmmktime(0, 0, 0, gmdate(‘m’), gmdate(‘d’), gmdate(‘Y’));
    $limitday = $ntime – ($subday * 24 * 3600);
    $subdaysql = ” and arc.senddate > $limitday “;
   }
然后在标签源码的两处sql查询语句中 增加$subdaysql子句判断
第一处为:
$query = “Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
            tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
            from
`#@__archives` arc left join `#@__arctype` tp on arc.typeid=tp.id
            where arc.arcrank>-1 and ($keyword) $typeid $orderquery limit 0, $row”;


修改为:

$query = “Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
            tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
            from
`#@__archives` arc left join `#@__arctype` tp on arc.typeid=tp.id
            where arc.arcrank>-1 and ($keyword) $typeid $subdaysql $orderquery limit 0, $row”;
第二处为:
$query = “Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
            tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
            from
`#@__archives` arc left join `#@__arctype` tp on arc.typeid=tp.id
           where arc.arcrank>-1 and $typeid $orderquery limit 0, $row”;
修改为:
$query = “Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
            tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
            from
`#@__archives` arc left join `#@__arctype` tp on arc.typeid=tp.id
           where arc.arcrank>-1 and $typeid $subdaysql $orderquery limit 0, $row”;
做完以上更改就为likearticle标签增加了subday属性

以下为修改完之后的likearticle.lib.php的完整代码(增加了 orderby 和 subday 属性)

<?php

if(!defined(‘DEDEINC’)) exit(‘Request Error!’);

function lib_likearticle(&$ctag,&$refObj)
{
global $dsql;

//属性处理
$attlist=”row|12,titlelen|28,infolen|150,col|1,tablewidth|100,mytypeid|0,byabs|0,imgwidth|120,imgheight|90″;
FillAttsDefault($ctag->CAttribute->Items,$attlist);
extract($ctag->CAttribute->Items, EXTR_SKIP);
$revalue = ”;
$orderby = $ctag->GetAtt(‘orderby’);
$orderWay=$ctag->GetAtt(‘orderway’);

$subday=$ctag->GetAtt(‘subday’);
           if($subday > 0)
   {
    $ntime = gmmktime(0, 0, 0, gmdate(‘m’), gmdate(‘d’), gmdate(‘Y’));
    $limitday = $ntime – ($subday * 24 * 3600);
    $subdaysql = ” and arc.senddate > $limitday “;
   }
if(empty($tablewidth)) $tablewidth = 100;
if(empty($col)) $col = 1;
$colWidth = ceil(100/$col);
$tablewidth = $tablewidth.”%”;
$colWidth = $colWidth.”%”;

$ids = array();
$tids = array();

if(!empty($refObj->Fields['tags'])) {
   $keyword = $refObj->Fields['tags'];
}
else {
   $keyword = ( !empty($refObj->Fields['keywords']) ? $refObj->Fields['keywords'] : ” );
}

$typeid = ( !empty($mytypeid) ? $mytypeid : 0 );
if(empty($typeid))
{
    if(!empty($refObj->Typelink->TypeInfos['reid'])) {
     $typeid = $refObj->Typelink->TypeInfos['reid'];
    }
    else {
     if(!empty($refObj->Fields['typeid'])) $typeid = $refObj->Fields['typeid'];
    }
}

if( !empty($typeid) && !ereg(‘,’, $typeid) ) {
    $typeid = GetSonIds($typeid);
}

$limitRow = $row – count($ids);
$keyword = ”;
if(!empty($refObj->Fields['keywords']))
{
    $keywords = explode(‘,’ , trim($refObj->Fields['keywords']));
    $keyword = ”;
    $n = 1;
    foreach($keywords as $k)
    {
     if($n > 3) break;
    
     if(trim($k)==”) continue;
     else $k = addslashes($k);
    
     $keyword .= ($keyword==” ? ” CONCAT(arc.keywords,’ ‘,arc.title) like ‘%$k%’ ” : ” OR CONCAT(arc.keywords,’ ‘,arc.title) like ‘%$k%’ “);
       $n++;
    }
}
$arcid = (!empty($refObj->Fields['id']) ? $refObj->Fields['aid'] : 0);
/*if( empty($arcid) || $byabs==0 ) {
   $orderquery = ” order by arc.id desc “;
}
else {
   $orderquery = ” order by ABS(arc.id – “.$arcid.”) “;
}*/
$orderquery = ”;
if($orderby==’hot’ || $orderby==’click’) $orderquery = ” order by arc.click $orderWay”;
else if($orderby == ‘sortrank’ || $orderby==’pubdate’) $orderquery = ” order by arc.sortrank $orderWay”;
else if($orderby == ‘id’) $orderquery = ” order by arc.id $orderWay”;
else if($orderby == ‘near’) $orderquery = ” order by ABS(arc.id – “.$arcid.”)”;
else if($orderby == ‘lastpost’) $orderquery = ” order by arc.lastpost $orderWay”;
else if($orderby == ‘scores’) $orderquery = ” order by arc.scores $orderWay”;
else if($orderby == ‘rand’) $orderquery = ” order by rand()”;
else if($orderby == ‘weight’) $orderquery = ” order by arc.weight asc”;//如果没有特定设置排序则按照权重先排序
else $orderquery = ” order by arc.sortrank $orderWay”;

if($keyword != ”)
{
    if(!empty($typeid)) {
       $typeid = ” And arc.typeid in($typeid) And arc.id<>$arcid “;
    }
   
$query = “Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
            tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
            from
`#@__archives` arc left join `#@__arctype` tp on arc.typeid=tp.id
            where arc.arcrank>-1 and ($keyword) $typeid $subdaysql $orderquery limit 0, $row”;
}
else
{
    if(!empty($typeid)) {
      $typeid = ” arc.typeid in($typeid) And arc.id<>$arcid “;
    }
  
$query = “Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
            tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
            from
`#@__archives` arc left join `#@__arctype` tp on arc.typeid=tp.id
           where arc.arcrank>-1 and $typeid $subdaysql $orderquery limit 0, $row”;
}

$innertext = trim( $ctag->GetInnerText() );
if($innertext==”) $innertext = GetSysTemplets(‘part_arclist.htm’);

$dsql->SetQuery($query);
$dsql->Execute(‘al’);
$artlist = ”;
if($col > 1) {
   $artlist = “<table width=’$tablewidth’ border=’0′ cellspacing=’0′ cellpadding=’0′>\r\n”;
}
$dtp2 = new DedeTagParse();
$dtp2->SetNameSpace(‘field’, ‘[', ']‘);
$dtp2->LoadString($innertext);
$GLOBALS['autoindex'] = 0;
$line = $row;
for($i=0; $i < $line; $i++)
{
   if($col>1) $artlist .= “<tr>\r\n”;
   for($j=0; $j < $col; $j++)
   {
    if($col>1) $artlist .= ” <td width=’$colWidth’>\r\n”;
    if($row = $dsql->GetArray(“al”))
    {
     $ids[] = $row['id'];
     //处理一些特殊字段
     $row['info'] = $row['infos'] = cn_substr($row['description'],$infolen);
     $row['id'] = $row['id'];

     if($row['corank'] > 0 && $row['arcrank']==0)
     {
       $row['arcrank'] = $row['corank'];
     }

     $row['filename'] = $row['arcurl'] = GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],
     $row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']);

     $row['typeurl'] = GetTypeUrl($row['typeid'],$row['typedir'],$row['isdefault'],$row['defaultname'],$row['ispart'],
     $row['namerule2'],$row['moresite'],$row['siteurl'],$row['sitepath']);

     if($row['litpic'] == ‘-’ || $row['litpic'] == ”)
     {
      $row['litpic'] = $GLOBALS['cfg_cmspath'].’/images/defaultpic.gif’;
     }
     if(!eregi(“^http://”,$row['litpic']) && $GLOBALS['cfg_multi_site'] == ‘Y’)
     {
      $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic'];
     }
     $row['picname'] = $row['litpic'];
     $row['stime'] = GetDateMK($row['pubdate']);
     $row['typelink'] = “<a href=’”.$row['typeurl'].”‘>”.$row['typename'].”</a>”;
     $row['image'] = “<img src=’”.$row['picname'].”‘ border=’0′ width=’$imgwidth’ height=’$imgheight’ alt=’”.ereg_replace(“['><]“,”",$row['title']).”‘>”;
     $row['imglink'] = “<a href=’”.$row['filename'].”‘>”.$row['image'].”</a>”;
     $row['fulltitle'] = $row['title'];
     $row['title'] = cn_substr($row['title'],$titlelen);
     if($row['color']!=”) $row['title'] = “<font color=’”.$row['color'].”‘>”.$row['title'].”</font>”;
     if(ereg(‘b’,$row['flag'])) $row['title'] = “<strong>”.$row['title'].”</strong>”;
     $row['textlink'] = “<a href=’”.$row['filename'].”‘>”.$row['title'].”</a>”;
     $row['plusurl'] = $row['phpurl'] = $GLOBALS['cfg_phpurl'];
     $row['memberurl'] = $GLOBALS['cfg_memberurl'];
     $row['templeturl'] = $GLOBALS['cfg_templeturl'];
    
     if(is_array($dtp2->CTags))
     {
      foreach($dtp2->CTags as $k=>$ctag)
      {
       if($ctag->GetName()==’array’) {
        $dtp2->Assign($k,$row);
       }
       else {
        if(isset($row[$ctag->GetName()])) $dtp2->Assign($k,$row[$ctag->GetName()]);
        else $dtp2->Assign($k,”);
       }
      }
      $GLOBALS['autoindex']++;
     }

     $artlist .= $dtp2->GetResult().”\r\n”;
    }
    //if hasRow
    else
    {
     $artlist .= ”;
    }
    if($col>1) $artlist .= ” </td>\r\n”;
   }
   //Loop Col
   if($col>1) $i += $col – 1;
   if($col>1) $artlist .= ” </tr>\r\n”;
}
//loop line
if($col>1) $artlist .= ” </table>\r\n”;
$dsql->FreeResult(“al”);
return $artlist;
}
?>

发表在 未分类 | 留下评论

栏目页按照栏目名称为关键词调用整站文章教程

在栏目页,如果栏目名称为“智能手机”,那么如果整站其他栏目里面含有“智能手机”这个关键词的文章都给调出来。方法如下 做个记号 以待后用。
将以下代码 复制到 include文件夹下的 common.func.php 里
function list_keyword($typename)
{
$tsql = new DedeSql(false);
$typename = ”;

$tsql->SetQuery(“Select id,title From #@__archives where keywords like ‘%$typename%’”);

$tsql->Execute(‘t’);

while($row = $tsql->GetArray(‘t’,MYSQL_ASSOC)){
$g=GetOneArchive($row['id']);
$typename .= ““.$g['arctitle'].” “;

}

return $typename;
}

然后再栏目页模板里使用 {dede:field.typename function=”list_keyword(@me)”/} 就可以了 经测试 5.6完全可用。

发表在 未分类 | 标签为 | 留下评论

“汽车违章”纯文本链接测试

SEO实验、一起见证 http://www.secmd.com SEO土匪的强大、杀光、抢光、烧光 /呵呵

  很久不更新了、其实一直来我都想写写文章,把在实战疑问、思路、方式、经验、策略等分享或提问出来,让大家一起共同来处理及思考。而随着搜索引擎的不断进步、SEO优化者也需要不断进步、如果说你现在还是停留在原地、那么你会随着时间而倒退或将被淘汰。

  今天为了做两个SEO测试:

  1、纯文本链接是否被抓取(主要)

  2、链接周边文字对链接影响(次要)

 SEO实验准备:

  1、各类着陆页网址(也就是实测试页面)

  2、外部链接引导(感谢支持小向的同学)

   注意:

       1、测试网址均为“纯文本”链接 (一定不要发有效链接

 测试文章及地址:

  ——————————————————————————–

  汽车交通违章是违反交通管理的行为。 凡是汽车、行人违反交通管理规章制度和机关、团体、企业、学校及其他组织或个人未经公安机关批准随意占用道路摆摊设点、停放汽车、堆物作业、搭棚盖房,以及进行集市贸易和其他妨碍交通的活动,均属汽车交通违章。

 介绍各地区违章查询网址:

  北京违章查询网 http://beijing-weizhang.carinfoblog.cn/

  长春违章查询网 http://Changchun-weizhang.carinfoblog.cn/

  长沙违章查询网 http://Changsha-weizhang.carinfoblog.cn/

  成都违章查询网 http://Chengdu-weizhang.carinfoblog.cn/

  重庆违章查询网 http://Chongqing-weizhang.carinfoblog.cn/

  大连违章查询网 http://Dalian-weizhang.carinfoblog.cn/

  东莞违章查询网 http://Dongguan-weizhang.carinfoblog.cn/

  佛山违章查询网 http://Foshan-weizhang.carinfoblog.cn/

  福建违章查询网 http://Fujian-weizhang.carinfoblog.cn/

  福洲违章查询网 http://Fuzhou-weizhang.carinfoblog.cn/

  注意:凡使用旧版驾驶证的司机朋友查询时需要在原八位档案编号前加3100,即如果您的档案编号为04119602,那么您需要输入310004119602方能查询。

  【 请输入正确的档案编号,否则您将得到错误的查询结果。(本汽车违章查询系统查询的对象为在注册的机动车驾驶员。) 】

  1.为了保护您的信息安全,请同时输入车牌号及发动机号。(当前新版本采用手机验证,不需要输入发动机号 )

  2.发动机号请按实际长度输入,包含“*”等符号,无需输入空格,请注意行驶证上数字“1”和字母“I”的区别。

  3.电子监控查询结果中的《法》全称为 《中华人民共和国道路交通安全法》,《条例》全称为《中华人民共和国道路交通安全法实施条例》

  4.交通违法行为发生后,由于涉及数据采集、整理、审核等需要十个工作日,数据录入、传输等需要三个工作日,故建议您在十三个工作日后上网查询。感谢您的支持和配合!

  5.交通违法行为处理后,由于数据传输等工作程序,建议您在二个工作日以后上网查询。感谢您的支持和配合!

  (以上工作日是指法定标准工作日)

  ———————————————————————————

 文章最终实验地址:

 SEO土匪 http://www.secmd.com SEO土匪 【转载请带地址、要不就不用转】

  1、SEO土匪 http://www.secmd.com SEO土匪 【想共同看到结果、就动手转载】

  2、SEO土匪 http://www.secmd.com SEO土匪 【一个的实验起不了浪、多人才能冲浪】

  3、SEO土匪 http://www.secmd.com SEO土匪 【感谢转载的同学、你们与我共同见证】

  4、SEO土匪 http://www.secmd.com SEO土匪 【就是为了堆积、你来打我】

  5、SEO土匪 http://www.secmd.com SEO土匪 【以上内容纯属“玩笑”、低调】

发表在 未分类 | 留下评论

王通:提升销售转化率的关键一招

曾有一个保健品B2C网站,日流量两三万IP,月销售额仅有10万,创办这个网站的哥们找我喝茶,我给他了非常简单的一招。使用后,销售额立刻飙升到了30万以上。据说,这个因素影响着消费者60%的购买决策,使用,转化率提升效果立竿见影。

这招其实很简单,简单到不可思议的境界,因为这是绝大部分人都知道但是容易被忽视的技巧。所以在讲这招之前,先讲一个在电商界更为经典的案例。

三狼啸月的热销传奇

在几年前,亚马逊网站中,一件超级普通的不起眼的t血衫在很短内,突然变成为电子商务史上最畅销的一件产品之一,并且在很短的时间内,迅速成为了亚马逊网站销售排行榜的第一名。

到底是什么原因让这件产品有了如此神奇的力量呢?

没有超级NB的策划,一切都是偶然的,偶然的来自于这件产品的第一条非常非常重要的有创意的评论,

此条NB的评论内容如下:

“这件『三狼啸月』因为有印狼的关系,所以让它由内而外完全散发着甜蜜的感觉,因此本身就绝对值了五颗大星星。不过当我买来试穿后,我才感受到更神奇的魔术。当我确定这件T把我的肥肚盖好后,我就出门去Wal-Mart逛逛,然后马上就有女孩跑来和我搭讪!这些女孩都从我的T恤上的狼儿感觉到我就像一个神秘的独行侠,偶尔还准时对着月亮吠叫,她们都问问我可否成为我的女朋友,但我马上就悍然说NO,狼是没有这么轻易被勾搭上的!

然后,我继续穿着我的『三狼啸月』走在大卖场里,终于碰到一位身材火辣的女孩,她告诉我,她真的很喜欢我身上的这些野狼,然后我们就开车回家了……啊,谢谢你,我的『三狼啸月』!“

优点:这件T恤…穿在我健肥的身上刚刚好,有狼儿在上面,可吸引女人。
缺点:只有三只狼,略显不足。当我手一叉在胸前,就看不到狼儿了。如果这些狼儿在黑黑的房间中能发亮那就更棒了。

此条评论,犹如一个导火索,迅速吸引其他网友前来写了更多的好玩的有趣的超级创意的评论,例如:

三狼啸月穿在身上,我的防御增加了10点,我的力量也增加了8点,飞跃值达到30英尺(貌似电车男所好,呵呵!)。

由于拥有三狼啸月T恤,我已经在我的城市成功解决了7宗案件,其中包括4起命案。

我被投诉了,必须老实的在家呆几天,通知说数以百计的妇女突然怀孕,他们领着我的孩子,排了12英里的长队。

当我第一次穿上这件衣,我老婆就离开我了!谢谢你啊,三狼啸月!

… …

于是,此件t血衫就越来卖的越火,越来越流行了!

这个案例,也许你看过,也许你没有看过,都没有关系,关键是你要从中看到评论的力量,在评论的力量背后,有两条重要的因素:

1、 情绪会传染

2、 评论是影响消费者购买决策的重要因素

回到文章开头提到的那个案例,答案非常简单:

我让哪位哥们回去做以下事情:模拟客户给每个产品写上10条以上的用户评论,内容主要是使用感受为主,以及对产品的夸奖,以及对网站好的建议等等。

因为他网站虽然有评论功能,但是原来几乎没有什么评论,普通用户登录一看,发现连评论都没有,说明没有人买这个产品,于是就会从犹豫中走掉。

就这么简单的一招,在他的网站流量不变的情况之下,销售额增长了3倍,简单到!

看到这里,你也许会说:这个没什么啊,早就知道了!

那么,我现在要问你的是:你做了没有?

如果你没有做,不管你知道的再多,和不知道没有什么区别!

现在,请你立刻打开你的网站,看看你的产品评论,是否是空的?

如果是,立刻操作一下,一周之内,你就立刻可以看到转化率的提升。

如果你已经有一些评论了。你要看一看:

1、是否足够多的能够制造出热销的气氛?

2、是否吸引人,专门去做销售引导了么?

狠狠做吧?

认真的试一试,你将立刻有收获。

发表在 未分类 | 留下评论