core23 / sitemap-bundle
This bundle provides some classes for an automatic sitemap.xml generation.
Fund package maintenance!
core23
Opencollective
Ko-Fi
Other
Installs: 5 497
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 2
Open Issues: 1
Type:symfony-bundle
Requires
- php: ^8.0
- psr/cache: ^1.0 || ^2.0 || ^3.0
- psr/simple-cache: ^1.0 || ^2.0 || ^3.0
- symfony/config: ^5.4 || ^6.0
- symfony/dependency-injection: ^5.4 || ^6.0
- symfony/expression-language: ^5.4 || ^6.0
- symfony/framework-bundle: ^5.4 || ^6.0
- symfony/http-foundation: ^5.4 || ^6.0
- symfony/http-kernel: ^5.4 || ^6.0
- symfony/options-resolver: ^5.4 || ^6.0
- symfony/routing: ^5.4 || ^6.0
Requires (Dev)
- ergebnis/composer-normalize: ^2.0.1
- symfony/browser-kit: ^5.4 || ^6.0
README
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.