WireSitemapXML class

Turn-key ProcessWire module for easily configuring and rendering sitemap.xml output.

Part of the ProDevTools series of modules. See documentation.

Usage example (/site/templates/sitemap-xml.php):

$sitemap = $modules->get('WireSitemapXML');
$sitemap->addPage('/some/hidden/page/');
$sitemap->setPriorityByTemplate('home', 1.0;
$sitemap->setChangefreqByTemplate('blog', 'weekly');
$sitemap->setUrlSegmentsByTemplate('blog-post', [ 'foo', 'bar', 'baz' ]);
$sitemap->execute();
return $this->halt();

Click any linked item for full usage details and examples. Hookable methods are indicated with the icon. In addition to those shown below, the WireSitemapXML class also inherits all the methods and properties of: WireData and Wire.

Show $var?     Show args?       Only hookable?    

Pages

NameReturnSummary 
$sitemap->addChildrenSelector($parent, string $selectorString)
$this

Add selector for finding children of given $parent page

 
$sitemap->addPage($page)
self

Add additional page to include in sitemap (including its children, if any)

 
$sitemap->addParent($page)
self

Add hidden or removed page that you still want to be used as a parent (i.e. have children included)

 
$sitemap->allowPage(Page $page)
bool

Allow page to be rendered in sitemap? (hookable)

$sitemap->allowParent(Page $page)
bool

Allow children to be rendered for given page? (hookable)

$sitemap->getRemovedTemplates()
array

Get names of removed templates

 
$sitemap->getRootPage()
Page

Get the root/starting page for the sitemap (typically homepage)

 
$sitemap->removePage($page)
None

Set a page to remove from the sitemap

 
$sitemap->removeParent($page)
self

Add page that should have its children excluded from render, even if $page itself is included

 
$sitemap->removeTemplate($template)
self

Remove all pages using given template from the sitemap

 
$sitemap->setRootPage($page)
$this

Set the root (starting) page for sitemap

 

Additional methods and properties

In addition to the methods and properties above, WireSitemapXML also inherits the methods and properties of these classes:

API reference based on ProcessWire core version 3.0.252