1.新增变量百度站长平台token:cfg_badutoken网站域名:cfg_baiduhost2.打开:/dede/article_add.php搜索:$artUrl=MakeArt($arcID,true,true,$isremote);if($artUrl==''){$artUrl=$cfg_phpurl."/view.php?aid=$arcID";}在下面加入:else{$urls[]='http://'.$cfg_baiduhost.'/'.$artUrl;$api='http://data.zz.baidu.com/urls?site='.$cfg_baiduhost.'&token='.$cfg_badutoken;$ch=curl_init();$options=array(CURLOPT_URL=>$api,CURLOPT_POST=>true,CURLOPT_RETURNTRANSFER=>true,CURLOPT_POSTFIELDS=>implode("\n",$urls),CURLOPT_HTTPHEADER=>array('Content-Type:text/plain'),);curl_setopt_array($ch,$options);$result=curl_exec($ch);}搜索:<ahref='catalog_do.php?cid=$typeid&dopost=listArchives'><u>已发布文章管理</u></a>在下面加入:<u>百度提交返回".$result."</u> 打开:/dede/article_edit.php搜索:$artUrl=MakeArt($arcID,true,true,$isremote);if($artUrl==''){$artUrl=$cfg_phpurl."/view.php?aid=$arcID";}在下面加入:else{$urls[]='http://'.$cfg_baiduhost.'/'.$artUrl;$api='http://data.zz.baidu.com/update?site='.$cfg_baiduhost.'&token='.$cfg_badutoken;$ch=curl_init();$options=array(CURLOPT_URL=>$api,CURLOPT_POST=>true,CURLOPT_RETURNTRANSFER=>true,CURLOPT_POSTFIELDS=>implode("\n",$urls),CURLOPT_HTTPHEADER=>array('Content-Type:text/plain'),);curl_setopt_array($ch,$options);$result=curl_exec($ch);}搜索:<ahref='catalog_do.php?cid=$typeid&dopost=listArchives'><u>管理文章</u></a>在下面加入:<u>百度提交返回".$result."</u> 完成,最后附加个百度自动推送代码,只需要把以下js做到每个页面的html中即可,自动推送和主动推送可以同时使用,进行互补。<script>(function(){varbp=document.createElement('script');varcurProtocol=window.location.protocol.split(':')[0];if(curProtocol==='https'){bp.src='https://zz.bdstatic.com/linksubmit/push.js';}else{bp.src='http://push.zhanzhang.baidu.com/push.js';}vars=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(bp,s);})();</script>
开启自动内链:1.后台-采集-文档关键词维护添加关键词及链接2.后台-系统基本参数-核心设置关键字替换选是3.后台-系统基本参数-其他选项文档内容同一关键词替换次数(0为全部替换):设置1修复内链重复代码错误,如dede和dedecms,容易出现a链接重叠导致代码错误。参考官方帮助:http://help.dedecms.com/install-use/apply/2012/0828/2319.html5.7版本(版本信息:V5.7SP2正式版(2018-01-09))1.找到include/arc.archives.class.php这个文件2.大概在2500行左右,有这样一行代码$string=str_replace('\"','"',$string);在这行代码下方加入以下代码uasort($words,create_function('$a,$b','returnstrlen($a)>strlen($b);'));意思是先替换比较短的词,然后再匹配替换长的词。这样就不会出现代码重叠的错误了。具体情况由于dede更新会经常变化,而且dede在处理这个问题又夹杂着php版本判断问题,导致网上很多方法都是无效的,如果以上处理后还是错误建议尝试在arc.archives.class.php搜索5.5.0,替换为7.5.0,如果问题还是存在建议搜索网络中“dede自动内链,文档关键词维护重叠错误”等关键词查找php版本解决方案。或见http://www.hack001.com/post/454最后备注一个文档关键词维护批量删除的sql语句:Deletefromdede_keywordsWHEREaid>=1andaid<=1000;意思是删除掉文档关键词中id大于1小于1000的所有文档关键词,数值可以根据自己的需要来修改全部清空:Deletefromdede_keywords如果要删除搜索词,也是上面语句,表名为:dede_search_keywords
关键词内链开启步骤后台-系统-核心设置-关键字替换【是】后台-系统-其他选项-关键词替换次数【1】关键词长短优先级问题比如有“长词”、“我是大长词”、“我是小长词”,同时在一篇文章中出现,程序会优先使用短的词。解决关键词长短优先级问题的方法打开/include/arc.archives.class.php找到$query="SELECT*FROM#@__keywordsWHERErpurl<>''ORDERBYrankDESC";复制1改成$query="SELECTchar_length(keyword)ASnum,aid,keyword,rpurl,rankFROM#@__keywordsWHERErpurl<>''ORDERBYnumDESC";复制1继续找到"#".preg_quote($word)."#"复制1改成"#(?<!>)(?!<)".preg_quote($word)."#"复制1完成最终效果PHP版本高于5.5无法使用关键词內链的解决方法打开/include/arc.archives.class.php找到$body=@preg_replace_callback("#(^|>)([^<]+)(?=<|$)#sU","_highlight('\\2',\$karr,\$kaarr,'\\1')",$body);复制1改成global$cfg_replace_num;if($cfg_replace_num>0){$query="SELECTchar_length(keyword)ASnum,aid,keyword,rpurl,rankFROM#@__keywordsWHERErpurl<>''ORDERBYnumDESC";$this->dsql->SetQuery($query);$this->dsql->Execute();while($row=$this->dsql->GetArray()){$key=trim($row['keyword']);$key_url=trim($row['rpurl']);$body=str_replace_limit($key,"<ahref='$key_url'target='_blank'><u>$key</u></a>",$body,$cfg_replace_num);}}else{$query="SELECTchar_length(keyword)ASnum,aid,keyword,rpurl,rankFROM#@__keywordsWHERErpurl<>''ORDERBYnumDESC";$this->dsql->SetQuery($query);$this->dsql->Execute();while($row=$this->dsql->GetArray()){$key=trim($row['keyword']);$key_url=trim($row['rpurl']);$body=str_replace($key,"<ahref='$key_url'target='_blank'><u>$key</u></a>",$body);}}复制12345678910111213141516171819202122232425继续找到//高亮专用复制1在它上面加入//指定替换次数功能functionstr_replace_limit($search,$replace,$subject,$limit){if(is_array($search)){foreach($searchas$k=>$v){$search[$k]='#(?<!>)(?!<)'.preg_quote($search[$k],'#').'#';}}else{$search='#(?<!>)(?!<)'.preg_quote($search,'#').'#';}returnpreg_replace($search,$replace,$subject,$limit);}复制12345678910111213141516完成转自:https://www.dedehtml.com/notes/keywords-seo.html王健简化版:后台-系统-核心设置-关键字替换【是】后台-系统-其他选项-关键词替换次数【1】打开/include/arc.archives.class.php找到$query="SELECT*FROM#@__keywordsWHERErpurl<>''ORDERBYrankDESC";改成$query="SELECTchar_length(keyword)ASnum,aid,keyword,rpurl,rankFROM#@__keywordsWHERErpurl<>''ORDERBYnumDESC";继续找到"#".preg_quote($word)."#"改成"#(?<!>)(?!<)".preg_quote($word)."#"完成PHP版本高于5.5无法使用关键词內链的解决方法打开/include/arc.archives.class.php找到$body=@preg_replace_callback("#(^|>)([^<]+)(?=<|$)#sU","_highlight('\\2',\$karr,\$kaarr,'\\1')",$body);改成global$cfg_replace_num;if($cfg_replace_num>0){$query="SELECTchar_length(keyword)ASnum,aid,keyword,rpurl,rankFROM#@__keywordsWHERErpurl<>''ORDERBYnumDESC";$this->dsql->SetQuery($query);$this->dsql->Execute();while($row=$this->dsql->GetArray()){$key=trim($row['keyword']);$key_url=trim($row['rpurl']);$body=str_replace_limit($key,"<ahref='$key_url'target='_blank'><u>$key</u></a>",$body,$cfg_replace_num);}}else{$query="SELECTchar_length(keyword)ASnum,aid,keyword,rpurl,rankFROM#@__keywordsWHERErpurl<>''ORDERBYnumDESC";$this->dsql->SetQuery($query);$this->dsql->Execute();while($row=$this->dsql->GetArray()){$key=trim($row['keyword']);$key_url=trim($row['rpurl']);$body=str_replace($key,"<ahref='$key_url'target='_blank'><u>$key</u></a>",$body);}}继续找到//高亮专用在它上面加入//指定替换次数功能functionstr_replace_limit($search,$replace,$subject,$limit){if(is_array($search)){foreach($searchas$k=>$v){$search[$k]='#(?<!>)(?!<)'.preg_quote($search[$k],'#').'#';}}else{$search='#(?<!>)(?!<)'.preg_quote($search,'#').'#';}returnpreg_replace($search,$replace,$subject,$limit);}完成
1.修改diy.php加引用:require_once(DEDEINC.'/membermodel.cls.php');2.搜索elseif($do==2),在下面大括号中加入//验证码验证$svali=GetCkVdValue();if(preg_match("/1/",$safe_gdopen)){if(strtolower($vdcode)!=$svali||$svali==''){echo'<script>alert("验证码错误");history.back();</script>';exit();}}2.修改模板<inputname="vdcode"required="required"class="bsml-yzm"placeholder="验证码"><fontcolor="#FF0000"> *</font><imgid="vdimgck"align="absmiddle"onclick="this.src=this.src+'?'"style="cursor:pointer;width:64px;"alt="看不清?点击更换"src="/include/vdimgck.php"/>
在我们做网站的时候,经常会遇到这种情况,文章列表li样式是左右class属性来写的,这样就不能用dede的通用列表方式来进行排序,需要让dede自动判断哪个文章是左,哪个文章是右,大多数人到这个时候就会直接改写css,让样式成为通用有规律的属性这样就可以实现正常排序了,但是往往由于css写的比较复杂,或者牵扯到的文件过多,导致我们重新浪费了不少时间,其实ded可以使用eautoindex判断左右不同属性,来达到直接写循环排序。如下:除整求余的应用@me%2==0{dede:arclistrow='4'flag='p'titlelen='20'typeid='59'}<li[field:globalrunphp='yes'name=autoindex]if(@me%2==0){@me="class='floatl'";}else{@me="class='floatr'";}[/field:global]><ahref="[field:arcurl/]"title=""target="_blank"><imgsrc="[field:litpic/]"width="144"height="105"/><p>[field:title/]</p><em></em></a>{/dede:arclist}简化版:<li[field:globalrunphp='yes'name=autoindex]if(@me%2==0){@me="class='fl'";}else{@me="class='fllast'";}[/field:global]>如果是一行三列,可以修改@me%2是数字。
1.表单提交的方式functionmingzi(){varform=document.createElement('form');form.action='http://www.hack001.com';form.target='_blank';form.method='POST';document.body.appendChild(form);form.submit();}这种方式,如果需要传递参数时,需要使用POST方法,默认的GET方法无法传递参数。也就是新页面的url中没有参数部分。另外,Ajax下载文件时也是用form表单来模拟下载。A标签带上:onclick="jr()"即可2.直接将打开窗口操作放在按钮/链接的onclick事件中如:<ahref="javascript:void(0)"onclick="window.open(url)"></a>3.延迟这个打开操作如:setTimeout('window.open(url);',500);//延迟时间不能太短否则也会被拦截4.通过JS打开新窗口会被拦截,换一种实现方式vartempwindow=window.open('_blank');//先打开页面tempwindow.location='http://www.baidu.com';//后更改页面地址转自:https://blog.csdn.net/yypsober/article/details/79487217