Here a few links that might help:
http://www.ateam-oracle.com/webcenter-afcommandlink-or-afgolink-for-navigation/
http://www.ateam-oracle.com/working-with-links-in-webcenter-application/
The thing to remember is that when SEO is important, always use a goLink instead of commandLink because commandLink is javascript based.
The URL will always contain the adf.ctrl_state. If it doesn’t you have a memory leak issue.
The prettyUrl attribute on a navigation model node will automatically add the correct adf control state to the URL.
Infos de Yannick Ongenna