I have a multilanguage website with translatable content and path prefix for Language negotiation. Default language ( English ) doesn't have prefix, and additional language have it. As language switcher I use Consistent Language Interface. But there is one minor problem with it... If I have some node created in one language and this node is published, but doesn't have translated version yet, language switcher will link to another language version ( that doesn't exist yet ) with same URL as original node, but without the prefix ( or other language prefix, if it's used ).
Better to show on example: create a node in one language and publish it ( for example, in Russian language). Let it be something like http://example.com/ru/node-1-url. Don't add a translation to this node, and look at language switcher links. Link to English version will look like http://example.com/node-1-url, but there is no such URL, so page will be 404 error.
As far is I know search systems like Google doesn't like too much 404 errors on site pages, so it's may affect your site positions in Search Index somehow. I first detected such behavior when discovered almost 30 Not Found errors in Google Webmaster panel for my site.
So I decided to add rel="nofollow" to Language Switcher links to make sure that Search Engines don't crawl them and didn't get 404 error. Don't you mind to add it to module core or at least make it configurable somehow? Code for adding rel="nofollow" is extremely easy, in function theme_languageswitcher($links) I find
$options['language'] = $link['language'];
$options['query'] = $link['query'];and changed it to
$options['language'] = $link['language'];
$options['attributes']['rel'] = 'nofollow';
$options['query'] = $link['query'];At least maybe someone will find this useful...