Die URLs, die als "richtige URL" verwendet werden sollen, machst du zur canonical URL. Lies dich mal ein zum Thema "canonical". Das sollte laut google schon reichen!
Zusätzlich dazu kannst du in den google webmaster tools google verbieten, urls mit dem parameter xyz zu crawlen, also z. B. artid -> NO URLS. Das ist die bessere Variante als robots.txt.
Dann musst du die da rausholen und nur die "pretty urls" drinnen lassen.
Sehe keine andere Möglichkeit. Du brauchst ja ein Alleinstellungsmerkmal, anhand dessen du URLs selektieren kannst. Und das ist eben "artid" und nicht Produkt A: tolles_Produkt.html", Produkt B "noch_tolleres_produkt.html" etc.
Robots.txt sind eher weniger geeignet. Sollten nämlich andere Websites einen backlink auf die artid URL setzen, geht google dieser Seite trotzdem nach und indexiert sie auch, obwohl in robots.txt ausgeschlossen! Vgl. https://support.google.com/webmasters/b ... wer=156449
Also entweder optionalerweise das noindex Attribut setzen UND den canonical tag, ODER kein noindex attribut, aber canonical tag ODER URL Parameter ausschließen und optionalerweise canonical tag (wenn es keine weitere url mit identischen content gibt)