Skip to main content
  1. All Posts/

PrestaSitemapBundle

Tools PHP

PrestaSitemapBundle



This bundle handle your XML sitemap in a Symfony application.

Overview

Allow sitemapindex file:

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd"
              xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <sitemap>
        <loc>https://acme.org/sitemap.static.xml</loc>
        <lastmod>2020-01-01T10:00:00+02:00</lastmod>
    </sitemap>
</sitemapindex>

and urlset files:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" 
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
    <url>
        <loc>https://acme.org/</loc>
        <lastmod>2020-01-01T10:00:00+02:00</lastmod>
        <changefreq>daily</changefreq>
        <priority>0.5</priority>
    </url>
    <url>
        <loc>https://acme.org/contact</loc>
        <lastmod>2020-01-01T10:00:00+02:00</lastmod>
        <changefreq>daily</changefreq>
        <priority>0.5</priority>
    </url>
</urlset>

A sandbox is available in a dedicated GitHub repository.
You may also have a look to Prestaconcept’s website sitemap
(which is built with this bundle).

Features

  • Configure with a single option which routes you want to include in your sitemap
  • Generate one Sitemapindex and as many Urlset as you need
  • Access sitemap on the fly with a symfony controller or Dump sitemap to files for faster sitemap
  • Comply with Urlset specifications : 50k items / 10MB per file
  • Decorates your sitemap with images, video, mobile and multilang urls
  • No database required

Documentation

You will find the detailed documentation in the following links:

  • Installation
  • Configuration
  • Static routes usage
  • Dynamic routes usage
  • Decorating URLs
  • Dumping sitemap
  • Messenger integration

Versions

This bundle is compatible with all Symfony versions since 2.3.0.
However, like Symfony, we do not provide support for Symfony’s version that reached EOL.

Contributing

Please feel free to open an issue
or a pull request,
if you want to help.
Thanks to
everyone who has contributed already.

This project is supported by PrestaConcept
Released under the MIT License