一、利用百度搜索引擎的 PING RPC2 服务功能来达到搜索引擎快速收录帖子 (推荐)
实现原理:
根据百度站长平台的提示,网站程序可以通过 PING RPC2 服务自动提醒百度搜索引擎收录你的网站,实时收录的哦!
实现办法:
1 、首先新建一个新文件,文件名自定,放 Discuz! X 论坛的根目录!要自定名字的原因是,虽然百度提倡这么干,但是你不能老重复的提交啊,老虎屁股动不得!所以改名,以免别人捣蛋,你的站 K 了啥的,就别赖我了!
我这里暂定名为: ping_seo.php 这里修改网址,将我的站点地址 (http://bbs.weixiaoduo.com) 改为你的。
开启了伪静态的 ping.php 代码用这个:
- <?php
- if(isset($_GET['action']))
- {
- $canshu=$_GET['action'];
- }
- function postUrl($url, $postvar)
- {
- $ch = curl_init();
- $headers = array(
- "POST ".$url." HTTP/1.0",
- "Content-type: text/xml; charset="utf-8"",
- "Accept: text/xml",
- "Content-length: ".strlen($postvar)
- );
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $postvar);
- $res = curl_exec ($ch);
- curl_close ($ch);
- return $res;
- }
- $baiduXML = "<?xml version="1.0" encoding="utf-8"?>
- <methodCall>
- <methodName>weblogUpdates.extendedPing</methodName>
- <params>
- <param><value><string> 薇晓朵技术论坛</string></value></param>
- <param><value><string>https://bbs.weixiaoduo.com/</string></value></param>
- <param><value><string>https://bbs.weixiaoduo.com/thread-$canshu-1-1.html</string></value></param>
- <param><value><string>https://bbs.weixiaoduo.com/forum.php?mod=rss</string></value></param>
- </params>
- </methodCall>";
- $res = postUrl('http://ping.baidu.com/ping/RPC2', $baiduXML);
- if ( strpos($res, "<int>0</int>") )
- {
- header ("Location:https://bbs.weixiaoduo.com/thread-$canshu-1-1.html");
- }
- else
- {
- header ("Location:https://bbs.weixiaoduo.com/thread-$canshu-1-1.html#");
- }
- ?>
未启了伪静态的 ping.php 代码用这个:
- <?php
- if(isset($_GET['action']))
- {
- $canshu=$_GET['action'];
- }
- function postUrl($url, $postvar)
- {
- $ch = curl_init();
- $headers = array(
- "POST ".$url." HTTP/1.0",
- "Content-type: text/xml; charset="utf-8"",
- "Accept: text/xml",
- "Content-length: ".strlen($postvar)
- );
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $postvar);
- $res = curl_exec ($ch);
- curl_close ($ch);
- return $res;
- }
- $baiduXML = "<?xml version="1.0" encoding="utf-8"?>
- <methodCall>
- <methodName>weblogUpdates.extendedPing</methodName>
- <params>
- <param><value><string> 你的站名</string></value></param>
- <param><value><string>http://你的 DZX 网址/</string></value></param>
- <param><value><string>http://你的 DZX 网址
/forum.php?mod=viewthread&tid=$canshu</string></value></param> - <param><value><string>http://你的 DZX 网址/forum.php?mod=rss</string></value></param>
- </params>
- </methodCall>";
- $res = postUrl('http://ping.baidu.com/ping/RPC2', $baiduXML);
- if ( strpos($res, "<int>0</int>") )
- {
- header ("Location:http://你的 DZX 网址/forum.php?mod=viewthread&tid=$canshu");
- }
- else
- {
- header ("Location:http://你的 DZX 网址/forum.php?mod=viewthread&tid=$canshu#");
- }
- ?>
2 、修改文件 sourceincludepostpost_newthread.php,
Discuz X2.0 找到
- showmessage('post_newthread_succeed', "forum.php?mod=viewthread&tid=$tid&extra=$extra", $param);
替换为 (其中 ping_seo 为你自己的自定义 ping 文件名称):
- showmessage('post_newthread_succeed', "ping_seo.php?action=$tid", $param);
DZX2.5 找到:
- showmessage('post_newthread_succeed', $returnurl, $values, $param);
替换为 (其中 ping_seo 为你自己的自定义 ping 文件名称):
- showmessage('post_newthread_succeed', "ping 文件的文件名称.php?action=$tid", $values, $param);
OK,简单两步完成,需要花冤枉钱么?
Tips:
如果 PING 失败,那么你发新帖后跳转的网址最后面会有一个 #号!
测试是否 PING 成功,也可以访问 http://你的 DZX 网址/ping 文件的文件名称.php?action=任意新帖子 ID,不成功的话,网址后面会有 #号。
今天的教程就到这里,大家有什么疑问欢迎来提问。