/PrestaSitemapBundle

A symfony bundle that provides tools to build a rich application sitemap. The main goals are : simple, no databases, various namespace (eg. google image), respect constraints etc.

Primary LanguagePHPMIT LicenseMIT

PrestaSitemapBundle

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