网站首页 > 开源技术 正文
自动生成sitemap的PHP代码很多,但是真正抽象出来可以复用的,却很少看见。
这里整理的一段代码,可以直接放在任意项目中使用。
$thread = DB::fetch_all("SELECT * FROM ".DB::table('forum_thread')." ORDER BY tid DESC");
// 创建一个DOMDocument对象
$dom = new DOMDocument("1.0","utf-8");
header("Content-Type: text/xml");
// 创建根节点
$root = $dom->createElement("urlset");
$dom->appendChild($root);
foreach($thread as $value){
// 建立根下子节点track
$track = $dom->createElement("url");
$root->appendChild($track);
// 建立track节点下元素
$loc = $dom->createElement("loc");
$track->appendChild($loc);
$priority = $dom->createElement("priority");
$track->appendChild($priority);
$lastmod = $dom->createElement("lastmod");
$track->appendChild($lastmod);
$changefreq = $dom->createElement("changefreq");
$track->appendChild($changefreq);
// 赋值
$text = $dom->createTextNode('http://localhost/thread-'.$value[tid].'-1-1.html');
$loc->appendChild($text);
$date = date("Y-m-d",time());
$text = $dom->createTextNode($date);
$lastmod->appendChild($text);
$text = $dom->createTextNode(daily);
$changefreq->appendChild($text);
$text = $dom->createTextNode(0.8);
$priority->appendChild($text);
}
//生成xml文件
$dom->save("sitemap.xml");exit;
顺便普及一下常识:sitemap是一段xml代码,用来表示网站有哪些内容,以方便搜索引擎快速了解并抓取网站。可以参考:
http://yanyubao.tseo.cn/saasdocs/xmlsitemap.xml
另外一方面,也不是每个网站都需要设置站点地图的,例如左侧功能导航做得非常好的网站,搜索引擎已进入就能够自动快速分析出网站的主要架构,对SEO非常友好。但这里例外的,是左侧的功能导航使用iframe来做的,会让搜索引擎不知道所以然。
当站点中有多个sitemap的时候,需要在robots.txt中说明,这样搜索引擎才知道,撰写的格式为:
Sitemap: http://yanyubao.tseo.cn/saasdocs/xmlsitemap.xml
Sitemap: http://yanyubao.tseo.cn/saasdocs/xmlsitemap02.xml
希望以上知识点对大家有帮助。
- 上一篇: php源码开发的商城系统有什么优点
- 下一篇:已经是最后一篇了
猜你喜欢
- 2025-10-14 php源码开发的商城系统有什么优点
- 2025-10-14 mac下快速搭建本地php开发环境_macbook开发php
- 2025-10-14 【开源推荐】给大家推荐个基于ChatGPT的PHP开发库 openai-php-api
- 2025-10-14 开发人员分析和解析PHP代码的7款最佳PHP工具
- 2025-10-14 web开发之-PHP数组常用操作_php中数组的概念是什么
- 2025-10-14 两个php框架在一个网站上开发好吗
- 2025-10-14 web开发之-PHP函数_php在web开发中的处理过程是什么
- 2025-10-14 php扩展开发之路(一)_php扩展直接执行php代码
- 2025-10-14 告别传统开发方式,谈谈PHP8异步编程
- 2025-10-14 评测一款PHP开发的专科医院类型的企业网站模板及安装过程
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)