Skip to content
4.2.x
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

NucleosSitemapBundle

Latest Stable Version Latest Unstable Version License

Total Downloads Monthly Downloads Daily Downloads

Continuous Integration Code Coverage Type Coverage

This bundle provides some classes for an automatic sitemap.xml generation.

Installation

Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:

composer require nucleos/sitemap-bundle

Enable the Bundle

Then, enable the bundle by adding it to the list of registered bundles in config/bundles.php file of your project:

// config/bundles.php

return [
    // ...
    Nucleos\SitemapBundle\NucleosSitemapBundle::class => ['all' => true],
];

Configure the Bundle

Create a configuration file called nucleos_sitemap.yaml:

# config/routes/nucleos_sitemap.yaml

nucleos_sitemap:
    resource: '@NucleosSitemapBundle/Resources/config/routing/sitemap.yml'
    prefix: /

If you want to use symfony cache, you should define a new cache pool (PSR 6) and create an adapter to map it to a simple cache (PSR 16):

nucleos_sitemap:
    cache:
        service: 'sitemap.cache.simple'

framework:
    cache:
        pools:
            sitemap.cache:
                adapter: cache.app
                default_lifetime: 60

services:
    sitemap.cache.simple:
        class: 'Symfony\Component\Cache\Psr16Cache'
        arguments:
            - '@sitemap.cache'

Add static entries

You can add static entries in your yaml config:

# config/packages/nucleos_sitemap.yaml

nucleos_sitemap:
    static:
        - { url: 'http://example.com', priority: 75, changefreq: 'weekly' }

Add a custom sitemap

If you want to create a custom sitemap, the only thing you have to do is to create a service that uses Nucleos\SitemapBundle\Sitemap\SitemapServiceInterface and tag the service with nucleos.sitemap.

    <service id="App\Sitemap\CustomSitemap">
      <tag name="nucleos.sitemap"/>
    </service>

License

This bundle is under the MIT license.