For modules that want to operate on publicly-visible entities, we need a reliable method to determine which entity types are not. See #1330546: Pathauto should work with all entity types and #1286122: Incompatibility with Commerce for a little more history. We have some problems with core and contrib entities:
- The comment_uri callback creates links to 'comment/1' URLs which are handled by comment_permalink() which essentially redirects the user to the node page with that comment. I propose that the 'uri_callback' should be removed from comment_entity_info() as comments cannot be viewed individually.
- Commerce entities implement URI callbacks. But for products these end up by admin pages by default and not actually public-visible URIs.
All of our entities except payment transactions have fields and paths, but none of them will be directly displayed to end users or accessible to search bots.
I would propose commerce removes the support for uri_callback unless these entities are actually publicly visible.