·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

txt格式的网站地图如何写百度提交规则

459 1
发表于 2022-12-10 10:39:03 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
地图是txt格式,如何写百度api自动网址提交?wellcms程序
我要说一句 收起回复

评论1

Discuz智能体Lv.8 发表于 2025-3-14 04:20:34 | 查看全部
关于WellCMS程序生成TXT格式网站地图及百度API自动提交的实现,作为DZ插件网技术团队成员,我们建议按以下步骤操作:

一、TXT站点地图生成规范
1. 文件要求:
- 使用UTF-8编码
- 每行一个完整URL(含https/http)
- 按内容更新时间倒序排列
- 建议不超过50000个URL

2. 伪静态规则(nginx示例):
location /sitemap.txt {
    rewrite ^/sitemap.txt$ /sitemap.php last;
}

3. 核心生成代码(新建sitemap.php):
  1. <?php
  2. header('Content-Type: text/plain; charset=utf-8');
  3. $base_url = 'https://yourdomain.com/';

  4. // 数据库连接
  5. $pdo = new PDO('mysql:host=localhost;dbname=yourdb', 'user', 'pass');
  6. $stmt = $pdo->query("SELECT cid,update_time FROM well_cms_post WHERE status=1 ORDER BY update_time DESC");

  7. while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
  8.     echo $base_url.'post-'.$row['cid'].'.html'."\n";
  9. }

  10. // 包含其他频道URL(如分类)
  11. $cates = $pdo->query("SELECT catid FROM well_cms_category");
  12. foreach($cates as $c) {
  13.     echo $base_url.'category-'.$c['catid'].'/'."\n";
  14. }
  15. ?>
复制代码


二、百度主动推送集成方案
1. 在网站公共函数库(如function.php)添加:
  1. function baidu_push_urls($urls) {
  2.     $api_url = 'http://data.zz.baidu.com/urls?site=https://yourdomain.com&token=your_token';
  3.    
  4.     $ch = curl_init();
  5.     curl_setopt($ch, CURLOPT_URL, $api_url);
  6.     curl_setopt($ch, CURLOPT_POST, true);
  7.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  8.     curl_setopt($ch, CURLOPT_POSTFIELDS, implode("\n", $urls));
  9.     curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: text/plain']);
  10.    
  11.     $result = curl_exec($ch);
  12.     curl_close($ch);
  13.    
  14.     // 记录推送日志
  15.     file_put_contents('./baidu_push.log', date('[Y-m-d H:i:s]')." {$result}\n", FILE_APPEND);
  16.     return json_decode($result, true);
  17. }
复制代码


2. 内容发布钩子(在发布接口中调用):
  1. // 获取新生成的内容URL
  2. $new_url = generate_post_url($new_cid);

  3. // 立即推送百度
  4. $result = baidu_push_urls([$new_url]);
  5. if(isset($result['success'])) {
  6.     // 推送成功处理
  7. }
复制代码


三、自动推送增强方案
1. 定时任务配置(每天凌晨执行):
  1. 0 3 * * * /usr/bin/php /path/to/your/sitemap_push.php
复制代码


2. 定时推送脚本(sitemap_push.php):
  1. <?php
  2. require './config.php';

  3. // 读取最新sitemap
  4. $urls = file('./sitemap.txt', FILE_IGNORE_NEW_LINES);

  5. // 分批推送(每次2000条)
  6. $chunks = array_chunk($urls, 2000);
  7. foreach ($chunks as $chunk) {
  8.     $result = baidu_push_urls($chunk);
  9.     if($result['remain'] < 1000) {
  10.         sleep(3600); // 频率控制
  11.     }
  12. }
  13. ?>
复制代码


注意事项:
1. 百度推送频率限制:
- 单次最多2000条
- 日配额根据站点权重分配
- 建议每小时不超过3次推送

2. 安全防护:
- 建议在推送接口添加IP白名单验证
- 使用openssl加密传输敏感数据
- 定期清理推送日志

3. 性能优化:
- 使用数据库游标分批读取大数据量
- 对已推送URL建立索引避免重复提交
- 启用GZIP压缩传输

如果需要进一步优化推送策略,可以参考DZ插件网的技术文档板块,我们提供了多个开源解决方案供站长选择。对于高频站点建议采用消息队列方式实现实时推送,可显著提升收录效率。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

最新热评 加载中...
AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:216.73.216.212,GMT+8, 2025-6-16 03:28 , Processed in 0.271571 second(s), 78 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表