《动易网站管理系统》是动易网络科技有限公司基于ASP+COM技术独立开发的网站管理系统,是一个经过完善设计并适用于各种服务器环境的高效、全新、快速和优秀的网站解决方案。
动易网络科技有限公司具有丰富的WEB应用程序设计开发经验,尤其在网站管理系统开发及相关领域,经过长期创新性开发,掌握了一整套从算法、数据结构到产品安全性方面的领先技术,使得《动易网站管理系统》无论在稳定性、负载能力、安全保障等方面都居国内外同类产品领先地位。《动易网站管理系统》人性化的设计理念,使网站的架设极其容易,网站的管理极其轻松!
《动力文章管理系统》系统经过几次飞跃性改进,在功能上得到了极大的提升与增强,广泛适应企业、政府、学校等不同群体及个人的建站需要!特别优化的模块化体系结构,强大的HTML生成功能、便捷的后台管理、以人为本的设计理念……每一处都显现出与众不同的经典创意和追求完美的编程思想。
作为商业软件产品,《动易网站管理系统》在代码优化、运行效率、负载能力、安全等级、功能可操控性和权限严密性等方面,赢得了广大用户的良好口碑。动易网络科技有限公司凭借长期积累的丰富的WEB开发及数据库经验,本着强于创新追求完美的设计理念,使得动易网站管理系统在很短时间内以其鲜明的个性特色从国内外同类产品中脱颖而出。经过效率最优化和负载能力最佳化设计的动易网站管理系统,现已获得业内越来越多专家和权威企业的认可。
最近我手头一个网站的内容页面超过10万个,由于一直在百度和Google等主要搜索引擎上的收录率不佳,因此今天突然萌生了一个想法,能否写一个可以在首页随机调用文章数据库指定数量URL的标签,以增加向搜索引擎的展示率,这样每次搜索引擎蜘蛛在索引的时候,都可以看见不同的页面,可以增加爬行的几率,进而提高收录率。
一、让网页显示随机排布文章标题列表的方法1(适合SQL数据库)
由于采用的是动易网站管理系统,因此便咨询了雨哲,发现这个思路是可行的,也有其他人已经写出了相应的标签,不过效率比较低,雨哲给出了简单的解决方案:
首先,在后台直接增加动态标签,查询语句为:select top 100 ArticleID,Title from PE_Article where Deleted = {$PE_False} and Status =3 order by newid() desc,如果要随机调用200篇文章,直接将top 100改为top 200即可。
其次,设置标签内容(即添加动态标签第二步的循环内容)为:{Loop}{Infobegin}{$Field(0,GetUrl,Article,3)}
{Infoend}{/Loop} 。
最后,提醒注意下,因为动态标签有缓存,生成的时候必须先更新下站点的缓存。
让动易CMS随机排序文章标题列表_动易cms
经过独孤天骄的实地测试,以上方案完全通过,效果很完美:)。
由于自定义标签只有sql可以使用随机标签,因此以上方案仅仅适合动易SQL版本。主要思路就是在查询语句时用newid() ,排序上使用随机来实现。
二、让网页显示随机排布文章标题列表的方法2(适合SQL数据库)
网友小码哥提供了另外一种让网页显示随机排布的文章标题列表的方法,让网站页面上显示出的文章标题列表能够随着页面的不时刷新,同时也发生变化。 这个方案可以细致到某个频道的某个栏目的随机文章:
步骤也很简单:
1、添加标签:{$MY_产生本月某栏目随机文章}。这里的标签名称可以自定义。
2、查询语句写为:select top 10 ArticleID,ClassID,Title,UpdateTime from PE_Article where ChannelID ={input(0)}?and DateDiff(day,UpdateTime,getdate())<30 and Deleted=0 and Status=3 Order by newid()
3、标签内容写为:
{Loop}{Infobegin}
{$Field(2,Text,22,2,1)}
{Infoend}{/Loop}
4、模板调用
在网页需要位置写入{$MY_产生本月某栏目随机文章(1002)},其中1002对应的就是我们的动易频道ID,可以根据自己实际修改。查询语句中 DateDiff(day,UpdateTime,getdate())<30中的“30”是查询一个月内的文章,这个数值可以根据网站自己实际情况做调整。
三、让网页显示随机排布文章标题列表的方法3(适合ACCESS数据库)
需要注意的是,以上独孤天骄和网友小码哥给出的两种解决方案都仅可以应用于SQL数据库,不适合AC数据库。如果您采用的是动易ACCESS版的随机文章列表,可以参见网友arko提供的技术解决方案:
首先,需要注意的是,这时在后台自定义标签管理里新建的是一个函数标签,标签名称可以命名为{$MY_随机文章}。
查询语句设置为:(“top10”中的10是要查询的文章数,可以自己改,但不建议修改得太大;如果不想按栏目调用,而是调用某一个频道下的文章,那么可以把ChannelID in ({input(0)}) and ClassID in ({input(1)}) 修改为:ChannelID in ({input(0)}) ,相应的,调用标签就是:{$MY_随机文章(频道ID)}了 ;“DateDiff("d",date(),UpdateTime)<7”中的7是指查询最近7天的文章,根据需要修改;)
select top 10 ArticleID,ClassID,Title,UpdateTime from PE_Article where ChannelID in ({input(0)}) and ClassID in ({input(1)}) and DateDiff("d",date(),UpdateTime)<7 and Deleted={$PE_False} and Status=3 Order by right(cstr(Rnd(-int(ArticleID+rnd(-timer())*100)))*1000*Now(),2);
标签内容设置为:
{Loop}{Infobegin}
{$Field(2,Text,44,2,1)}
{Infoend}{/Loop}
其次,在模板里适当位置加入{$MY_随机文章(频道ID,栏目ID)}即可进行调用,其中频道ID、栏目ID可以根据自己实际进行修改。
让动易CMS随机排序文章标题列表_动易cms
需要注意的是,好的效果是在损失性能的前提下实现的,不比SQL数据库的动态标签,这个标签的代码效率很低,虽然标签保证了随机性,如果是生成静态的,那生成的每个页面都不一样,每次生成也都不一样。但是虚拟主机用户当CPU峰值小于5%的时候,而你又要生成静态页面的话,生成文章超过700篇就有可能造成进程当机了。建议在生成大量静态页面的时候,寻找访客较少的时候进行,并且一次尽量少生成一些。也可以修改动易安装目录下的Config.asp文件:
Const MaxPerPage_Create = 10 '一次生成的数量,把他改小一些,Const SleepTime = 3 '生成的间隔时间,把他改大一些。