写个定时任务每天向百度提交新链接

百度蜘蛛的爬行是有周期性的,你当天写的文章,百度可能几天后才会收集到。为了让百度早点收录新写的文章,我们可以向百度主动提交当天的新链接,百度站长可以每个月主动提交500个链接。

首先写个脚本push.sh

#!/bin/sh
 
CURRENT_DIR=$(dirname "$0")
MYSQL_USERNAME="xxxxxx"
MYSQL_PASSWORD="xxxxxxxx"
MYSQL_DATABASE="xxxxxxx"
MYSQL_CMD="/usr/bin/mysql"
 
#百度链接提交地址,在百度站长里可以找到
BAIDU_COMMIT_URL="http://data.zz.baidu.com/urls?site=zhaoyanblog.com&token=xxxxxxx"
 
#找出今天所有发布的文章,post类型代码文章,publish状态表示发布状态的,排除草稿。
today=`date "+%Y-%m-%d 00:00:00"`
ids=`$MYSQL_CMD -N  -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE -e "select ID from wp_posts where post_type='post' and post_status='publish' and post_date>'${today}';"`
 
if [ ! -n "$ids" ]; then
  exit;
fi
 
#把文章地址输出到一个临时文件里
cd $CURRENT_DIR
rm -rf urls.txt
 
for id in $ids; do
 
echo "http://zhaoyanblog.com/archives/$id.html" >> urls.txt;
 
done
 
#提交给百度
curl -H 'Content-Type:text/plain' --data-binary @urls.txt "$BAIDU_COMMIT_URL"

然后在crontab里添加定时任务,每天晚上11点50执行:

50 23 * * * /bin/sh /home/zhaoyanblog/push/push.sh 2>&1 1>>/home/zhaoyanblog/push/push.log

  1. baiqiufei说道:

    大侠 mysql密码暴露了。。

留言

提示:你的email不会被公布,欢迎留言^_^

*

验证码 *