PHP实现自动提交百度普通收录/SEO

举报
小唐同学 发表于 2022/12/10 11:47:47 2022/12/10
【摘要】 说明百度站长的资源提交分为快速收入和普通收录,资源的提交方式有:API推送:最为快速的提交方式,建议您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。sitemap:您可以定期将网站链接放到Sitemap中,然后将Sitemap提交给百度。百度会周期性的抓取检查您提交的Sitemap,对其中的链接进行处理,但收录速度慢于API推送。手动提交:如果您不想通过程序...

说明

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

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

多种提交方式互不冲突

下面以PHP为例子

百度官方api示例

$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

自己修改后的

$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建站系统例子

{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列表
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。