Google refuses to index one set of dynamic pages

A few months ago I updated a clients site (tpm-inc.com) to use WordPress. Since then google has indexed everything on the site, with the exception of one set of dynamic pages.

I have a file, parts.php that generates pages for machines and manufacturers. This uses URLs like below to pull the relevant information from the database and generate the page.

http://tpm-inc.com/parts/manufacturer/baader
http://tpm-inc.com/parts/baader/600

Google has indexed the parts page itself (ie - http://tpm-inc.com/parts), but not one of the dynamic pages created by it.

I have all of the dynamic pages listed in the sitemap, and I’m not seeing any crawl errors, problems with my robots.txt file, or any other issues in webmaster tools.

Bing and Yahoo have indexed these page, but google doesn’t like them and I’m at a loss as to why. Any help would be greatly appreciated.

It’s because you have

<link rel="canonical" href="http://tpm-inc.com/parts/" />

in the head of each generated page. That tells Google* that this page is a variant of /parts/ and that you would like it to send people to /parts/ instead of this page, please and thank you.

Get rid of that line, and Google will start to index all those pages separately.

Thank you, you are my hero!