This is an area outside of what I generally handle, but it's background you should have.
You need to avoid displaying session IDs in the first place on public pages. Beyond creating dupe content, your CMS may be set up in a way that's not secure, as publicly available session urls could be copied by others. Degree of importance here depends of course on what information you're storing.
A frequently employed approach is to use a combination of cookies, which are unique to a user's browser, for general tracking and as an "exchange mechanism" for session IDs, and to limit session IDs in urls to areas where users should need to log in.
Log-in measures and "authentication" routines are necessary to keep private information private. Various authentication mechanisms are used to do this, and I'm really not qualified to explain how to set these up.
The following reference, though, might provide some general perspective and helpful background on the security implications. As noted below in a section I'll quote, problems generally occur in custom CMS systems, for the reaons described...
Top 10 2013-A2-Broken Authentication and Session Management Open Web Application Security Project [
owasp.org...]
Developers frequently build custom authentication and session management schemes, but building these correctly is hard. As a result, these custom schemes frequently have flaws in areas such as logout, password management, timeouts, remember me, secret question, account update, etc. Finding such flaws can sometimes be difficult, as each implementation is unique.
So, part of what you need to consider is what kind of info you have been storing in your sessions.