前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP对接百度API提交普通收录/SEO

PHP对接百度API提交普通收录/SEO

原创
作者头像
小唐同学.
发布2022-05-31 17:07:32
1.4K0
发布2022-05-31 17:07:32
举报
文章被收录于专栏:CMS建站教程CMS建站教程

说明

百度站长的资源提交分为快速收入和普通收录,资源的提交方式有:

  • API推送:最为快速的提交方式,建议您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。
  • sitemap:您可以定期将网站链接放到Sitemap中,然后将Sitemap提交给百度。百度会周期性的抓取检查您提交的Sitemap,对其中的链接进行处理,但收录速度慢于API推送。
  • 手动提交:如果您不想通过程序提交,那么可以采用此种方式,手动将链接提交给百度

多种提交方式互不冲突

下面以PHP为例子

百度官方api示例

代码语言:php
复制
$urls = array(
    'http://www.example.com/1.html',
    'http://www.example.com/2.html',
);
$api = 'http://data.zz.baidu.com/urls?site=域名&token=百度秘钥';
$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;

上面代码是百度的示例这里我们改一下,官方提供的有点麻烦需要我们手动把收录的链接放到数组里面

下面我们让在用户访问后自动提交收录,通过api自动提交

百度 API 提交token 值的获取

登录百度站长 → 资源提交 → 普通收录,下面图片中’token=’的后面就是我们自己的API token值,将其复制下来

官网地址:http://data.zz.baidu.com/

百度推广API的token获取地址:http://data.zz.baidu.com/site/index

自己修改后的

代码语言:php
复制
$protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ?"https://": "http://";
$url = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
//获取当前访问目录的域名
//  echo $url;
$urls = array($url);
$api = 'http://data.zz.baidu.com/urls?site=域名&token=百度秘钥';
$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 "<script>console.log('当前百度推送$result;')</script>";

使用的时候,把上面的域名跟百度的token换成自己的,下面是以Pbootcms建筑系统为例子

扩展到Pbootcms建站系统例子

代码语言:txt
复制
{php}
$protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ?"https://": "http://";
$url = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
//获取当前访问目录的域名
//  echo $url;
$urls = array($url);
$api = 'http://data.zz.baidu.com/urls?site=域名&token=百度秘钥';
$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 "<script>console.log('当前百度推送$result;')</script>";
{/php}

这样我们就实现了PHP对接百度API提交普通收录

.

返回成功图
返回成功图

状态码为200,可能返回以下字段:

字段

是否必选

参数类型

说明

success

int

成功推送的url条数

remain

int

当天剩余的可推送url条数

not_same_site

array

由于不是本站url而未处理的url列表

not_valid

array

不合法的url列表

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明
  • 下面以PHP为例子
    • 百度官方api示例
      • 百度 API 提交token 值的获取
        • 自己修改后的
          • 扩展到Pbootcms建站系统例子
            • 这样我们就实现了PHP对接百度API提交普通收录
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档