Der er i hvert fald et eller andet du har misforstået. Man skifter ikke bare en ? ud med en #. Det er tale om to vidt forskellige ting.
? bliver brugt til at sende beskeder til serveren med. Så skal man vise en side med et produkt (og bruger man ikke søgemaskinevenlige url'er såsom http://minshop.dk/mit-super-fede-produkt-i-blå/) ja så bruger man ? til at indikere dette http://minshop.dk/show-product.aspx?product_id=123123.
Det kan man ikke bare lave om på. Det er så'n http protokollen funker og alle web teknologier bruger dette.
# der i mod bliver ofte brugt til "scripting" på klienten (javascript). Oftest ses # aldrig i adresse linien da det egentligt bare bliver brugt af scriptet. Fx. har jeg nogle tabs på min blog der har "url'en" #tab1, #tab2 og #tab3. Men dette vises som sagt aldrig i url'en, det er bare en instruks til javascriptet.
# blev oprindeligt brugt til at navigere indenfor den samme side så man fx kan hoppe direkte til en under-overskrift. Det bruges det egentligt stadig til, men snakker vi funktionalitet bruger man det som sagt også rigtigt meget til javascript.
Nu skal jeg ikke blive for teknisk, men kan faktisk godt lave et såkaldt ajax kald til serveren og lade dette reagere på #, men det vil jeg ikke komme for meget ind på da vi allerede er alt for tekniske.
Pointen er at du stiller et spørgsmål der ikke er et svar på. Det er som at spørge hvordan monterer man hjulene i motoren på min bil (og forventer at den stadig kører).
Pointen er at hvis din shop udbyder bruger ? til at vise produkter med som i ovenstående eksempel, så skulle de tage at komme lidt op i gear og lave deres shop om så de kan lave søgemaskine venlige url'er. Da dette ofte ikke lige sker på de gamle systemer (det er jo en cashcow nu, der laves vel ikke rigtig mere reel udvikling), så vil jeg opfordre dig til at finde et nyt shop system der gør at du rent faktisk kan konkurrere i google på lige vilkår med de andre shops i din branche.