This post highlights a common problem with Joomla and other CMSes. Without the correct setup many different URLs can be indexed for the same page.
Joomla applies an ID for each category and each item. For auto-generated links, all Joomla processes are these IDs (ie. /236-category-name/121-article-name) - the additional category names and article names are irrelevant. And these pages can be indexed by bots in a range of variations (ie. print or email buttons, feeds, trailing /, or trailing index.php etc.).
If you missed the above comment from @FFrewin, he offers a more detailed explanation at How to deal with Duplicated Content / URLs in Joomla?
I'd like to cut to the chase on the best ways to fix this, and add a couple of points.
Are you doing it to yourself? You could be the problem in the way that you have setup your menu items and what you have included in your sitemap.
Multiple menu items for the same page from different menus instead of using one menu and using menu item alias
to link to that preferred menu item, or running a sitemap extension and not blocking/removing duplicates.
Create a hidden menu: one that contains direct menu links to all of your static pages which aren't already covered by visible menu items. This forces Joomla to default to that page link when displaying pages.
Avoid leaving empty categories or unnecessary categories and dummy articles published (either unpublish them or better yet, delete them).
It is also best to avoid sub-categories if possible where the top category contains no pages - if you must used nested categories, you should use a redirect plugin to redirect the empty top category page to somewhere. Better yet, actually create an overview page for that category and link it with it's own menu item.
For smaller sites, preventing issues can easily be done by configuring .htaccess, robots.txt, and a URL redirect extension for 301-redirects.
Search the JED Site Management category for URL Redirection http://extensions.joomla.org/category/site-management
htaccess Correct use of htaccess
is probably the most powerful way to manage your links on the site, but it does require some learning. Using your Joomla .htaccess file you can solve quite a few of your duplicate URL issues such as removing trailing slashes:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
and routing www and non-www URL's:
www to non-www redirect
RewriteEngine On
RewriteCond %{HTTP_HOST} www.example.com
RewriteRule (.*) http://example.com/$1 [R=301,L]
non-www to www redirect
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
Robots.txt (remember that this is only there to guide robot activity - it cannot stop them.)
Set-up your robots.txt file to disallows any URL with a query string, i.e. a '?' from being indexed, see the article about robots.txt for the code. It both prevents issues with duplicate UR's because of non-SEF URL's, but also real query strings, like these:
`/contact.php`
`/contact.php?font-size=larger`
See this article for details on how to correctly set your robot.txt file: http://joomlaseo.com/checklist/robots-txt-for-search-engines
For larger sites, using a SEF extension is more efficient, but it
involves learning how to use them. If used correctly, all duplicate
URL issues will be solved. However, if used incorrectly, you could end
up blocking bots from indexing your pages.
Search the JED under Site Management category for the SEF extension that is best for you. http://extensions.joomla.org/category/site-management
Lastly, as mentioned, Google Search Console allows you to block
specific links from being indexed.
This is a recommendation to Google and often does not solve the problem, and for larger sites can be time consuming to cover all possible options. Again, if your sitemap includes multiple links for the same page you are working against yourself.