Query string contains session ID parameters
This means that the URL in question contains a query string with parameters that are typically used as session IDs.
Why is this important?
Session IDs are unique identifiers that are assigned to each user when they visit the website, for the duration of the user's visit (session). They are used to track the user's activity during their session, such as the pages they visit, the items they add to their cart, and the forms they submit.
Session IDs are typically stored in cookies, but they can also be stored in the URL, via a parameter.
What this means is that when crawling, every crawled URL will get a query string added with a session parameter, potentially causing an enormous amount of duplication. This is a problem for crawlers like Sitebulb - as it makes the data messy and less helpful - and search engines due to the enormous duplication and wasted crawl budget.
Google state the following in their URL structure guidelines:
What does the Hint check?
This Hint will trigger for any internal URL which contains a query string with any of the pre-defined list of session ID parameters. The list of common session ID parameters which Sitebulb checks against can be adjusted in the global settings.
Examples that trigger this Hint
The Hint would trigger for any URL with a query string using a common session ID parameter, for example:
How do you resolve this issue?
"Wherever possible, avoid the use of session IDs in URLs. Consider using cookies instead."
If you are trying to crawl a website that has session IDs and a resolution has not yet been found (i.e. the client has ignored your sage advice!), you can adjust how Sitebulb handles session IDs so that your website audit contains cleaner data.
You do this is by setting up dynamic rewrite rules for the URLs, so as to remove the session ID parameter.
To do this, in your audit settings, navigate to URL Exclusions on the left hand manu.
From here, scroll down until you reach URL Rewriting. Enter the session ID parameter(s) you wish to rewrite, then check it is working correctly by entering a test URL underneath. If done correctly, the tester should strip the parameter from the query:
Once this has been added, you'll need to crawl the website again.