One thing about many DNN modules that irks me from a SEO and 'human friendly' point of view is the continual use of putting database id's in the query string. It's something that adds no value to the end user and is what I call a 'programmer shortcut'. It's very easy to just parse out the database Id from the query string, but it makes no sense to the user, and anything that doesn't make sense to the user doesn't work too well for search engines, either. It's difficult to program a module that doesn't use a database id as the query string value, but I've managed to do it several times - you just have to do a bit more effort, testing and think a bit harder. After all, databases can tell you immediately if a value is unique or not, so you just need to come up with a way of generating a bit of human-friendly text that not only describes the content but also unique identifies it - without resorting to gibberish alpha-numerics.
I've had an email exchange recently regarding the ability to rewrite query strings for a popular Dnn module. Specifically, the query string key doesn't make any sense in the context of the implementation, and then you just have a number instead of something identifying the content. By this I mean (as an example) this forum - you get forumId/6/postid/23/scope/posts or something like that.
Wouldn't it be better if it was /forum/feature_requests/post/rewriting_unfriendly_query_strings/ ?
Doing that would involve rewriting the forum module. Or would it? I think I have a few ideas on how to achieve this. Let me know if you think this would be a good idea, or pitch me a different take on things to get the grey matter working.