Got a website consisting of URLs like this:
http://www.example.com
http://www.example.com/products
http://www.example.com/helpdesk
At the top of each page are some menu options, including a language selection. Visitors can chance the site language from English to French, Spanish, etc. Currently they end up on the same page URLs as above, but now the content appears in their language of choice. The language selection is in fact a small form, which sets a language cookie when submitted, and each page serves content in the language specified in their cookie (with the default being their browsers' language-accept setting).
The idea was that if a German user clicks a link, he'll get the content in German, while a French user clicking the same URL will get the same content in French. However I realize this setup (same URL, different content) is wrong, i.e. bad for search engines. I am now considering different alternatives to give each page in each language a unique URL, such as: (using "/something" as an example page here)
http://es.www.example.com/something
http://fr.www.example.com/something
or
http://es.example.com/something
http://fr.example.com/something
or
http://www.example.es/something
http://www.example.fr/something
or
http://www.example.com/fr/something
http://www.example.com/es/something
or
http://www.example.com/something/fr
http://www.example.com/something/es
or
http://www.example.com/something?Lang=fr
http://www.example.com/something?Lang=es
Are there any advantages or disadvantages to one of these approaches? Personally I dislike the latter (feels ugly to require URL params everywhere). And the thing with different TLD's (such as .es and .fr) is that they're country-specific, rather than language-specific. So visitors from Canada speaking French would need to use example.fr (as opposed to .ca), and visitors from Mexico / Argentina / etc would need example.es, and so on. Dunno if that's an issue?
Is one method better than others, considering SEO? (e.g. does it matter for URL-keyword-importance to put the /es or /fr "subdir" at the beginning or end of the URL? etc)
Does anyone have any ideas or suggestions about this? Am I missing something else?
Multilanguage site vs SEO: unique URL per page per language?
Moderator: General Moderators
Re: Multilanguage site vs SEO: unique URL per page per langu
Why don't you just have the per-language translation of "something"? I feel like that would make the most sense. Then you could see which page it matches, and which language it matches, and display the appropriate content. Regardless, this is a very interesting idea.
Re: Multilanguage site vs SEO: unique URL per page per langu
I usually use something like this in my projects:
http://www.example.com/fr/something
http://www.example.com/es/something
It does very well with Google at least. I use CodeIgniter and there is a Language library that makes it very easy to implement and the translations are dynamic.
later
http://www.example.com/fr/something
http://www.example.com/es/something
It does very well with Google at least. I use CodeIgniter and there is a Language library that makes it very easy to implement and the translations are dynamic.
later
Re: Multilanguage site vs SEO: unique URL per page per langu
Thanks, yeah I actually considered that. But there are several problems with this approach, for example when adding new content, I don't always have translations of the content available immediately (nor the opportunity to wait until I've got translations in all languages before publishing the page).jraede wrote:Why don't you just have the per-language translation of "something"? I feel like that would make the most sense. Then you could see which page it matches, and which language it matches, and display the appropriate content. Regardless, this is a very interesting idea.
But more importantly, sometimes words are the same in different languages. For example a "download" page, there is no proper translation for that in Dutch, it'd still be "download".
Other than step 1 (which I already have) and step 3 (which is not possible, see above) I have NO clue at all what you meanamismart wrote:Step 1: Make URLs user and search friendly
Step 2: Separate URLs
Step 3: Translate URLs
Step 4: Add URL numbers
Step 5: Optimize URLs
Thanks, yeah after some browsin' around I also found this scheme to be quite common, so I'll go with that.impeto wrote:I usually use something like this in my projects:
http://www.example.com/fr/something
http://www.example.com/es/something
Re: Multilanguage site vs SEO: unique URL per page per langu
Make it so that it checks the language with a query. On all the pages, the URL should contain: "language=en" or "language=es". Hide and rewrite these queries with an .htaccess file to (site.com/es/directory/file), and load language files based on the language. You should PHP define your directories and your filenames within each language pack.
For example, for the English directory names:
Define(WS_SERVICES, "services/");
Define(WS_CORPORATE, "corporate/");
Define(WS_PRODUCTS, "products/");
And for the Spanish directory names:
Define(WS_SERVICES, "servicios/");
Define(WS_CORPORATE, "corporacion/");
Define(WS_PRODUCTS, "productos/");
Don't use accents in the URLS with Spanish. They aren't familiar with where to use them.
For example, for the English directory names:
Define(WS_SERVICES, "services/");
Define(WS_CORPORATE, "corporate/");
Define(WS_PRODUCTS, "products/");
And for the Spanish directory names:
Define(WS_SERVICES, "servicios/");
Define(WS_CORPORATE, "corporacion/");
Define(WS_PRODUCTS, "productos/");
Don't use accents in the URLS with Spanish. They aren't familiar with where to use them.
Re: Multilanguage site vs SEO: unique URL per page per langu
What's the advantage of this over using /en/ or /es/ directly in the URL?carnavia wrote:Make it so that it checks the language with a query. On all the pages, the URL should contain: "language=en" or "language=es". Hide and rewrite these queries with an .htaccess file to (site.com/es/directory/file), and load language files based on the language. You should PHP define your directories and your filenames within each language pack.
I.e. my URL would be http://www.example.com/es/something , I don't see why http://www.example.com/something?language=es (which internally rewrites to http://www.example.com/es/something) would be better?
I prefer to avoid requiring a GET param in every URL.
This seems pretty unworkable to me. If I add some new pages, and I have 8 languages, how do I get all the translations in there? Should I email the translators and copy/paste all words in there manually? Sounds like lots of overhead...For example, for the English directory names:
Define(WS_SERVICES, "services/");
Define(WS_CORPORATE, "corporate/");
Define(WS_PRODUCTS, "products/");
And for the Spanish directory names:
Define(WS_SERVICES, "servicios/");
Define(WS_CORPORATE, "corporacion/");
Define(WS_PRODUCTS, "productos/");
And moreover, what to do when page names are the same in different languages?
For example, in English I'd have:
Define(WS_DOWNLOADS, "downloads/");
But in Dutch, I also have:
Define(WS_DOWNLOADS, "downloads/");
How am I able to determine the language from that?
Not sure what you mean there, maybe we non-Spanish-speakers are not familiar with them. But for Spanish, and even more so in several other languages, accents are an essential part of the language. You cannot simply leave out the ~ from a word like señor, it looks crappy to native Spanish speakers...Don't use accents in the URLS with Spanish. They aren't familiar with where to use them.
Re: Multilanguage site vs SEO: unique URL per page per langu
Because example.com/es/something is easier to remember and to type. And why don't you want to have that get into your query? That is how Google does itJace wrote: What's the advantage of this over using /en/ or /es/ directly in the URL?
I.e. my URL would be http://www.example.com/es/something , I don't see why http://www.example.com/something?language=es (which internally rewrites to http://www.example.com/es/something) would be better?
I prefer to avoid requiring a GET param in every URL.
You have files for the body in the language files. You copy the English files, rename the folder to spanish, and just write the spanish. And example of the set up for the index page:Jace wrote:This seems pretty unworkable to me. If I add some new pages, and I have 8 languages, how do I get all the translations in there? Should I email the translators and copy/paste all words in there manually? Sounds like lots of overhead...
define(TEXT_MAIN, '<p>Hello and welcome to my site.... </p>');
However, this all depends on how you have the content and layout set up. Programming is flexible. But if you want different languages, it's not worth having to worry about layout AND the text. If your layout is the same for every language, you should set it up so that you can just change the languages or just change the layout.
yoursite.com/es/downloads/Jace wrote:And moreover, what to do when page names are the same in different languages?
For example, in English I'd have:
Define(WS_DOWNLOADS, "downloads/");
But in Dutch, I also have:
Define(WS_DOWNLOADS, "downloads/");
How am I able to determine the language from that?
and
yoursite.com/nl/downloads/
Leave accents out in the URLs for Spanish. Other languages, I'm not sure. But I just know it's not common for native Spanish speakers to remember where all the accents go. They won't be able to type in your URLs by memory.Jace wrote:Not sure what you mean there, maybe we non-Spanish-speakers are not familiar with them. But for Spanish, and even more so in several other languages, accents are an essential part of the language. You cannot simply leave out the ~ from a word like señor, it looks crappy to native Spanish speakers...
- Robert Sinclair
- Forum Newbie
- Posts: 10
- Joined: Sun Jan 30, 2011 10:58 pm
Re: Multilanguage site vs SEO: unique URL per page per langu
We once tried with having different sub domains for different languages. This was of course before Google and other search engines agreed upon the "rel=canonical" parameter.
So the trick is basically like this.
English : en.sample.com
French : fr.sample.com
etc
So essentially we were making use of different sub domains for different languages. It worked well for ranking and indexing too. However, we needed to have different databases which was a pain. But once you got used to the setup, it was easy to use.
So the trick is basically like this.
English : en.sample.com
French : fr.sample.com
etc
So essentially we were making use of different sub domains for different languages. It worked well for ranking and indexing too. However, we needed to have different databases which was a pain. But once you got used to the setup, it was easy to use.