网站SEO优化,提交自己的链接给百度,加快收录的小脚本

{card-describe title=”背景”}
最近不知道为什么,我的博客换了模板之后,填写百度的推送token,也推不过去我的文章。于是就在网上找资料,发现一个自动推送给百度的php seo 代码,大概内容就是读取网站的sitemap,然后把链接提交出来,然后设置定时任务去推给百度即可。
{/card-describe}
代码如下:

<?php

// 设置要推送到百度站长平台的 API 地址和 token
$api = 'http://data.zz.baidu.com/urls?site=https://XXXXX&token=XXXXX';

// 使用 cURL 函数获取 sitemap.xml 的内容
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'XXXXXXXXXXXXX/sitemap.xml');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$xml = curl_exec($ch);
curl_close($ch);

echo $xml;
// 使用 SimpleXML 函数解析 XML 内容
$urls = simplexml_load_string($xml);

// 遍历 XML 内容,并将每个 URL 推送到百度站长平台
foreach ($urls as $url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $api);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $url[0]);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    curl_close($ch);

    // 输出推送结果
    echo $response . "\n";
}

我自己把php代码复制到了网站,发现老是报错,一直提示:PHP Warning: file_get_contents(url): failed to open stream: HTTP request failed! 我php版本也换了,php.ini里对应的也都打开了(allow_url_fopen=On)。 还在报错,所以打算曲线救国,自己整一个

::(小乖)
需求其实很简单,就是把自己网站的sitemap里的链接提取出来,然后推给百度即可。网站的sitemap现在一般主流的主题都有自带。
一般是你的网站+sitemap.xml 比如我的是:https://vwo50.club/sitemap.xml 。若你没有,则去找个插件就可以实现。

  1. 打开百度站长平台,查看提交文章的API 。可以看到它的推送示例,这里我们选用shell的,其他语言也可以,按自己喜好来
  2. 编写脚本,把sitemap里的链接都提取出来,按照提示,放到urls.txt里。 代码如下:

{hide}

#!/bin/bash
sitemap=$(curl -s https://vwo50.club/sitemap.xml)
# 使用括号捕获 https 开头的链接,不要捕获标签
urls=$(echo "$sitemap" | grep -oP '(?<=<loc>)https[^<]*(?=</loc>)')  
urls=$(echo "$urls" | sort -u)
echo "$urls" > urls.txt
curl -H 'Content-Type:text/plain' --data-binary @urls.txt "http://data.zz.baidu.com/urls?site=你的site&token=你的token"  >>result.txt

{/hide}

  1. 主要就几个步骤。访问sitemap.xml,提取https链接,将提取出的所有链接 重定向到 urls.txt。这里值得注意的是 要使用’>’ ,因为打算弄定时任务每天推送,考虑到博客不管是有新文章或者是删除了文章的情况。所以每天的脚本跑完后,新的url要覆盖掉之前的。然后resulte.txt的话就可以使用 >>重定向。如下图是我的sitemap格式和提出来的格式
  2. 设置定时任务。 我们使用crontab -e 。编辑一条任务,我让它每天0点执行一次。
    lkffegun.png

    我们先手动执行一下脚本,一切顺利。 因为今天调用太多次了,所以返回是超出上限了。若是第一次调用,则会告诉你几条成功,还剩几条提交额度
  3. 至此就完成了。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇