-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#3129 Sitemaps module #3229
#3129 Sitemaps module #3229
Conversation
Some ideas : Add the ability to create multiple sitemaps ; which means to be able to select on which sitemap a content type should be indexed. Some ideas could be taken from this blog post : https://blog.spotibo.com/sitemap-guide/
|
Multiple site maps sounds like a good idea - it might not add much to the seo functionality of them, but would improve the manageability of them from the backend. Ultimately the settings should probably provide a sitemap(s) view.
|
Are you allowing the ability to mark different content types with different update frequencies? |
That's why I requested to have multiple sitemaps files. Separate content that updates more often from content that pratically never changes. Also, we are capped to 50k records per sitemap files. |
…ted with sitemap provider in anyway
…p related settings
…s and sitemap treesummaries. and started adding rootpath to sitemap sets
…. removed dependance on MenuItem from SitemapNode and can now call IDisplayManager<SitemapNode>. OC is brilliant!
Firstly, apologies for all the ghost comments on this pull request - had to rearrange my github account. I've developed a working interface based on the AdminMenu module to support multiple sitemaps You can create sets of sitemaps which can contain indexes (only at the root level), or content, and select content items to go into each xml file. Think I have the possible options mapped out, you can specify a base path for the sitemap set, or leave them all hanging of the root, and each sitemap, or index etc, can have a path based on the root, which allows the site to be split if required, and for each sitemap you can specify priority and change frequency. These can be extended to provide a media sitemap etc. I need to figure out how best to do the routing next and could do with some help. The sitemaps need to be able to participant in OC routing on varied routes such as The options I've come up with so far are
This does seem the more sensible route. This would mean turning the sitemap sets and sitemaps into ContentItems and attaching an AutoRoutePart to them - something similar to the Menu ContentItem. The dificulty would be providing the parameter route - the site might have to count all the content items on startup to provide any extra fixed AutorouteEntries to the AutorouteRoute. Could drop the over 50,000 feature, or make it less automatic (a start stop index setting on the node)?
This doesn't look dificult, but I'm unsure of the implications of a second IRouter instance. Any help determining the best approach appreciated. |
@deanmarcussen that looks really good! About the routes I think you can go with the custom router, though I don't see why you couldn't use the default route that would have a form like |
thanks @sebastienros all credit to the guys that wrote the AdminMenus! Routing not really my strongpoint but will have a crack at the custom router. |
oh I see, you need to be able to react to a |
ah, ideal, I'll have a look at the middleware option, sounds much better. cheers |
… future support for creating an images sitemap
…er take result - that should be returned, but builders for recursion, and implemented optional providelastmodified date for nodes
…low limits of 50000
…ng sitemap size. Included contained parts in ContentTypesSitemapNodeDriver. Not totally happy with that solution. Seems to restrictive
…ns, convert tree to columns as well.
…route services out of sitemapsetservice.
…s can't be contained, but sitemaps can, but can't contain childnodes)
…k not overreferencing unecesary modules
# Conflicts: # src/OrchardCore.Modules/OrchardCore.Contents/Startup.cs
This is coming along, so putting it up for some feedback
|
Can you please fix the conflicts on the solution since new modules have been added? |
# Conflicts: # OrchardCore.sln
Was looking for something like this.... How much is left to be done? |
Not much I hope Probably me to demo it, and clean up the code after. From memory the biggest issue is in stopping content like layer widgets and menu's turning up the sitemap. Which it does ok at the moment, but I'd like to do it a bit cleaner - see #3848 |
Oh, and supporting localised sitemaps, as all the content localisation came in after I wrote this |
Moved to #4450 |
This is a start towards a sitemaps module, loosely inspired by the IDeliverable.Seo sitemap components from O1.
It provides an extensible sitemap builder which other modules can plug into. Currently have just plugged autoroute in.
It is dependant on a robots.txt file so robots can locate. I'll get that together next week.
Not totally happy with the url generation in the autorouteprovider but was having issues with the UrlHelper failing to generate urls (kept getting index out of range exceptions), so that's something to resolve.
Hope I have placed projects / abstractions in the right places!