[thepixeldeveloper/sitemap]轻松省心的为网站生成站点地图

2022-03-20 奥古斯宏
一个网站的站点地图生成器

在我们做业务开发的时候,一般不会去做一个站点地图的功能,但是对于一个CMS系统或者内容站,站点地图是标配,毕竟我们希望网站能够被各类爬虫准确的没有遗漏的抓取.

什么是站点地图

站点地图一般是一个XML文档(也有txt格式),节点结构也非常简单,作用是包含网站中所有的链接(希望被抓取的链接),一般交给爬虫去处理.

一个站点地图的一半url是这样的:

https://phpreturn.com/sitemap.xml

一个站点地图的基本格式是这样的:

<urlset xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd">
<url>
<loc>https://phpreturn.com</loc>
<changefreq>always</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://phpreturn.com/index/a620760e8a5342.html</loc>
<lastmod>2022-02-12T15:30:36+08:00</lastmod>
<changefreq>yearly</changefreq>
<priority>0.9</priority>
</url>
</urlset>

站点地图的知识并不复杂,我们可以很容易的在网上找到教程.

一个站点地图的数据内容是非常简单的,我们既可以使用DOM扩展去生成,也可以用字符串拼接的方式去做,再高级一点的使用模板渲染的技术去做.但是这样的方法要么写起来很麻烦,要么代码可读性不高,或者实现的过于麻烦.

实际上有这样一个扩展库,可以简单地实现一个标准的站点地图,就是thepixeldeveloper/sitemap:

版权声明:本文由phpreturn.com(PHP武器库官网)原创和首发,所有权利归phpreturn(PHP武器库)所有,本站允许任何形式的转载/引用文章,但必须同时注明出处。

基本的使用

<?php declare(strict_types=1);

use Thepixeldeveloper\Sitemap\Urlset;
use Thepixeldeveloper\Sitemap\Url;
use Thepixeldeveloper\Sitemap\Drivers\XmlWriterDriver;

$url = new Url($loc);
$url->setLastMod($lastMod);
$url->setChangeFreq($changeFreq);
$url->setPriority($priority);

$urlset = new Urlset();
$urlset->add($url);

$driver = new XmlWriterDriver();
$urlset->accept($driver);

echo $driver->output();

我们可以在上面的代码案例中发现,整个用法是非常简单地,可读性也非常高.

站点地图扩展的用法

一般的我们也可以在站点地图中指定页面主要内容是什么类型的,比如说:图片/普通的链接/新闻/手机端/视频.分别都支持更多的属性设置,这些都可以直接使用,由它内部处理成最终结果xml.

比如我们增加图片扩展:

<?php declare(strict_types=1);

use Thepixeldeveloper\Sitemap\Urlset;
use Thepixeldeveloper\Sitemap\Url;
use Thepixeldeveloper\Sitemap\Extensions\Image;

$url = new Url($loc);
$url->setLastMod($lastMod);
$url->setChangeFreq($changeFreq);
$url->setPriority($priority);

$image = new Image('https://image-location.com');

$url->addExtension($image);

其他

thepixeldeveloper/sitemap还有一些其他的用法,比如写入注释,引入样式文件的,使用起来也非常简单,值得使用.

最近浏览
IP用户:14.155.*.*
3 天前 Mobile Safari iOS 12.3
IP用户:106.38.*.*
4 天前 Microsoft Edge iOS 17.2
IP用户:107.173.*.*
8 天前 Chrome Windows 10
IP用户:185.170.*.*
9 天前 Generic Bot
IP用户:54.221.*.*
10 天前 Amazon Bot
IP用户:116.179.*.*
12 天前 Baidu Spider
IP用户:114.119.*.*
12 天前 Petal Bot
IP用户:101.67.*.*
17 天前 Generic Bot
IP用户:51.222.*.*
18 天前 aHrefs Bot
IP用户:221.226.*.*
18 天前 Chrome Windows 10
IP用户:112.13.*.*
18 天前 Generic Bot
IP用户:180.126.*.*
22 天前 Internet Explorer Windows 8.1
累计浏览次数:1218
评论
点击登录
phpreturn,PHP武器库,专注PHP领域的项目和资讯,收录和介绍PHP相关项目。
最近浏览 点击登录
累计浏览次数:191086
一周浏览次数:1002
今日浏览次数:79

本站所有权利归 phpreturn.com 所有

举报/反馈/投稿邮箱:phpreturn@ulthon.com

鲁ICP备19027671号-2