TOC of this answer:
- Content under same Item Id
- How Duplicate content is created / Dynamic Pages / URLs
- SEO perspective
- Dealing with Duplicate content in Joomla
- References and links
1. Why the Articles are being displayed under the same itemid
First of all, this is not the problem why you are getting duplicate urls. The articles are using the home-page's item id, because there is no other item id assigned for them.
Read more regarding this:
And this one might also be insightful:
2. How "duplicate content" is created / Dynamic pages/ URLs
This is actually a standard behavior for dynamic websites that generate their pages by using URL parameters to construct Query Strings in the form of Field-Value pairs.
The server/application will receive the query, process it and return the associative content to the browser.
To understand better this, you might want to disable SEF Urls in a Joomla website and study a little the Non-SEF Url of a page:
Example:
index.php?option=com_content&view=article&id=3&catid=9&Itemid=101
Splitting the above query into fields-value pairs we see:
- option = com_content
- view = article
- id = 3
- catid = 9
- Itemid = 101
These are fields-values that Joomla understands and will try to return the following content as:
It will query in the com_content component and use an article view to display the content item (article) with id 3, of the category id 9, using the Menu Item with id 101.
Many URL variations for 1 page
However the same article can be displayed with even more fields-values combination:
Some possible combinations could be:
- index.php?option=com_content&view=article&id=3&catid=9
- index.php?option=com_content&view=article&id=3&Itemid=101
- index.php?option=com_content&view=article&id=3&Itemid=102
- index.php?option=com_content&view=article&id=3&Itemid=103
- index.php?option=com_content&view=article&id=3
- index.php?option=com_content&view=article&id=3&lang=en
index.php?option=com_content&view=article&id=3&catid=9&Itemid=101&lang=en
index.php?option=com_content&view=article&id=3&catid=9&Itemid=101&lang=en&print=1
index.php?option=com_content&view=article&id=3&catid=9&Itemid=101&lang=en&tmpl=component
As you can see, all the above are requesting the same data from the system, which is the article with id = 3. These leads to the fact that the same content/page can be accessed through various different urls and in some cases can be displayed in different layouts.
*With SEF URLs enabled in Joomla, the above potentially could translate to more than 1 SEF URL for the same article/content.
3. The SEO perspective
Modern Search Engines and Google particularly, are aware of this behavior.
Usually they will try their best, to index and keep in their search results the most suitable URL for a page.
In addition, Google has revealed that there is no actual "penalty" for duplicated content due to this.
However, the main issue in the case that the same content/page has been indexed more than once, is that you possibly are loosing page ranking and the best possible SEO performance, because page ranking will be split into more than 1 page instead of 1.
With this in mind, it is wise to deal with this, instead of letting the Search Engines indexing urls while trying to guess if different urls show the same or different content.
Moreover, controlling your urls and what SE should index, can help you produce a better user experience as whole, since site users will find the same page under 1 only standard url, and it can produce a more solid structure for a website and its management.
4. How to deal with Duplicate Content
Using Canonical URLs for your pages.
Canonical Urls will instruct the search engine about which is supposed the right url of a page that they should crawl and keep in their index.
Using INDEX/NOINDEX, FOLLOW/NOFOLLOW metadata.
Using such metadata in your pages, will instruct search engines if you want them to index or not the content of a page and to follow or not the links found on it.
Using 301 redirects / htaccess.
You can redirect all other URLs to the one that you want at the main. This can be achieved with SEF Extensions or htaccess. Both provide great power, however htaccess has great flexibility considering the ability to use regular expressions for all kinds of redirections/ or rewrites using the mod_rewrite. Regarding J Extensions, when the need arises, I usually use sh404SEF.
Update: As @Neil Robertson noted on the comments: one important redirection is from non-www version of the website to the
www version of the website or vice versa. Add this to the .htaccess
file for non-www to www redirection.
### Redirect non-www to www
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
### Redirect non-www to www - END
Using Google Webmasters Tools
Google Webmasters Tools have options to adjust how the crawler should behave with your URL parameters.
Using Sitemaps
Submit to the Search Engines your site's URL structure.
Using Robots.txt file
Google and other major SE are respecting your Robots.txt. You can instruct them to not crawl specific directories/url paths.
All the above options can be combined in order to produce the desired outcome.
*Like everywhere, so in Joomla, good planning and content organization always help to reach to a better result. Especially with Joomla, this also involves a clean content categorization and menu items structure.
5. References and links
Joomla SEO Extensions
Usually in Joomla if you want to deal with this efficiently you would end up installing a 3rd party SEO-SEF extension.
More reading: