米扑科技的开源项目:sitemap-php 自动生成网站地图

news/2024/5/9 18:27:04/文章来源:https://blog.csdn.net/sunboy_2050/article/details/73752545

米扑科技旗下的产品,近期正在做SEO网站优化,其中子需求之一是调研实现了网站地图(sitemap.xml)

封装简化了许多功能模块,现在分享出来,源代码可在Github上下载,有简单的示例。


Github 开源网址sitemap-php



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();
}
  1. 初始化类对象
$sitemap = new Sitemap("http://mimvp.com");
  1. 添加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');
  1. 结束文档
$sitemap->endSitemap();
  1. 生成结果 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

  1. 设置根域名
$sitemap = new Sitemap("http://mimvp.com");

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

$sitemap->setDomain('http://blog.mimvp.com');
  1. 设置保存路径 sitemap.xml默认保存在当前目录下,也可设置文件夹目录,例如: xmls/sitemap,表示sitemap.xml保存在当前目录下的xmls/目录下,其中xmls目录会自动创建。注:支持多级目录
$sitemap->setXmlFile("xmls/sitemap");
$sitemap->setXmlFile("xmls/mimvp/sitemap");
  1. 设置是否更多头部
$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" 
  1. 获取当前写入的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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_794040.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

十大免费SSL证书:网站免费添加HTTPS加密

SSL证书&#xff0c;用于加密HTTP协议&#xff0c;也就是HTTPS。随着淘宝、百度等网站纷纷实现全站Https加密访问&#xff0c;搜索引擎对于Https更加友好&#xff0c;加上互联网上越来越多的人重视隐私安全&#xff0c;站长们给网站添加SSL证书似乎成为了一种趋势。 给自己的网…

十大免费SSL证书:网站免费添加HTTPS加密

SSL证书&#xff0c;用于加密HTTP协议&#xff0c;也就是HTTPS。随着淘宝、百度等网站纷纷实现全站Https加密访问&#xff0c;搜索引擎对于Https更加友好&#xff0c;加上互联网上越来越多的人重视隐私安全&#xff0c;站长们给网站添加SSL证书似乎成为了一种趋势。 给自己的网…

网站域名、备案、七牛云图床重新搭建与博客整理

最近碰上了一个问题&#xff0c;七牛云开始回收测试域名&#xff0c;结果导致我的图床有些失灵、一些软件资源都无法下载。其实这个问题在前一段不蒜子统计修改的博客里已经有兆头了。不过当时没注意。最后还是被逼得只能购买了域名&#xff0c;各类备案&#xff0c;重新搭建图…

python模拟用户浏览器登陆网站

2019独角兽企业重金招聘Python工程师标准>>> 【前置条件】 Python 2.7.13 |CentOS release 6.5 方案一&#xff1a;使用urllib2库 首先使用自己的账号和密码在浏览器登录&#xff0c;然后通过抓包拿到cookie&#xff0c;再将cookie放到请求之中发送请求即可&#xf…

LAMP架构部署和动态网站环境的配置

实验环境&#xff1a; 操作系统&#xff1a;centos 7.5 服务器IP&#xff1a;192.168.10.5 运行用户&#xff1a;root 连接工具&#xff1a;xshell工具 web环境&#xff1a;Linuxapachephpmariadb&#xff08;LAMP架构&#xff09; 大型动态应用系统平台主要是针对于大流量、高…

10个帮助你优化网站的 .htaccess 技巧

“.htaccess”文件旺旺被网页设计师们忽略。假如你还不知道什么是htaccess的话&#xff0c;你可以去查一下wikipedia。它是目录级别的配置文件&#xff0c;有常用的网页服务器支持这种配置&#xff0c;例如Apache。下面我将列出10条有用的.htaccess配置技巧。 1. 反盗链 那些盗…

emlog rss.php,emlog伪静态设置-我的建站第一天 - 慕轲博客-建立自己的个人自媒体博客...

由于我住的地方网络比较卡&#xff0c;大的引擎比较卡&#xff0c;打开慢&#xff0c;果断选择emlog这款cms建了个个人博客&#xff0c;那么刚用问题就来了&#xff0c;什么问题呢&#xff1f;建站的人都知道&#xff0c;网站一般都要做静态或者伪静态的&#xff0c;emlog不支持…

计算机组成原理寄存器初始化,8255的寻址与初始化-计算机组成原理与汇编语言-电子发烧友网站...

6.5.18255的寻址及连接使用8255占外设编址的4个地址,即A口、B口、C口和控制寄存器各占一个外设接口地址。对同一个地址分别可以进行读写操作。根据这种寻址结构,可以方便地将8255连接到系统总线上,如图6.27上所示。由图6.27可见,8255与8088总线连接是比较容易的。只是图中为了简…

sql服务器网站备份工具,使用 SQL Server 工具备份服务器场 (Search Server 2008)

使用 SQL Server 工具备份服务器场 (Search Server 2008)06/16/2015本文内容更新时间: 2008年7月应用到: Microsoft Search Server 2008上一次修改主题&#xff1a; 2009-12-02草稿内容 本文是过去针对此产品的早期版本发布的&#xff0c;现在未经任何更改又针对此版本进行发布…

easyui获取图片路径_初学Python-只需4步,爬取网站图片(附py文件)

很多人学习Python很重要的一个原因是&#xff0c;可以很简单的把一个网站的数据爬下来。尤其是做我们这一行&#xff0c;产品经理&#xff0c;电商行业。领导&#xff1a;弄一个买卖游戏周边商品的交易APP出来。我&#xff1a;行&#xff0c;那我们卖什么呀&#xff1f;领导&am…

搜索引擎制作_搜索引擎优化方法_网站制作流程:网站建设7个基本流程!

发布时间:2020-12-08 10:12:16从目前来看&#xff0c;每天都会有大量的初创企业诞生&#xff0c;作为企业主而言&#xff0c;第一时间想到的事情&#xff0c;就是建立一个网站&#xff0c;但由于初创企业&#xff0c;并没有专业相关的网站制作人员&#xff0c;往往是寻求网站建…

apache服务器配置tls_Linux 系统管理及服务配置实战-第43章 APACHE网站服务器构建I...

Apache服务器1 简介1.1 前言UI的转变&#xff1a;B/S架构1.2 名词HTMLHyperText Markup Language 网页使用HTML,PHP,JAVA语言格式书写的文件。主页网页中呈现用户的第一个页面。URLUniform Resource Locator 统一资源定位符1.3 Web ServerNginx&#xff08;Tengine&#xff09;…

php网站无法预缆,解决wp-super-cache无法(预)缓存问题

突然发现WP-SUPER-CACHE无法预缓存&#xff0c;点击【立即加载预缓存】后没有任何效果&#xff0c;并且垃圾回收定时器也失效了&#xff0c;缓存文件全是几天前的&#xff0c;感觉很奇怪&#xff01;闲下来的时候&#xff0c;突然想起前些天对博客做的一些优化&#xff0c;于是…

PPTV网站强化移动视频高端内容

随着移动互联网用户规模的快速增长&#xff0c;移动终端的商业价值也在日益显现。聚力传媒(PPTV.com&#xff0c;以下简称“PPTV网站”)近日在移动终端动作频频&#xff0c;继iPad深度专刊改版后再次发力高端人群&#xff0c;率先行业打造移动终端专业财经视频内容&#xff0c;…

阿里云部署Java网站和微信开发调试心得技巧

阿里云部署Java网站和微信开发调试心得技巧(上) 阿里云部署Java网站和微信开发调试心得技巧&#xff08;上&#xff09; 本篇手记旨在帮助大家从0开始&#xff1a; 申请阿里云服务器搭建出程序的执行环境在服务器上发布并运行自己的web project域名解析微信测试号的申请与连接…

探究 Stack Overflow 网站的热点问题排名算法

引入&#xff1a;几乎所有搞开发的人都对Stack Overflow不陌生&#xff0c;它是一个专门的Q&A类型的网站http://dbanotes.net/startup/stack_overflow_success.html &#xff08;类似这种网站的例子还有很多&#xff0c;比如新浪问问&#xff0c;百度搜搜等&#xff09;你如…

为什么别人做小说网站轻易IP上万,自己做甚至不收录

2019独角兽企业重金招聘Python工程师标准>>> 最近与博客联盟(blogunion.org)的老曾好友聊了下关于小说网站&#xff0c;听说小说网站轻易IP上万&#xff0c;而自己做甚至不收录(当然不是老曾本人的)&#xff0c;感到十分困惑。于是深度了解下&#xff0c;后来发现&a…

公司网站,邮箱,文件服务器搭建实战

项目案例&#xff1a;Tarena公司要求实现公司网站&#xff0c;邮箱&#xff0c;文件服务器的运营&#xff0c;并保证安全可靠&#xff0c;方便管理。项目分析&#xff1a;为实现要求我们首先要购买域名tarena.com。然后配置一台DNS和WEB服务器&#xff0c;因为这是公司的主要业…

网站安全狗Apache 3.5版升级 新增网站后台防护功能

2019独角兽企业重金招聘Python工程师标准>>> 网站安全狗是一款集网站内容安全防护、网站资源保护及网站流量保护功能为一体的服务器网站安全防护软件。功能涵盖了网马/木马扫描、防SQL注入、防盗链、防CC攻击、网站后台防护、一句话木马防护、网站流量实时监控、网站…

【python 3.6】从网站抓图并存放到本地路径

#!/usr/bin/python # -*- coding: UTF-8 -*- _author_ BH8ANKimport urllib.request import re import os import time#os.rmdir("D:/images")#1&#xff0c;打开页面&#xff0c;读取图片张数,抓html wangzhi "https://www.zhihu.com/question/43551423"…