Forum Moderators: phranque
The search engine wants to see a URL that is constant so that it can refer visitors to your site in the future; but if you change the URL on the fly through virtue of a session ID then it cannot do that.
It can and does work however; but a lot depends on how your web server [or application] handles expired sessions. This would happen when someone did a search which found your page and the search engine gave them the URL that it crawled ages ago containing a session ID. If the web server couldn't care less and just displayed the page there wouldn't be much of a problem, but what often happens is that the web server baulks at the invalid session ID and displays an error instead.
Because of this, the search engines shy away from URLs that look like they contain a session ID.
If the robot can identify which part of the query string is the session ID, then why should there be a problem
A robot cannot identify a session ID, it can only guess that something might be a session ID. This takes you back the point given above - why bother indexing something that may be a moving target.
If I am correct that they don't use cookies, why not?
There would be nothing stopping a robot using cookies; but there is not a lot of point. The reasons for using cookies are not relevant in the context of a search engine robot indexing web pages.
My question is now as follows: What if, in order to avoid search engine problems, I always put the session ID in a cookie (assuming the user allows it)? Do I understand correctly that the robot will never even relate to the cookie, and therefore I succeed on both fronts: Users get session data, and the search engine robot happily indexes away?