在DeDecms(DedeCMS)中,防采集混淆字符串是一种常见的防止内容被恶意采集的方法,默认情况下,这个功能会对SEO产生不利影响,因为搜索引擎蜘蛛可能会误判这些混淆字符为隐藏文本,需要一种方法来控制混淆字符串的添加次数,使其只添加一次。
修改方法步骤
1、定位文件:找到并打开include/downmix.inc.php
文件。
2、查找代码:在第60行开始查找以下代码段:
$bodylen = strlen($body) 1; $prepos = 0; $rndtime = 1; // 添加混淆字符串的次数 $rndtimei = 0; for ($i = 0; $i <= $bodylen; $i++) { if ($i + 2 >= $bodylen || $i < 50 && $rndtimei < $rndtime) { $reString .= $body[$i]; } else { $ntag = @strtolower($body[$i] . $body[$i + 1] . $body[$i + 2]); if ($ntag === '</p' || ($ntag === '<br' && $i $prepos > $maxpos)) { if ($rndtimei < $rndtime) { // 次数控制 $rndtimei++; $dd = mt_rand(1, 4); $emname = $rndem[$dd]; $dd = mt_rand(1, $totalitem); $rnstr = $rndstring[$dd]; if ($emname !== 'font') { $rnstr = " <$emname class='$rndstyleName'>$rnstr</$emname> "; } else { $rnstr = " <font color='$fontColor'>$rnstr</font> "; } $reString .= $rnstr . $body[$i]; $prepos = $i; } else { $reString .= $body[$i]; } } else { $reString .= $body[$i]; } } }
3、修改代码:将$rndtime = 1;
这一行改为$rndtime = 0;
,这样混淆字符串只会被添加一次。
$rndtime = 0; // 只添加一次混淆字符串
4、保存文件:保存include/downmix.inc.php
文件。
注意事项
备份文件:在进行任何修改之前,确保已经备份了原始文件,以防出现意外情况时能够恢复。
测试效果:修改完成后,建议在本地或测试环境中进行充分测试,确保防采集效果和网站功能正常。
定期检查:定期检查网站日志和流量数据,确保防采集措施有效,并根据需要进行调整。
FAQs
1、Q: 为什么要控制防采集混淆字符串的添加次数?
A: 控制防采集混淆字符串的添加次数可以减少对SEO的负面影响,如果混淆字符串添加过多,可能会被搜索引擎蜘蛛误判为隐藏文本,从而影响关键词排名和页面质量评分,通过减少添加次数,可以在不影响防采集效果的前提下,尽量保持页面的SEO友好性。
2、Q: 修改后是否需要重启服务器?
A: 不需要,由于PHP是解释型语言,修改后的代码会在下一次请求时自动生效,无需重启服务器,但建议在修改后清除缓存并进行测试,以确保修改生效且没有引入新的问题。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1229436.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复