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 替换为 你素材资源作品的最后一个实际的数字,(在可可素材首页 新鲜发布 点进去第一个,网址的那个数字)
- <?php
- // 定义 XML 头部和尾部
- $start = '<?xml version="1.0" encoding="utf-8"?>' . "\n";
- $start .= '<urlset' . "\n";
- $start .= 'xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"' . "\n";
- $start .= 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' . "\n";
- $start .= 'xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9' . "\n";
- $start .= 'http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"' . "\n";
- $start .= 'xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/">' . "\n";
- $end = '</urlset>' . "\n";
- // 定义 URL 数组
- $urls = array();
- // 循环生成 URL
- for ($i = 1; $i <= 1000; $i++) {
- $url = '<url>' . "\n";
- $url .= '<loc>https://www.wxcydz.cc/down/item-' . $i . '.html</loc>' . "\n";
- $url .= '<lastmod>' . date('Y-m-d') . '</lastmod>' . "\n";
- $url .= '<changefreq>always</changefreq>' . "\n";
- $url .= '<priority>1</priority>' . "\n";
- $url .= '</url>' . "\n";
- $urls[] = $url;
- }
- // 合并 XML 内容
- $xml = $start . implode('', $urls) . $end;
- // 判断文件是否存在
- if (!file_exists('sitemap.xml')) {
- // 如果文件不存在,创建文件并写入内容
- file_put_contents('sitemap.xml', $xml);
- echo 'Sitemap 生成成功! ' . date('Y-m-d H:i:s');
- } else {
- // 如果文件存在,尝试修改文件权限为可写
- if (chmod('sitemap.xml', 0777)) {
- // 如果修改权限成功,写入内容
- file_put_contents('sitemap.xml', $xml);
- echo 'Sitemap 更新成功! ' . date('Y-m-d H:i:s');
- } else {
- // 如果修改权限失败,提示错误信息
- echo 'Sitemap 文件权限不足,无法更新文件!';
- }
- }
- ?>
复制代码 然后你访问 http://你的域名/sitemap.php,提示如图:
然后记得写入你的根目录的 robots.txt:
加在最后一行:
- Sitemap: https://www.wxcydz.cc/sitemap.xml
复制代码 理论上任何插件都可以上述方法生成插件自己的sitemap地图文件
|