很多泛目录程序都给模板添加了干扰码,站干扰以小旋风蜘蛛池为例,群程只要开了模板干扰,模板模板就会自动加一些无意义的添加div参数。
高端的代码seo一般都知道模板中的class添加随机字母,进行模板伪原创有利于seo优化和收录。站干扰
模板伪原创class添加随机字母作用是群程:让搜索引擎觉得网站的页面模板代码是独一无二的。
我们建站大多数是模板模板用各大cms的开源模板或者是cms里面的应用中心购买模板进行建站,这些模板都是添加成千上万人在用,对于seo优化各大搜索引擎收录和排名不大好(不是代码唯一不利于优化因素)。
不难发现市面高收录快速出权重的站干扰站,偶尔能看到他们的群程站点的模板里的class标签是有很多不一样的随机字母。
因为最近有小伙伴有这个需求,模板模板我就把代码放出来给大家参考。添加
模板干扰效果图
模板干扰代码
下面分享Zblog模板中可以调用的div class干扰码php的代码。
function template_class_code_v2($values, $format) { global $tp_code_index; if (is_null($tp_code_index)) { $tp_code_index = 0; } $classValue = ''; if (isset($values[$tp_code_index])) { $classValue .= $values[$tp_code_index]; } else { $tp_code_index = 0; $classValue .= $values[$tp_code_index]; } if ('unique' != $format) { $classValue .= '-'; } if (isset($values[$tp_code_index + 1])) { $classValue .= $values[$tp_code_index + 1]; } else { $tp_code_index = 0; $classValue .= $values[$tp_code_index]; } if ('unique' != $format) { $classValue .= '-'; } if (isset($values[$tp_code_index + 2])) { $classValue .= $values[$tp_code_index + 2]; } else { $tp_code_index = 0; $classValue .= $values[$tp_code_index]; } if ('unique' != $format) { $classValue .= '-'; } if (isset($values[$tp_code_index + 3])) { $classValue .= $values[$tp_code_index + 3]; } else { $tp_code_index = 0; $classValue .= $values[$tp_code_index]; } $tp_code_index++; return $classValue; } function template_replace($html) { # 此判断是是防止 zblogx 未初始化导致的 "字符串通过函数调用" $mode = 'static'; $format = "unique"; $mode = is_null($mode) ? 'static' : $mode; // 防止更新后默认为动态 $fullUrl = "http://".$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $string = md5($fullUrl) . sha1($fullUrl); $codeValues = template_text_chunk($string, 2); if ('static' != $mode) { shuffle($codeValues); // 非静态重新洗牌 } # 针对双引号 start-end preg_match_all('/class=\"(.*?)\"/i', $html, $result); $class = $result[0]; $html = preg_replace('/class=\".*?\"/', '{ FLAG}', $html); foreach ($class as $item) { $item = str_replace('"', '', $item); // 保证 空的 class 能补全 $item = str_replace('=', '="', $item); $item = str_replace('class="', '', $item); $code = template_class_code_v2($codeValues, $format); $newClass = 'class="' . $code . ' ' . $item . '"'; $html = preg_replace('/\{ FLAG\}/', $newClass, $html, 1); } # 针对单引号 start-end preg_match_all("/class=\'(.*?)\'/i", $html, $result); $class = $result[0]; $html = preg_replace("/class=\'.*?\'/", '{ FLAG}', $html); foreach ($class as $item) { $item = str_replace("'", '', $item); $item = str_replace('=', "='", $item); $item = str_replace("class='", '', $item); $code = template_class_code_v2($codeValues, $format); $newClass = "class='" . $code . ' ' . $item . "'"; $html = preg_replace('/\{ FLAG\}/', $newClass, $html, 1); } return $html; }
如果做正规战一般不建议大家添加这种代码,有时间研究这个,不如根据自己的需要修改一下自己的模板就可以了。