Propose new features
Designing Decidim together
Add .xml sitemap config flag to /system
Is your feature request related to a problem? A clear and concise description of what the problem is.
Client get frustrated that we don't have a simple way to generate an .xml sitemap for Decidim websites. It's recommended for SEO.
Describe the solution you'd like
On a multi-tenant Decidim instance I may not want to generate a sitemap for all orgs as some maybe used for private purposes (ex: "Force users to authenticate before access organization")
As a system admin, I'd like to have a config flag in /system in the org edit form to choose to generate an .xml sitemap for the org I'm editing.
We could use an existing gem like https://www.ruby-toolbox.com/projects/sitemap_generator to generate the site map.
The sitemap generator would need to exclude :
- /admin and /system links
- Private spaces links
The sitemap needs to be be
- frequently updated → a cron job can run periodically
- and sent to search engines → We need to decide if we leave the responsibility to the admin of the org or if we try to ease up the process a little bit for them. We could use this gem https://www.ruby-toolbox.com/projects/pingr so that the pinging to search engine is automated
Describe alternatives you've considered
At this stage I'm wondering :
- if this feature could be of interest to the rest of the community. If not we can always make a module;
- what's the best way to generate a xml sitemap for a Decidim site;
Add any other context or screenshots about the feature request here.
Does this issue could impact on users private data?
Possible funding by Lausanne
This proposal has been accepted because:
- Reviewed by @product and accepted to be developed as a module
- It is funded by European Commission
- Developed by Tremend
- Available at https://git.fpfis.eu/future-of-europe/digit-cofe-libraries/digit-cofe-sitemap
List of Endorsements
Report inappropriate content
Is this content inappropriate?
You are seeing a single comment
View all comments
Conversation with Armand
Hi, please a naive implementation here:
(Tests are needed, no TDD on this one, it was a late coding night)
Demo can be found:
Obviously this is not the final version of the tool, I think it is better to use a module approach with a register system like for metrics or components. I would be happy to help on the implementation if possible.
Also, the controller is hideous, it was just a quick bypass.
Loading comments ...