轻量级、轻量级简单快速生成网站地图 mimvp-sitemap-php

MIT
PHP
跨平台
2017-06-30
sunboy2050

What is sitemap-php ?

sitemap-php 是一个轻量级、简单快速生成网站地图的开源项目,由北京米扑科技有限公司(mimvp.com)开发分享。

通过简单的配置定义,一个函数createSitemap(),可自动生成sitemap.xml、sitemap.html等网站地图文件,

自动生成的xml、html文件,支持Google、Bing、Baidu等主流搜索引擎收录。

Fast and lightweight class for generating Google sitemap XML files and index of sitemap files.

Written on PHP and uses XMLWriter extension (wrapper for libxml xmlWriter API) for creating XML files. XMLWriter extension is enabled by default in PHP 5 >= 5.1.2.

If you having more than 50000 url, it splits items to seperated files. (In benchmarks, 1.000.000 url was generating in 8 seconds)

示例:

sitemap.xml : http://mimvp.com/sitemap.xml

sitemap.html : http://mimvp.com/sitemap.html

How to use

Sitemap 封装了生成sitemap.xml的属性和方法的类,使用非常简单,示例代码:

function testSitemap() {
	$sitemap = new Sitemap("http://mimvp.com");
	
	 $sitemap->addItem('/', '1.0', 'daily', 'Today');
	 $sitemap->addItem('/hr.php', '0.8', 'monthly', time());
	 $sitemap->addItem('/index.php', '1.0', 'daily', 'Jun 25');
	 $sitemap->addItem('/about.php', '0.8', 'monthly', '2017-06-26');
	 
	 $sitemap->addItem('/hr2.php', '1.0', 'daily', time())->addItem('/index2.php', '1.0', 'daily', 'Today')->addItem('/about2.php', '0.8', 'monthly', 'Jun 25');
	 
	 $sitemap->endSitemap();
}
  • 初始化类对象

$sitemap = new Sitemap("http://mimvp.com");
  • 添加Item

$sitemap->addItem('/', '1.0', 'daily', 'Today');
$sitemap->addItem('/hr.php', '0.8', 'monthly', time());
$sitemap->addItem('/index.php', '1.0', 'daily', 'Jun 25');
$sitemap->addItem('/about.php', '0.8', 'monthly', '2017-06-26');

或者

$sitemap->addItem('/hr2.php', '1.0', 'daily', time())->addItem('/index2.php', '1.0', 'daily', 'Today')->addItem('/about2.php', '0.8', 'monthly', 'Jun 25');
  • 结束文档

$sitemap->endSitemap();
  • 生成结果 sitemap.xml

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<url>
		<loc>http://mimvp.com/</loc>
		<priority>1.0</priority>
		<changefreq>daily</changefreq>
		<lastmod>2017-06-26T00:00:00+08:00</lastmod>
	</url>
	<url>
		<loc>http://mimvp.com/hr.php</loc>
		<priority>0.8</priority>
		<changefreq>monthly</changefreq>
		<lastmod>2017-06-26T20:16:23+08:00</lastmod>
	</url>
	<url>
		<loc>http://mimvp.com/index.php</loc>
		<priority>1.0</priority>
		<changefreq>daily</changefreq>
		<lastmod>2017-06-25T00:00:00+08:00</lastmod>
	</url>
	<url>
		<loc>http://mimvp.com/about.php</loc>
		<priority>0.8</priority>
		<changefreq>monthly</changefreq>
		<lastmod>2017-06-26T00:00:00+08:00</lastmod>
	</url>
</urlset>

More Functions

  • 设置根域名

$sitemap = new Sitemap("http://mimvp.com");

也可以修改初始化的域名为

$sitemap->setDomain('http://blog.mimvp.com');
  • 设置保存路径 sitemap.xml默认保存在当前目录下,也可设置文件夹目录,例如: xmls/sitemap,表示sitemap.xml保存在当前目录下的xmls/目录下,其中xmls目录会自动创建。注:支持多级目录

$sitemap->setXmlFile("xmls/sitemap");
$sitemap->setXmlFile("xmls/mimvp/sitemap");
  • 设置是否更多头部

$sitemap->setIsChemaMore(true);

如果设置为true,则sitemap.xml文件头部会增加一些头部信息:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 	
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"
  • 获取当前写入的sitemap文件

$sitemap->getCurrXmlFileFullPath();

Advanced Functions

  1. 指定包含文件,以/开头

$GIncludeArray = array("", "/index.php", "about.php", "hr.php");
  1. 排除特定文件或目录

$GExcludeArray = array("usercenter/", "sadmin/", "admin/", "sitemap.php");
  1. 递归扫描指定目录,默认扫描三层(可自己设定)

function scanRootPath($rootPath=".", $dirLevel=1, $MaxDirLevel=3, &$resArray=array())
  1. 转化 xml + xsl 为 html

function createXSL2Html($xmlFile, $xslFile, $htmlFile, $isopen_htmlfile=false)

Sitemap Demo

  1. 全局变量,G开头

$GCONFIG = array(	"domain"=>"http://mimvp.com",
			"xmlfile"=>"sitemap",
			"htmlfile"=>"sitemap.html",
			"xslfile"=>"sitemap-xml.xsl",
			"isopen_xmlfile"=>true,
			"isopen_htmlfile"=>true,
			"isscanrootpath"=>true,
			"isxsl2html"=>true,
			"isschemamore"=>true);
  1. 生成sitemap.xml

createSitemap();

生成示例:

sitemap.xml 示例

  1. 生成 sitemap.html

createXSL2Html($xmlFile, $xslFile, $htmlFile, $isopen_htmlfile=false);

生成示例:

sitemap.html 示例

You need to submit sitemap.xml and sitemap.html to Google、 Bing、 Baidu,etc.

sitemap-php项目,目前支持指定网页、排除网页、扫描根目录等网站地图;
后期完善时,会增加导出数据库、爬取整个网站等功能,
也希望您的加入,继续完善此项目

sitemap-php All Rights by mimvp.com
加载中

评论(2)

sunboy2050
sunboy2050
网站地图生成的神器,从此 sitemap.xml sitemap.html 一个脚本搞定,赞
mimvp
mimvp
米扑科技技术真强大,开源软件真实用,大大大的赞赞赞

暂无资讯

暂无问答

Nginx 利用代理转发请求实例

我们米扑科技的业务遍布全球,有时国外的客户无法访问我们搭建在国内的服务,这就要求我们在国外服务器上搭建一个代理转发服务,用户请求国外服务器的域名,然后代理转发到国内,处理请求后返...

03/09 19:22
72
0
CentOS 6/7 配置 sendEmail 发送邮件

sendEmail是Linux下优秀的第三方邮件命令,非常简单,可以设置 smtp,不会被认定为SPAM(垃圾邮件)或直接拒收。 本文原文转自米扑博客:CentOS 6/7 配置 sendEmail 发送邮件 sendEmail 官网...

10/29 22:13
16
0
让百度收录翻倍的提交 WordPress 博客链接到百度站长的办法

现在百度站长越来越开放,已经提供了四种链接提交方式: 百度站长 1、主动推送:最为快速的提交方式,建议将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。...

2016/05/21 15:47
8
2
Phpcms V9添加网站地图Sitemap静态地图方法(一)

一、新增函数文件sitemap.php,并上传到网站程序目录: phpcms/modules/admin/文件夹下。 文件内容: defined('IN_PHPCMS') or exit('No permission resources.'); pc_base::load_app_class(...

2016/04/18 19:16
24
1
magento cron job

计划任务(cron job)简单的来说就是在系统中每隔一段时间来重复操作一件事,比如每隔多少时间清理日志,比如每天提交Sitemap给google等,最主要的应该还是Newsletter,而要设置计划任务(c...

2014/12/07 20:50
30
0
技术贴收藏

### Python - [Python 进程间通信](http://blog.mimvp.com/2015/01/python-inter-process-communication/) ### UML - [UML 状态机图](http://www.cnblogs.com/sura/archive/2012/07/01/2572...

2016/07/21 15:28
14
0
百度站长平台工具链接自动推送方法

怎样才能使新更新的文章更快的被百度收录,是所有站长最头疼的事情之一,而百度在这一块问题上为了我们站点也算是煞费苦心,如若不然也不会提供了“链接提交”工具。 百度给出的链接提交方式...

2016/09/16 00:00
59
0
magento robots.txt

User-agent: * Sitemap: http://example.com/sitemap/sitemap.xml Disallow: /app/ Disallow: /downloader/ Disallow: /errors/ Disallow: /includes/ Disallow: /js/ Disallow: /lib/ Disal...

2014/12/07 20:50
17
0
magento robots.txt规范文件

# Website Sitemap Sitemap: http://www.mydomain.com /sitemap.xml   # Crawlers Setup User-agent: * Crawl-delay: 10   # Allowable Index Allow: /*?p= Allow: /catalog/seo_sitemap/c...

2012/03/10 11:47
199
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部