文章采集调用( DedeCMS跳转链接实际指向是哪里呢?秀站网秀)

优采云 发布时间: 2021-11-23 18:07

  文章采集调用(

DedeCMS跳转链接实际指向是哪里呢?秀站网秀)

  

  在Dedecms中,文章模型经常使用jump[j]属性,但是前台显示的链接是动态的URL地址,搜索引擎会跟着爬,而是跳转发送。这个链接实际上指向哪里?王秀展 王秀展做了一个实验。这个链接返回的HTTP状态码是302,是临时跳转。这个跳转链接其实很不友好。对于站点,页面上有多个指向实际 URL 的 URL;如果是站外链接,很容易分散权重。

  调用文章的一般方法如下,不修改源文件。

  {dede:arclist addfields='redirecturl' channelid='1'}

][field:title/]

{/dede:arclist}

  这里的链接修改为站内和站外直接调用Jump[j]引用的URL,站外调用nofollow。

  需要用到的是通用的[field:array]标签,可以用在任何Dedecms默认标签中,特别适合多条件判断。

  {dede:arclist addfields='redirecturl' channelid='1'}

[field:array runphp='yes']

if(@me['redirecturl'] !=''){

@me = ' . ']' . @me['title'] . '';

}else{

@me = ' . ']' . @me['title'] . '';

};

[/field:array]

{/dede:arclist}

  dedecms的{dede:list}标签不能直接调用redirecturl字段,需要修改源程序

  打开/include/arc.listview.class.php,找到(复制时请删除分隔符)

  //如果不用默认的sortrank或id排序,使用联合查询(数据量大时非常缓慢)

if(preg_match('/hot|click|lastpost/', $orderby))

{

$query = "SELECT arc.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,

tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath

$addField

FROM `#分隔符@__archives` arc

LEFT JOIN `#分隔符@__arctype` tp ON arc.typeid=tp.id

$addJoin

WHERE {$this->addSql} $ordersql LIMIT $limitstart,$row";

}

  在这段代码之前,添加

  $addField .= ','.$addtable.'.redirecturl';

  调用方法

  {dede:list row='1' addfields='redirecturl' orderby='pubdate'}

][field:title/]

{/dede:list}

  也可以增加该字段的判断,调用跳转地址,不再赘述。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线