This is a technical comparison of the older 2.x branch of the Simple XML sitemap module and an older development version of XML sitemap. XML sitemap has just had its first release and for more on the newer 4.x branch of Simple XML sitemap see this article.
This comparison may be interesting for XML sitemap users moving to Drupal 8 or for users intending to wait for the port. (Do not wait, help out!) Please also be advised that gbyte made Simple XML sitemap, which makes this comparison intrinsically biased.
There are major differences between Simple XML sitemap (simple_sitemap) and XML sitemap (xmlsitemap) and depending on your use case, you might want to choose one or the other.
What sets the modules apart are their complexity, extensibility, performance and feature sets.
Code base
Having been built specifically for D8, simple_sitemap has arguably a cleaner code base adhering to D8 standards i (i.e. use of OOP). In contrast, the xmlsitemap module will have a hard time adjusting to D8 technologies and guidelines, as it carries around a whole lot of legacy code going back as far as Drupal 5.
Performance
What is meant here is the impact of the module on a Drupal 8 system, how quick the sitemap generation process is and how long it takes for a visitor to fetch the sitemap.
Sitemap generation performance
Both the modules feature the batch API which allows to generate huge amounts of links without hitting any PHP limits. The sitemap generation performance differs in that it is a one step process in simple_sitemap as opposed to the two step process of the xmlsitemap module.
While the simple_sitemap's one step process is less error prone and initially generates the sitemap quicker, xmlsitemap's two steps have the advantage of tracking which entities have changed since last generation through implementing an additional database table making sure the subsequent rebuilds are quicker.
Sitemap fetching performance
When it comes to fetching the sitemap, both modules cache them: xmlsitemap creates a physical file, while simple_sitemap caches the sitemap in the database.
Both modules have the ability to set the maximum amount of links included in the sitemap and they generate multiple sitemaps along with an index if this amount is exceeded.
Consequently there should be no noticeable difference between the two modules when it comes to fetching performance.
Overall system impact
Because of its leaner code base and the fact that the code does not get invoked through hooks all to often, simple_sitemap's footprint is smaller.
Supported entities
Both of the modules support all core content entity types like nodes, taxonomy terms, menu links, users, etc. as well as contributed entity types (e.g. commerce products or media) out of the box. This is possible due to the great D8 entity API. Whereas xmlsitemap keeps its bundle settings on a designated page, simple_sitemap incorporates its bundle settings into bundle edit pages, which seems a bit more intuitive. Both modules allow overriding of sitemap settings on a per-entity basis.
XML Sitemap standards
Here the edge goes to simple_sitemap, as it features the newer hreflang XML standard developed by google. In addition simple_sitemap is optionally able to index images attached to an entity resulting in an image sitemap. Adhering to Google's standards is important, as this is the search engine most of us would like to correctly understand and index our site.
Additional functionality
Having been around since 2007, the xmlsitemap module has had lots of time to incorporate various additional functionalities which are not present in simple_sitemap yet. Automatically sending the stiemap to search engines is an example of such a functionality.
Extensibility
Whereas xmlsitemap offers many hooks making it easy to alter the XML output, simple_sitemap's strength lies within its powerful service API allowing to chain tasks like adding custom links and altering configuration. Since version 2.11, simple_sitemap takes advantage of plugins, so new URL generators can be implemented by 3rd party modules. Depending on your needs, you may find one approach superior to the other.
Which one is right for me?
As of now, simple_sitemap is the more stable module having close to none open bug reports. As soon as xmlsitemap runs well in Drupal 8 however, you will have to decide: simple_sitemap for a more performant codebase with the newer sitemap standard and more powerful API, or xmlsitemap for its bigger feature set and a smarter sitemap generation process.
Comments
Thanks man for sharing this content, I gained more info about XML.
Another aspect can be added to this comparison in terms of maintainability. While the D8 version of the XML Sitemap module seems to struggle with bugs it have with extremely slow response from the maintainers to the reported bugs, the Simple XML Sitemap seems to be actively well maintained. I writing this because currently, I'm seriously considering the switch to the Simple XML Sitemap after more than 2 months of waiting for a bug fix for the XML Sitemap.
I appreciate your position; but don't forget that maintainers are working in their spare time for free to provide this software and their work/life sometimes comes first.
Did you submit a patch to the project? This usually speeds up the process.
Still, as the maintainer of simple_sitemap I am happy you feel my support is sufficient and I encourage you to try the module.
hello thank you for this information it is helpful
After many years using xmlsitemap i will switch to simple XML sitemap because it seems more stable, faster, newer and the most important thing is to me that xmlsitemap doesn´t update on a multilingual website
Add new comment