Hey friend! Have fun exploring Q&A, but in order to ask your own
questions, comment, or give thumbs up, you need to be logged in to your
Moz Pro account.
You can also earn access by receiving 500
MozPoints
from participating in YouMoz and the Moz Blog!

You can use 301s or canonicals even if it's driven by one template. You'll have to set up the 301 rules based ont he URLs themselves or create dynamic caonical tags in the code. if the CMS can drive multple URLs, it can drive multiple canonicals.

If you can't sort that out in the code, you can't use NOINDEX either. You'd end up no-indexing every version.

Your other best bet may be to ignore the ID= parameter in Google Webmaster Tools. Personally, I consider that the worst of the three options, but it is the easiest and it should help a bit.

Hey friend! Have fun exploring Q&A, but in order to ask your own
questions, comment, or give thumbs up, you need to be logged in to your
Moz Pro account.
You can also earn access by receiving 500
MozPoints
from participating in YouMoz and the Moz Blog!
Learn more.