how to block internal Drupal paths for anonymous users? Is it possible to block internal Drupal paths for anonymous users and leave only paths generated by pathauto? For example:


block path: /taxonomy/term/5
leave path: /products/books


In google webmaster tools for my site, all taxonomy pages have an issue called "Pages with duplicate title tags" and google is showing both paths for each term, which is a problem. How to block the internal Drupal path for anonymous users?

By the way, apart from this, some taxonomy terms are purely for config and their paths should be blocked not because googlebot has a problem but generally, those paths make no sense for non-admins and should never be accessed directly via url.
If you have clean URLs enabled, and are using the Global Redirect module, the users should never actually see the default paths (sometimes also called the internal path).

If a user goes to node/123 or taxonomy/term/456, and a path alias exist, then they will get an HTTP 301 and then redirect the the path alias.  Google and won't index the paths that 301.

In addition, Drupal will add a rel='canonical' to the header, to notify the world about the offical URL.

However, if you ever had you site without Global Redirect enabled, then you could at one point access pages from multiple paths.  Once Google starts seeing 301 responses for paths, it will eventually delist the page.  You can speed up the process by also disallowing the paths in your robots.txt and/or submitting page/directory removal requests.  Just remember to backup your robot.txt (or better yet put it in your VCS) because it will get nuked during core updates.