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?        

Pages

NameReturnSummary 
$sitemap->addChildrenSelector($parent, string $selectorString)
$thisAdd selector for finding children of given $parent page 
$sitemap->addPage($page)
selfAdd additional page to include in sitemap (including its children, if any) 
$sitemap->addParent($page)
selfAdd hidden or removed page that you still want to be used as a parent (i.e. have children included) 
$sitemap->allowPage(Page $page)
boolAllow page to be rendered in sitemap? (hookable)
$sitemap->allowParent(Page $page)
boolAllow children to be rendered for given page? (hookable)
$sitemap->getRemovedTemplates()
arrayGet names of removed templates 
$sitemap->getRootPage()
PageGet the root/starting page for the sitemap (typically homepage) 
$sitemap->removePage($page)
(nothing)Set a page to remove from the sitemap 
$sitemap->removeParent($page)
selfAdd page that should have its children excluded from render, even if $page itself is included 
$sitemap->removeTemplate($template)
selfRemove all pages using given template from the sitemap 
$sitemap->setRootPage($page)
$thisSet 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.244

Latest news

  • ProcessWire Weekly #559
    The 559th issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
    Weekly.pw / 25 January 2025
  • ProcessWire 3.0.244 new main/master version
    ProcessWire 3.0.244 is our newest main/master/stable version. It's been more than a year in the making and is packed with tons of new features, issue fixes, optimizations and more. This post covers all the details.
    Blog / 18 January 2025
  • Subscribe to weekly ProcessWire news

“ProcessWire is like a breath of fresh air. So powerful yet simple to build with and customise, and web editors love it too.” —Margaret Chatwin, Web developer