今天织梦58和大家分享的是关于织梦建站的链接推送实例,例如:你发布了一篇新文章,等着百度来抓取,那就很被动,不知道什么时候才能被收录;但是我们可以主动去推送,下边我们具体来操作说明。
主动推送
第一步:首先在织梦的后台添加2个变量。
1.添加cfg_baidutoken系统变量
说明:这个里边的数值,大家需要自己在百度站长平台获取,注册--添加你的网站--左侧找到链接提交,就会看到了。截一张图看看。
上图中红色边框里边的就是我们新加的这个变量的值,每个网站的值是不一样的,一定要准确;
2.添加cfg_baiduhost系统变量
说明:这个变量的值就是你的二级域名,例如:www.baidu.com 。有朋友会说,织梦原本不是有个站点根地址吗? 这里需要说明的域名和站点根地址是不一样的。
完了之后会得到下边的结果,图中最底部的二个变量就是我们刚添加的,对应的值上边已经提到。
第二步:找到织梦的档案发布程序文档,以及档案修改程序文档,
说明:
1、以上二个文档,对应的是百度站长给出的,主动推送(实时),下边的数据类型中,有推送,更新,删除,三个选项,我们主要达到新文章可以推送,更改的文章也可以更新就可以了,至于删除文章,直接做404页面就行了。
2.织梦的这二个文档默认存于,/dede/ 文件夹根目录中, 根据内容模型,默认如下,
文章模型,article_add.php(发布文档);article_edit.php(修改文档)
图片模型,album_add.php (发布文档);album_edit.php(修改文档)
注:建议修改发布文档就可以了,修改文档更新其实配合是非常少的,可以不修改
至于你要是新建了模型,那就找对应的这二个文档。
第三步:修改织梦的档案发布程序文档,以及档案修改程序文档,
1、修改发布文档,搜索
- $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_baidutoken;
- $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);
- }
紧接着继续找到,
- <a href='catalog_do.php?cid=$typeid&dopost=listArchives'><u>已发布文章管理</u></a>
在下边加入:
- <a href=''><u>百度提交返回".$result."</u></a>
-
注:
- 不知道是不是因为开启绝对地址的原因$artUrl其实就已经是一个完整的URL了,所以上面的代买推送的是一个有重复的URL,为了确保推送地址的正确,可以在结果输出的时候加上推送的url以确保推送地址正确
- 如果是https,注意要在http://data.zz.baidu.com/urls?site=后面添加上https://
2、修改修改文档,搜索
- $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_baidutoken;
- $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);
- }
紧接着继续找到,
- <a href='catalog_do.php?cid=$typeid&dopost=listArchives'><u>已发布文章管理</u></a>
在下边加入:
- <a href=''><u>百度提交返回".$result."</u></a>
-
至此,我们的要求也就完成了。 简单的说,就是发布文章后,我们操作了自动推送文章或者是修改文章, 最后我们得到返回信息,成功还是失败。
以上原文:《织梦实现链接提交给百度 主动推送的实例操作》如果实现不了,也可以使用插件实现此功能,插件请自行百度,注意字符集
除此之外,我们还可以加上自动推送和sitemap提交来促进百度的抓取
自动推送
自动推送这个功能理解起来比较简单,就是访问一次网页 网址会被推送一次,缺点就是会对网站速度有点点影响,不过可以忽略。安装也非常简单,将代码放在网页公共的底部就行了,代码如下:
- <script>
- (function(){
- var bp = document.createElement('script');
- var curProtocol = 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';
- }
- var s = document.getElementsByTagName("script")[0];
- s.parentNode.insertBefore(bp, s);
- })();
- </script>
sitemap提交
制作网站地图即可,这个可以参考之前的文章
转载请注明:思享SEO博客 » dedecms实现主动推送,加快新站收录