一、利用百度搜索引擎的PING RPC2服務功能來達到搜索引擎快速收錄帖子(推薦)
實現原理:
根據百度站長平臺的提示,網站程序可以通過PING RPC2服務自動提醒百度搜索引擎收錄你的網站,實時收錄的哦!
實現辦法:
1、首先新建一個新文件,文件名自定,放Discuz! X論壇的根目錄!要自定名字的原因是,雖然百度提倡這么干,但是你不能老重復的提交啊,老虎屁股動不得!所以改名,以免別人搗蛋,你的站K了啥的,就別賴我了!
我這里暫定名為: ping_seo.php這里修改網址,將我的站點地址(http://bbs.yeacome.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>http://bbs.yeacome.com/</string></value></param>
<param><value><string>http://bbs.yeacome.com/thread-$canshu-1-1.html</string></value></param>
<param><value><string>http://bbs.yeacome.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:http://bbs.yeacome.com/thread-$canshu-1-1.html");
}
else
{
header ("Location:http://bbs.yeacome.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、修改文件source/include/post/post_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,不成功的話,網址后面會有#號。
此文由 網站目錄_網站網址收錄與提交入口 編輯,未經允許不得轉載!: