presta/sitemap-bundle

A Symfony bundle that provides tools to build your application sitemap.

Installs: 7 122 870

Dependents: 26

Suggesters: 2

Security: 0

Stars: 356

Watchers: 25

Forks: 102

Open Issues: 16

Type:symfony-bundle

v4.1.1 2024-03-19 15:38 UTC

README

Tests Coverage Latest Stable Version Downloads Monthly Contributors

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:

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