ExpressionEngine CMS
Open, Free, Amazing

Thread

This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.

The active forums are here.

Multilingual sites - landing pages and SEO

July 08, 2008 10:15am

Subscribe [6]
  • #1 / Jul 08, 2008 10:15am

    Daniel Eriksson

    31 posts

    I’m trying to figure out a way to keep both users and search engines happy with regards to multilingual sites. In particular I’m looking for a way to get “clean” landing page URLs and still have all the content indexed. This isn’t really a CodeIgniter issue, but more of a general URL structure issue.

    My first multilingual CI project will be a rewrite of my own homepage (see signature below). I know it’s a bit over-ambitious to build a multilingual personal website, but I have my eyes on another project that will need similar functionality in the near future so I consider this a testbed.

    Currently I evaluate HTTP_ACCEPT_LANGUAGE on initial session creation and store the result in a session variable. I also provide the user with a link on every page to change the default selection (which I persist using a client side cookie).

    - http://www.toomuchdata.com/blog.php (language depends on HTTP_ACCEPT_LANGUAGE)
    - http://www.toomuchdata.com/blog.php?lang=en (content in English, and future page views using same session will show English content if available)
    - http://www.toomuchdata.com/blog.php?lang=sv (content in Swedish, and future page views using same session will show Swedish content if available)

    One big problem with this is that each content page can be reached through two different URLs (and duplicate content is bad for SEO).

    I would like to preserve the auto-language-selection using HTTP_ACCEPT_LANGUAGE in my rewritten CodeIgniter solution, but at the same time prevent duplicate content so that spiders are happy. (And also keep the URLs as clean and tidy as possible.)

    I’d like to avoid always encoding the language in the URL like this:
    http://www.example.com/en/blog/
    http://www.example.com/sv/blog/

    Instead I want the blog landing page to be:
    http://www.example.com/blog/
    I can then continue doing what I’m doing today with HTTP_ACCEPT_LANGUAGE and also let the user select his/her preferred language. But how do I go about making the content in both languages available to spiders in a way they can understand and index properly?


    Does anyone have any suggestion or ideas on how to solve this tricky problem?

  • #2 / Sep 12, 2008 10:30pm

    JulianM

    84 posts

    Hi,

    Did you find an answer to this problem? I’m willing to use the HTTP_ACCEPT_LANGUAGE way. But I’m also wondering about a route alternative (CodeIgniter routing capability). Do you think routing to something like /es/blog would be disliked by search engines? (due to duplicate content?)

    Thanks,

    Julian

  • #3 / Sep 13, 2008 6:46am

    phantom-a

    77 posts

    Maby like this?
    http://clipsharedemo.com/  at the top right there is drop down box for language. It uses a post with a variable.
    So there is no links for a search engine pick up dupe content, it sets in the cookie.
    It uses a smarty template with language files.

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases