sitemap-xml-php
PHP library for writing sitemap XML conform with the sitemaps.org schema., (*1)
Usage
Note that the SiteMapXmlWriter classes will always write a new sitemap. It's not possible to edit or delete entries from an existing sitemap., (*2)
Urlset
http://www.sitemaps.org/protocol.html#urlsetdef, (*3)
Example, (*4)
// Create a new urlset writer.
$writer = new SiteMapUrlSetXmlWriter();
$writer->open('your/path/to/file.xml');
// Create a new entry object.
$entryLocation = Url::fromNative('http://foo.bar/file.html');
$entryModified = Date::fromNative(2015-05-19);
$entry = new SiteMapXmlEntry($entryLocation);
$entry->setLastModified($entryModified);
// Write the entry object.
$writer->write($entry);
// Close the writer. (Will save the XML.)
$writer->close();
Result, (*5)
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://foo.bar/file.html</loc>
<lastmod>2015-5-19</lastmod>
</url>
</urlset>
Sitemap index
http://www.sitemaps.org/protocol.html#sitemapIndex_sitemap, (*6)
Example, (*7)
// Create a new sitemap index writer.
$writer = new SiteMapIndexXmlWriter();
$writer->open('your/path/to/file.xml');
// Create a new entry object.
$entryLocation = Url::fromNative('http://foo.bar/sitemap-file.xml');
$entryModified = Date::fromNative(2015-05-19);
$entry = new SiteMapXmlEntry($entryLocation);
$entry->setLastModified($entryModified);
// Write the entry object.
$writer->write($entry);
// Close the writer. (Will save the XML.)
$writer->close();
Result, (*8)
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://foo.bar/sitemap-file.xml</loc>
<lastmod>2015-5-19</lastmod>
</sitemap>
</sitemapindex>
Writing XML to output / memory
Passing null
, or php://output
to the open()
method of any SiteMapXmlWriter
object will write the XML to the output stream., (*9)
Passing php://memory
will write the XML to the memory stream., (*10)