I'm the author of that sandbox module(Permalink to Nodepath) mentioned in the first comment for the question. Mario's answer is well described regarding canonical URLs - but unfortunately it's not the only implication.
These comment/* URLs are from Drupal 7. In Drupal 6, comments did not have their own URLs.
Canonical URLs can solve the problem with duplicate contents which is perfectly fine for most sites IMO.
But spam comments can add 404 and 403 errors to your site errors list as they wish. This was my personal experience that my spam hunting service couldn't delete some of the comments so I had to manually delete them. But Google had them already indexed.
The actual problem is that anonymous users can post any type of comments and if they were deleted or unpublished, Google (and other search engines) logs them as crawl errors which is quite annoying and probably it will affect your page rank as well.
In other hand, most link sharing sites, including facebook do not respect the canonical URL. For an example, http://example.com/node/1
can have 56 (facebook) likes but they are not synced if the user liked http://example.com/comment/5
(assume comment 5 is a comment made to node 1). From facebook view, they are 2 different URLs (actually they are) so like counts are different.
Also, modules like Boost rely on the actual request URI setting from $_SERVER which is still comment/5
(even though canonical URL is node/5
). You can however change configuration of Boost module to overcome this.
It's quite popular to use arg(1)
to get the node ID in custom blocks, modules, Views, etc. They will work, because in the callback function of comment/% URLs, that function sets $_GET['q']
to the canonical URL.
This $_GET change solves most of the problems in progrmable stuff.