How to disable language embedding in URLs in Sitecore?
Asked Answered
D

2

8

After setting up a simple Sitecore site, links to pages sometimes contain the current language:

http://example.com/item.aspx
http://example.com/en/item.aspx

I would like to disable this behavior so that all links point to http://example.com/item.aspx without the language as part of the path. How can this be done?

Decanter answered 15/2, 2013 at 21:22 Comment(0)
D
28

The web.config has a configuration setting for <linkManager> where the languageEmbedding option can be configured:

<linkManager defaultProvider="sitecore">
    <providers>
        <clear/>
        <add name="sitecore" ... languageEmbedding="asNeeded" ... />
    </providers>
</linkManager>

The languageEmbedding options are:

  • asNeeded
  • always
  • never

Changing the config to use languageEmbedding="never" will stop the language from showing up in the URL, and likewise languageEmbedding="always" will force the language to always show up in the URL.

Decanter answered 15/2, 2013 at 21:22 Comment(2)
what will asNeeded do? Correct me if i'm wrong - my research so far suggests that it's a placeholder telling sitecore you'll create your own linkmanager to check whether it's needed. The default Sitecore linkmanager treats it the same as never.Chicory
asNeeded embeds language when no language cookie is foundGlaze
M
11

You should not use the "asNeeded" option as it might cause multiple urls for the same pages. Use either "never" or "always" which is much more SEO-friendly

Mcglone answered 16/2, 2013 at 19:21 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.