打开此文件后,找到【//写入Tag索引】与【InsertTags($dsql,$tag,$arcID,0,$typeid,$arcrank);】之间的位置,插入以下代码:
if($autokey==1){
require_once(DEDEADMIN."/../include/pub_splitword_www.php");
$tag = "";
$sp = new SplitWord();
$titleindexs = explode(" ",trim($sp->GetIndexText($sp->SplitRMM($title))));
//$allindexs = explode(" ",trim($sp->GetIndexText($sp->SplitRMM(Html2Text($body)),200)));
if(/*is_array($allindexs) && */is_array($titleindexs)){
foreach($titleindexs as $k){
if(strlen($tag)>=50) break;
else $tag .= $k." ";
}
/*foreach($allindexs as $k){
if(strlen($keywords)>=50) break;
else if(!in_array($k,$titleindexs)) $keywords .= $k." ";
}*/
}
$sp->Clear();
unset($sp);
//$tag = preg_replace("/[^a-zA-Z0-9_\\x7f-\\xff]/", " ", $tag);
}
为了确保代码正常运行,请确认以下几点: 1. 确保`pub_splitword_www.php`文件存在于指定路径下。如果没有,请上传该文件或检查路径是否正确。
2. 如果希望从文章正文提取更多关键词,可以取消注释相关代码行(如`$allindexs`部分),并根据需求调整逻辑。
3. 在实际部署前,建议先在测试环境中验证代码功能,以避免影响线上服务。
完成上述修改后,每次发布新文章时,系统将自动根据标题生成标签,无需手动操作。这种自动化方式不仅节省了时间,还提高了标签的准确性和覆盖面,有助于搜索引擎更好地理解页面内容,进而提升网站的整体排名。
最后,记得备份原始文件,以便在出现问题时能够快速恢复。通过这些步骤,您可以轻松实现DedeCMS的自动标签功能,进一步优化网站的SEO表现。