XML Sitemap

The XML Sitemap is an essential part of on-page SEO but it needs a lot of effort to create and maintain such a file. Not with Sulu since the system provides the "sitemap.xml" right out of the box. And to make your life even more relaxing the system follows the specification of sitemaps.org and the Google limitations of a maximum 50.000 links per sitemap by automatically splitting larger files in several parts. 

Sitemap index

As I said, in case of a very large number of links Sulu automatically splits the sitemap and lists all the sitemap "parts" in a sitemap index. This splitting will also be done when you have different types of modules in your system. E.g. if you have installed SuluArticleBundle you will see that the sitemap will be automatically split and each module will get its own sitemap (paginated in case of more than 50.000 links).

<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <sitemap>
        <loc>http://sulu-minimal.dev/sitemaps/pages-1.xml</loc>
    </sitemap>
    <sitemap>
        <loc>http://sulu-minimal.dev/sitemaps/articles-1.xml</loc>
    </sitemap>
</sitemapindex>

Custom Provider

As we have described in the Sulu documentation you can provide your custom routes in a dedicated "SitemapProvider". Registering your own provider will result in an addional sitemap in the sitemap-index.

Improving speed of big sitemaps

Lager sitemaps will take a long time to render. Search engines like Google don't like to wait too long so this can decrease the ranking of your page. But Sulu is able to pre-generate the whole sitemap and cache it on the filesystem. This can be triggered by calling the following command and automated by using a cronjob.

bin/websiteconsole sulu:website:dump-sitemap

I hope you will find these explanations usefull. If you have questions please join our #Slack channel and our team will be happy to give you more insights!