首页 > 网站 > 建站经验 > 正文

discuz教程:PING快速实现百度秒收录

2024-04-25 20:38:58
字体:
来源:转载
供稿:网友

一、利用百度搜索引擎的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,不成功的话,网址后面会有#号。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表