zoukankan      html  css  js  c++  java
  • 百度PING快速实现百度秒收录discuz

    一、利用百度搜索引擎的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://你的DZX网址/</string></value></param> 
       <param><value><string>http://你的DZX网址/thread-$canshu-1-1.html</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网址/thread-$canshu-1-1.html");
    } 
    else 
    { 
            header ("Location:http://你的DZX网址/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找到

    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,不成功的话,网址后面会有#号。
    今天的教程就到这里,大家有什么疑问欢迎来提问。

  • 相关阅读:
    如何实现冒泡排序
    每天一个JS 小demo之原生数组splice方法书写。主要知识点:锻炼思维逻辑能力,对于数组方法的理解和各种情况的考量
    每天一个JS 小demo之日历制作。主要知识点:日期函数和对于函数封装的灵活运用
    每天一个JS 小demo之商品下架特效制作,主要知识点:定时器,倒计时,抖动特效。
    Html5语义化标签详解及其兼容性处理
    asp.net mvc 遍历linq to sql 多表联查
    将ASP.NET 数据导出到execl
    Microsoft SQL Server 2008 R2附加数据库报错5120解决办法
    十进制、二进制、八进制、十六进制互相转换
    结构体数组的增删改查
  • 原文地址:https://www.cnblogs.com/cron/p/4769429.html
Copyright © 2011-2022 走看看