janci/sitemap-generator

Sitemap Generator 是一个PHP库,可以基于网站中的html元素a-href创建sitemap.xml文件。

v1.0-rc2 2014-01-02 18:18 UTC

This package is not auto-updated.

Last update: 2024-09-24 01:33:02 UTC


README

Sitemap Generator 是一个PHP库,可以从页面链接生成sitemap.xml。扫描过程会在页面上搜索a-href元素,并创建不包含外部页面链接的链接映射。扫描过程只能用于单页,当从输入链接获取链接时。第二种选项是使用扫描器递归扫描。对于此选项,扫描器将扫描网站中找到的所有链接。扫描器接受以"/"或域名(网站URL)开头的链接。

扫描过程可能需要几分钟来构建大型页面或较慢的互联网连接的sitemap。最佳实践是在命令行(CLI)中运行脚本,而不是通过使用Web服务器从网站运行。

安装

安装Sitemap Generator的最佳方法是使用Composer

php composer.phar require janci/sitemap-generator

Sitemap Generator需要PHP 5.3.0或更高版本。

使用示例

要查找网站上的所有链接,请使用

    $siteMap = new SitemapGenerator();
    $siteMap->scanSite(new UrlScanDriver("http://www.example.com/"));
    $urls = $siteMap->getFoundUrls();

要获取结果为sitemap.xml,请使用

    $siteMap = new SitemapGenerator();
    $siteMap->scanSite(new UrlScanDriver("http://www.example.com/"));
    $sitemapXML = $siteMap->getSitemapContent();

    file_put_contents('sitemap.xml', $sitemapXML);

前两个示例使用递归扫描(默认)。对于单页扫描,需要在SitemapGenerator::scanSite方法的第二个参数中设置"false"。

    $siteMap = new SitemapGenerator();
    $siteMap->scanSite(new UrlScanDriver("http://www.example.com/"), false);
    ...

要显示进度信息,可以使用处理函数。处理函数必须在调用scanSite方法之前注册。

    $siteMap = new SitemapGenerator();
    $siteMap->onScanSite[] = function($siteMapGenerator, $scanDriver) {
        echo "{$siteMapGenerator->getProgressStatus()}%\n";
    };
    $siteMap->scanSite(new UrlScanDriver("http://www.example.com/"));
    ...

就这些了!