创意电子

标题: Discuz插件生成sitemap地图增加收录推送的方法 [打印本页]

作者: 创意电子    时间: 2023-7-2 11:16
标题: Discuz插件生成sitemap地图增加收录推送的方法
DZ论坛插件很多没有sitemap地图生成的功能,这就造成很多用独立插件系统作为首页的网站收录比较差,下面给大家提供一个方法以实现独立插件自身生成sitemap网站地图功能的方法:

以可可素材资源库插件为例:
假设我们实现在根目录生成可可素材资源库单独的sitemap文件名字为:sitemap_down.xml
例如:https://www.wxcydz.cc/sitemap_down.xml
将其写入收录文件:robots.txt 里面,
例如:https://www.wxcydz.cc/robots.txt
生成方法:
在根目录新建个sitemap生成的执行文件,比如新建个php空白文件,名字为:sitemap.php
内容复制以下:
注意:请把下面的:
sitemap.xml  替换为 你自己想要创建的xml文件名;(记得创建文件的时候把文件编码转成你自己论坛的编码,因为内容包含中文,编码不对可能输出显示乱码!)
https://www.wxcydz.cc/down/item-' . $i . '.html  替换为 你自己的域名和素材资源作品的格式结构;(以你实际素材的网址结构为准,这里照着嵌套即可~)

$i <= 1000      这里的 1000 替换为 你素材资源作品的最后一个实际的数字,(在可可素材首页 新鲜发布 点进去第一个,网址的那个数字)
  1. <?php

  2. // 定义 XML 头部和尾部
  3. $start = '<?xml version="1.0" encoding="utf-8"?>' . "\n";
  4. $start .= '<urlset' . "\n";
  5. $start .= 'xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"' . "\n";
  6. $start .= 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' . "\n";
  7. $start .= 'xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9' . "\n";
  8. $start .= 'http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"' . "\n";
  9. $start .= 'xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/">' . "\n";
  10. $end = '</urlset>' . "\n";

  11. // 定义 URL 数组
  12. $urls = array();

  13. // 循环生成 URL
  14. for ($i = 1; $i <= 1000; $i++) {
  15.     $url = '<url>' . "\n";
  16.     $url .= '<loc>https://www.wxcydz.cc/down/item-' . $i . '.html</loc>' . "\n";
  17.     $url .= '<lastmod>' . date('Y-m-d') . '</lastmod>' . "\n";
  18.     $url .= '<changefreq>always</changefreq>' . "\n";
  19.     $url .= '<priority>1</priority>' . "\n";
  20.     $url .= '</url>' . "\n";
  21.     $urls[] = $url;
  22. }

  23. // 合并 XML 内容
  24. $xml = $start . implode('', $urls) . $end;

  25. // 判断文件是否存在
  26. if (!file_exists('sitemap.xml')) {
  27.     // 如果文件不存在,创建文件并写入内容
  28.     file_put_contents('sitemap.xml', $xml);
  29.     echo 'Sitemap 生成成功! ' . date('Y-m-d H:i:s');
  30. } else {
  31.     // 如果文件存在,尝试修改文件权限为可写
  32.     if (chmod('sitemap.xml', 0777)) {
  33.         // 如果修改权限成功,写入内容
  34.         file_put_contents('sitemap.xml', $xml);
  35.         echo 'Sitemap 更新成功! ' . date('Y-m-d H:i:s');
  36.     } else {
  37.         // 如果修改权限失败,提示错误信息
  38.         echo 'Sitemap 文件权限不足,无法更新文件!';
  39.     }
  40. }

  41. ?>
复制代码
然后你访问  http://你的域名/sitemap.php,提示如图:

资源名称: 
下载次数:0  文件大小:  记录
购买VIP 充值创意币 运营教程 免费赚创意币 
安全检测,请放心下载

然后记得写入你的根目录的 robots.txt
加在最后一行:
  1. Sitemap: https://www.wxcydz.cc/sitemap.xml
复制代码
理论上任何插件都可以上述方法生成插件自己的sitemap地图文件

作者: 匿名    时间: 2023-7-31 19:38
66666




欢迎光临 创意电子 (https://www.wxcydz.cc/) Powered by Discuz! X3.4