discuz教程:PING快速实现百度秒收录 [复制链接]

moqu8 2017-10-1

6 0
一、利用百度搜索引擎的PING RPC2服务功能来达到搜索引擎快速收录帖子(推荐)
实现原理:
根据百度站长平台的提示,网站程序可以通过PING RPC2服务自动提醒百度搜索引擎收录你的网站,实时收录的哦!

实现办法:
1、首先新建一个新文件,文件名自定,放Discuz! X论坛的根目录!要自定名字的原因是,虽然百度提倡这么干,但是你不能老重复的提交啊,老虎屁股动不得!所以改名,以免别人捣蛋,你的站K了啥的,就别赖我了!
我这里暂定名为: ping_seo.php这里修改网址,将我的站点地址(http://we.moqu8.com)改为你的。
开启了伪静态的ping.php代码用这个:
  1. <?php
  2. if(isset($_GET['action']))
  3. {
  4. $canshu=$_GET['action'];
  5. }


  6. function postUrl($url, $postvar) 

  7. $ch = curl_init(); 
  8. $headers = array( 
  9. "POST ".$url." HTTP/1.0", 
  10. "Content-type: text/xml; charset=\"utf-8\"", 
  11. "Accept: text/xml", 
  12. "Content-length: ".strlen($postvar) 
  13. ); 
  14. curl_setopt($ch, CURLOPT_URL, $url); 
  15. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
  16. curl_setopt($ch, CURLOPT_POST, 1); 
  17. curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
  18. curl_setopt($ch, CURLOPT_POSTFIELDS, $postvar); 
  19. $res = curl_exec ($ch); 
  20. curl_close ($ch); 
  21. return $res; 



  22. $baiduXML = "<?xml version=\"1.0\" encoding=\"utf-8\"?> 
  23. <methodCall> 
  24. <methodName>weblogUpdates.extendedPing</methodName> 
  25. <params> 
  26. <param><value><string>易康论坛</string></value></param> 
  27. <param><value><string>http://bbs.yeacome.com/</string></value></param> 
  28. <param><value><string>http://bbs.yeacome.com/thread-$canshu-1-1.html</string></value></param> 
  29. <param><value><string>http://bbs.yeacome.com/forum.php?mod=rss</string></value></param> 
  30. </params> 
  31. </methodCall>"; 
  32. $res = postUrl('http://ping.baidu.com/ping/RPC2', $baiduXML); 


  33. if ( strpos($res, "<int>0</int>") ) 

  34. header ("Location:http://bbs.yeacome.com/thread-$canshu-1-1.html");

  35. else 

  36. header ("Location:http://bbs.yeacome.com/thread-$canshu-1-1.html#");

  37. ?>
复制代码
未启了伪静态的ping.php代码用这个:
  1. <?php
  2. if(isset($_GET['action']))
  3. {
  4. $canshu=$_GET['action'];
  5. }
  6. function postUrl($url, $postvar) 

  7. $ch = curl_init(); 
  8. $headers = array( 
  9. "POST ".$url." HTTP/1.0", 
  10. "Content-type: text/xml; charset=\"utf-8\"", 
  11. "Accept: text/xml", 
  12. "Content-length: ".strlen($postvar) 
  13. ); 
  14. curl_setopt($ch, CURLOPT_URL, $url); 
  15. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
  16. curl_setopt($ch, CURLOPT_POST, 1); 
  17. curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
  18. curl_setopt($ch, CURLOPT_POSTFIELDS, $postvar); 
  19. $res = curl_exec ($ch); 
  20. curl_close ($ch); 
  21. return $res; 

  22. $baiduXML = "<?xml version=\"1.0\" encoding=\"utf-8\"?> 
  23. <methodCall> 
  24. <methodName>weblogUpdates.extendedPing</methodName> 
  25. <params> 
  26. <param><value><string>你的站名</string></value></param> 
  27. <param><value><string>http://你的DZX网址/</string></value></param> 
  28. <param><value><string>http://你的DZX网址 /forum.php?mod=viewthread&tid=$canshu</string></value></param> 
  29. <param><value><string>http://你的DZX网址/forum.php?mod=rss</string></value></param> 
  30. </params> 
  31. </methodCall>"; 
  32. $res = postUrl('http://ping.baidu.com/ping/RPC2', $baiduXML); 
  33. if ( strpos($res, "<int>0</int>") ) 

  34. header ("Location:http://你的DZX网址/forum.php?mod=viewthread&tid=$canshu");

  35. else 

  36. header ("Location:http://你的DZX网址/forum.php?mod=viewthread&tid=$canshu#");

  37. ?>
复制代码
2、修改文件source\include\post\post_newthread.php,
Discuz X2.0找到
  1. showmessage('post_newthread_succeed', "forum.php?mod=viewthread&tid=$tid&extra=$extra", $param);
复制代码
替换为(其中ping_seo为你自己的自定义ping文件名称):
  1. showmessage('post_newthread_succeed', "ping_seo.php?action=$tid", $param);
复制代码
DZX2.5找到:
  1. showmessage('post_newthread_succeed', $returnurl, $values, $param);
复制代码
替换为(其中ping_seo为你自己的自定义ping文件名称):
  1. showmessage('post_newthread_succeed', "ping文件的文件名称.php?action=$tid", $values, $param);
复制代码
OK,简单两步完成,需要花冤枉钱么?

Tips:
如果PING失败,那么你发新帖后跳转的网址最后面会有一个#号!
测试是否PING成功,也可以访问http://你的DZX网址/ping文件的文件名称.php?action=任意新帖子ID,不成功的话,网址后面会有#号。
今天的教程就到这里,大家有什么疑问欢迎来提问。

最新回复 (0)
返回
支持中心
邮箱:winkill2012@qqcom
新站优化中!部分功能尚未完善,敬请谅解!
支持中心