DEDEcms实现完全随机调用不同文章的原理

  用过织梦的人都知道,织梦CMS很适合做资讯站,生成静态网页以后,一个小小的虚拟主机都能拉动上万IP的资讯站,这是静态网页的好处,只占用带宽,而虚拟主机共享带宽让你有机会用充足的带宽。

  不过,生成静态网页以后,网页中调用的文章标题会固定,好比推荐文章、最近更新文章,同时更新的网页调用的文章标题都相同,这让搜索引擎很容易发现推荐文章、最近更新文章,从而收录这部分网页;如果是更新很久的文章,便没有机会再次让搜索引擎发现,之前没被收录,现在同样不被收录。

  为解决这个问题,可以采用随机调用文章的方法来实现;随机调用文章的方法很简单,随机从某个栏目或者全站调用指定数量的文章,再随机排序即可。其中,typeid表示栏目ID,row表示要调用的数目,titlelen表示标题的长度,orderby表示排序规则,这里rand便是随机。

{dede:arclist typeid='2' row=‘12’ titlelen='60' orderby='rand'}[field:pubdate runphp='yes'] $a="";$b=""; $c=strftime("%m/%d","@me"); $ntime = time(); $oneday = 3600 * 24; if(($ntime - @me)<$oneday) @me = $a.$c.$b; else @me =$c; [/field:pubdate]·[field:title/]{/dede:arclist}

  上面这段代码即可实现随机调用文章标题。不过,随机对所有同时更新的网页都有效,简单来说所有网页随机取到的结果都一样,是12篇相同的文章标题,只是后面的排序有所不同,好比一个网页调用出来的顺序是:文章A、文章B、文章C,而另一个网页调用出来的顺序是:文章C、文章A、文章B。

  对于搜索引擎来说,这种随机调用出来的文章标题没多大意义,还是不能让搜索引擎发现更多的文章;如果你的网站权重不够高,搜索引擎没那么多时间按照“上一篇、下一篇”文章的顺序来爬遍你的文章,所以要让每个网页随机调用出来的文章标题不同,这样让更多网页有机会被搜索引擎爬过。

  要实现真正的随机调用,我们可以这样考虑,先随机调用10000个网页,对同时更新的网页而言,随机调用到的都是10000篇文章,只是排序有所不同;既然排序有所不同,我们取排在最前面的12篇文章即可,这样便可以真正实现随机调用12篇文章标题。下面是实现完全随机地调用文章的代码。

   {dede:arclist typeid='2' row=‘12’ titlelen='60' orderby='rand'}[field:pubdate runphp='yes'] $a="";$b=""; $c=strftime("%m/%d","@me"); $ntime = time(); $oneday = 3600 * 24; if(($ntime - @me)<$oneday) @me = $a.$c.$b; else @me =$c; [/field:pubdate]·[field:title/]{/dede:arclist}

  上面的typeid表示栏目,栏目ID为2,如果不限制栏目,全站随机调用,那么把2修改为rand即可;pagesize这个标签原本出现在列表页,按规则对列表页文章进行排序,放到内容页位置,同样有效。这些测试在dedecms v5.6和5.7版本中有效,至于更早的版本,目前没有做过测试,不清楚有没有效。

  {dede:arclist typeid='2' row='10000' pagesize='12' titlelen='60' orderby='rand'}[field:pubdate runphp='yes'] $a=""; $b=""; $c=strftime("%m/%d","@me"); $ntime = time(); $oneday = 3600 * 24; if(($ntime - @me)<$oneday) @me = $a.$c.$b; else @me =$c; [/field:pubdate]·[field:title/]{/dede:arclist}

  我们可以进一步实现typeid的随机调用,实现每个网页都随机调用到不同的文章,你的文章数目越多,可以把row的数值设到越大,这样全站更新后,随机调用到的结果会更丰富;另外,建议一个网页有一个随机调用文章的区域即可,同时还有推荐文章、相关文章,这样会让搜索引擎发现你推荐文章的同时,发现部分老文章,从而让网站收录率更高。本文由淘宝网女装(http://www.121h.com)提供,随机调用文章的效果可以去我的网站看看,欢迎转载分享文章,请保留作者链接,谢谢!

时间: 2024-10-28 16:02:20

DEDEcms实现完全随机调用不同文章的原理的相关文章

wordpress随机调用显示文章的方法

方法一:采用wordpress内置函数,在需要的时候直接调用以下代码:  代码如下 复制代码 <ul> <?php $rand_posts = get_posts('numberposts=5&orderby=rand'); foreach( $rand_posts as $post ) : ?>    <li>         <a href="<?php the_permalink(); ?>"><?php

dedecms随机调用文章数据方法总结

方法一,直接利用artlist中的orderyb=rand 即可实例 例  代码如下 复制代码 {dede:arclist row=10 orderby=rand} <li><a href="[field:arcurl/]" target="_blank">[field:title/]</a></li>{/dede:arclist} 方法二,利用自定做法 1.增加以下dedecms自定义标签 randarc  代码如下

dedecms如何随机调用指定分类下的文章到网站首页

dedecms是全静态的,有时会因为其他事情好几天没写文章推荐到首页,那样对se不是很友好.原本ytkah是想在网站首页上半部分调用几篇id从200到500的文章随机展示的,这样每次更新首页给se的赶脚像是有添加新的文章了,但测试了很久也没实现出来,在网上search了貌似也没找到相关的解决方案,哪位高手知道的麻烦告诉ytkah一下哈!用帝国cms建的站?参考帝国cms调用随机文章 支持一个id段内的调用 能力有限,只能求其次了,那就随机调用某个分类下的文章展示了,在当前模板index.htm添

三种dedecms调用相关文章的方法

在文章的末尾或侧边栏添加相关文章可以提高用户的黏度,提高pv,增加se的好印象(哈哈),那么dedecms如何调用相关文章呢?有三种方法可以实现. 第一种dedecms调用相关文章的方法,用默认的likearticle {dede:likearticle row='6' titlelen='40'} <li><a href="[field:arcurl/]" title="[field:title /]">[field:title /]<

wordpress调用最新文章一些方法总结

第一种方法 WordPress最新文章的调用可以使用一行很简单的模板标签wp_get_archvies来实现. 代码如下:  代码如下 复制代码 <?php get_archives('postbypost', 10); ?> (显示10篇最新更新文章) 或 <?php wp_get_archives('type=postbypost&limit=20&format=custom'); ?> 后面这个代码显示你博客中最新的20篇文章,其中format=custom这

帝国cms文章页调用当前文章URL如何操作?

前面我们讨论过dedecms文章页调用地址(当前文章URL)如何操作,作为同台竞技的帝国cms也能在文章页调用当前文章URL吗?答案是肯定的!那就随ytkah一起来探索一下吧 帝国cms模板是在后台直接编辑写入数据库,不支持ftp传输修改模板文件.打开后台 - 模板 - 模板管理 - 内容模板,在相应的地方加上如下代码 http://www.***.com[!--titleurl--] [!--titleurl--]是一个标签参数,可以直接调用,注意不要在前方加斜杠/,本身已经有了. 保存模板,

JS随机调用指定函数的方法

  本文实例讲述了JS随机调用指定函数的方法.分享给大家供大家参考.具体如下: 本代码通过随机定时器调用指定函数,可达到间隔随机时间之行指定的函数的目的 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 function randRange(data) { var newTime = data[Math.floor(data.length * Math.random())]; return newTime; } function toggleSomething() { var ti

急求解决-数组储存单词 并且将单词随机调用出来

问题描述 数组储存单词 并且将单词随机调用出来 怎么用数组定义储存100个单词 并且把这些单词随机的调用出来 解决方案 在C++中定义string数组如:string[101],然后通过random()产生随机数n,通过sting[n]即可调出单词,当然具体实现要自己想一下. 解决方案二: 纯粹C语言的话,可以用字符串数组加上hash算法.c++的话可以用map.总之就是建立单词与它数组下标的映射. 解决方案三: 使用Random函数计算出随机的数组位置

ZBLOG PHP调用相关文章列表以及上一篇/下一篇文章代码

如果是比较小的个人博客.专题类网站项目,老蒋还是比较喜欢使用ZBLOG PHP程序的,无论是轻便度还是易用性上比WordPress简单很多,虽然WP的功能很强大,比如强大的插件和主题丰富功能是当前最为强大的博客类CMS程序,但是有些时候为了节省服务器资源和简单项目使用,还是建议尝试一些小巧的CMS.   如果我们自建ZBLOG PHP主题,或者下载到的免费主题,可能没有上一篇/下一篇的调用,以及单页面文章中的相关文章的调用,这样一来用户体验不是很好,二来不利于搜索引擎的文章相关度调用.所以老蒋把