米撲科技的開源項目:sitemap-php 自動產生網站地圖

來源:互聯網
上載者:User

標籤:sitemap   米撲科技   開源項目   

米撲科技旗下的產品,近期正在做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.xmlsitemap.html : http://mimvp.com/sitemap.htmlHow 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();

產生樣本:

650) this.width=650;" src="https://github.com/mimvp/sitemap-php/raw/master/mimvp-sitemap-xml.png" alt="sitemap.xml 樣本" style="border-style:none;background-color:rgb(255,255,255);" />

  1. 產生 sitemap.html

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

產生樣本:

650) this.width=650;" src="https://github.com/mimvp/sitemap-php/raw/master/mimvp-sitemap-html.png" alt="sitemap.html 樣本" style="border-style:none;background-color:rgb(255,255,255);" />

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

sitemap-php項目,目前支援指定網頁、排除網頁、掃描根目錄等網站地圖;
後期完善時,會增加匯出資料庫、爬取整個網站等功能,
也希望您的加入,繼續完善此項目

sitemap-php All Rights by mimvp.com


本文出自 “米撲專欄” 部落格,請務必保留此出處http://mimvp.blog.51cto.com/13185516/1954275

米撲科技的開源項目:sitemap-php 自動產生網站地圖

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.