向百度主动推送链接

请注意,本文编写于 91 天前,最后修改于 52 天前,其中某些信息可能已经过时。

虽然不得不说百度的东西真恶心,但是国内大部分人都还在用百度,所以想让更多的人了解一个网站、或者说想做好 SEO 优化的话还得向百度低头。这里介绍一点 php 实现向百度提交网站链接以提高收录量的方法。

在网站根目录下新建 push.php 文件,代码如下:

<?php
/* 这里的 array() 存放要提交的链接 */
$urls = array(
    'https://monsterx.cn/tags.html',
    'https://monsterx.cn/timeline.html',
    'https://monsterx.cn/links.html',
    'https://monsterx.cn/bits-pieces.html',
    'https://monsterx.cn/about.html',
    'https://monsterx.cn/fantastic.html',
    'https://monsterx.cn/monster/start.html',
);
/* 这里的 API 填写自己在百度站长平台的提交入口 */
$api = 'http://data.zz.baidu.com/urls?site=https://monsterx.cn&token=Mo7ZNEsvzWlnkgXK';
$ch = curl_init();
$options =  array(
    CURLOPT_URL => $api,
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => implode("\n", $urls),
    CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
echo $result;

访问您的网址 /push.php (像下面这个样子)手动提交,提交过程中请不要关闭网页

https://www.example.com/push.php

结束后会返回提交结果,Just like this

{"remain":4999993,"success":7}
/* remain 值为今日剩下可提交链接数 */
/* success 值为已成功提交链接数 */

其实这样还是比较麻烦,不如直接去站长平台提交 sitemap 自动抓取。 对于 Typecho 博客,可以试试 Sitemap 插件生成站点地图。

最近发现评论区有点问题,详情可以看一哈这篇文章《评论区 Bug 声明》,目前开启了评论审核,顺便手动过滤垃圾评论。还有 Smoothscoll.js 适配的问题做不出来导致 F12 控制台在页面发生滚动动作之后一片红…
又水了一篇文章啊真开心 (逃…


2019.6.4 更新:推送 AMP 链接代码

* 源于评论区 365cent 大佬

if(!function_exists('Baidu_amp')){
    function Baidu_amp($post_ID) {
        //已成功推送的文章不再推送
        if(get_post_meta($post_ID,'Baiduamp',true) == 1) return;
        $url = get_permalink($post_ID);
        if(get_post_type($post_ID)=='page'){
            $url=$url.'?amp';
        }
        if(get_post_type($post_ID)=='post'){
            $url=$url.'/amp/';
        }
        // 这里 api 自行修改
        $api = 'http://data.zz.baidu.com/urls?site=https://www.365cent.com&token=YP2rLX9o2yMBBmRr&type=amp';
        $request = new WP_Http;
        $result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') );
        $result = json_decode($result['body'],true);
        //如果推送成功则在文章新增自定义栏目 Baiduamp,值为 1
        if (array_key_exists('success_amp',$result)) {
            add_post_meta($post_ID, 'Baiduamp', 1, true);
        }
    }
    add_action('publish_post', 'Baidu_amp', 0);
}

添加新评论

已有 6 条评论

最近偶尔看到百度的js自动提交

百度的 SEO 是真的坑,例如现在百度搜索 monsterx 都还是搜不到你,虽然谷歌现在也搜不到你,不过我的谷歌就能直接搜到我的网站,所以要吐槽垃圾百度

MonsterX MonsterX 回复 @Mineolym

哈哈哈哈哈,无所谓啦,也不打算折腾了,我觉得想一个不容易重的名字好一点,SEO压力会小一点。

MonsterX MonsterX 回复 @Mineolym

收录其实也收录了,可能是内容不够好,刚看了下 monsterx.cn 这个站收录了 40 条了。还行我已经满足了 2333

:aru1:
呐,这里有个推amp的。

// 代码已截取至文章中,感谢反馈 //

MonsterX MonsterX 回复 @365cent

Typecho 有个 AMP/MIP 插件可以后台推送,也很方便