Install
Works with Drupal: ^8 || ^9Using Composer to manage Drupal site dependencies
Alternative installation files
Release notes
Changes since 3.9
There have been substantial sitemap generation performance gains. Depending on the site's size and configuration, the generation will take 5 to 10 times less time than before. We recommend testing generation performance and readjusting the settings.
There is now a new performance test script for performance metrics & debugging; see the module's readme file for more details.
Improvements
#3202457: Add missing indexes to tables
#3203715: Process multiple entities with a single queue item
#3203626: Improve queue performance
#3202233: Stop clearing the persistent entity cache when building the sitemap
#3205158: Add link count to each variant info on the sitemap admin form
New features
#3202290: Add performance test script
Bug fixes
None.
API changes
None.
Changes since 2.x
Ability to create any type of sitemap via plugins
The 8.x-3.x release allows not only for customizing the URL generation through UrlGenerator plugins as 2.x does, but also creating multiple custom sitemap types through sitemapGenerator plugins and running all the sitemaps on the same Drupal instance. Now e.g a Google news sitemap can be added to a Drupal instance. This is possible through the new concept of sitemap variants.
Ability to create sitemap variants of various sitemap types via UI
Now e.g links form a specific entity bundle can be indexed in a specific sitemap variant with its own URL.
No more out of memory/time errors
The generation process has been streamlined to using a single queue regardless of whether batch generation is being used, or backend (cron/drush) processes. This should allow hundreds of thousands of entities/elements being indexed without memory errors.
If there is a problem, the generation process picks up from the last indexed element. The sitemap variants are only published after the generation has been completed.
Other
- Automatic submission to search engines
- Views and views arguments support
- XSL stylesheets for human visitors
- Performance test script included
Upgrade path from 2.x
The module can be easily upgraded from 8.x-2.x for regular users, however the API has undergone several changes and custom code may need adjustments.
API
Please make sure to use the below simple_sitemap.generator service API instead of accessing the module's configuration storage directly.
- getSetting
- saveSetting
- setVariants
- getSitemap
- removeSitemap
- queue
- rebuildQueue
- generateSitemap
- enableEntityType
- disableEntityType
- setBundleSettings
- getBundleSettings
- removeBundleSettings
- setEntityInstanceSettings
- getEntityInstanceSettings
- removeEntityInstanceSettings
- bundleIsIndexed
- entityTypeIsEnabled
- addCustomLink
- getCustomLinks
- removeCustomLinks
- getSitemapManager
- getSitemapVariants
- addSitemapVariant
- removeSitemapVariants
- getQueueWorker
- getInitialElementCount
- getProcessedElementCount
- generationInProgress
- hook_simple_sitemap_links_alter(&$links, $sitemap_variant)
- hook_simple_sitemap_arbitrary_links_alter(&$arbitrary_links, $sitemap_variant)
- hook_simple_sitemap_attributes_alter(&$attributes, $sitemap_variant)
- hook_simple_sitemap_index_attributes_alter(&$index_attributes, $sitemap_variant)
- hook_simple_sitemap_url_generators_alter(&$url_generators)
- hook_simple_sitemap_sitemap_generators_alter(&$sitemap_generators)
- hook_simple_sitemap_sitemap_types_alter(&$sitemap_types)
Check out this resource for more details about the module and in-depth tutorials.