How to solve so .dk cant access /en/... pages? And we have 6 domains going in to same website but different languages ( da/en/de/bg...) so at the moment every site has 5 dublicate content.
That is for the link tag. The problem is that you can type the two specified URLs and get to the same page. The .com domain and the .dk domain i need not to share pages ( but of cource have it in the same umbraco solution )
from my understanding of SEO it is definitely not counted as duplicate content if the domain is different and the domains globalwindpower.com and globalwindpower.dk are separate even though they both share the 'globalwindpower' part. That means for search engines they will find the same content on two different sites which if from that perspective fine as you should not get any penalties.
A different matter is that if somebody searches for a keyword on any of the 6 identical pages, e.g. 'The Turnkey concept', the search results might actually list all 6 of your pages and the user might wonder why the information is the same on all of them.
The question for me is why you display the same English content on all of these language specific domains anyway? What is the point of having 6 different (sub) sites, one for each language, if they are all using the same language (and have the same content obviously)?
Ah ok, because you were talking about SEO I offered the canonical tag.
This has nothing to do with SEO, but pure Umbraco :-) If the .com and .dk site are two different website, why didn't you create two websites in one Umbraco installation? And how do you know which page should be displayed on which site?
As you see i have a global node "Global Wind Power" containing info for all languages ( like company name etc.. )
So i dont display the same english text on both site. One site is english and one is english but as you see when you replace .com with .dk you still get the same english page - but i would like to get it to a 404 site as the page dosent exists for the .com domain ( i want .com to be restricted to the en and subnodes )
If so, I'd agree with Sascha in that you should only really have the relevant countries language under each site and simply redirect to the different domains if you need a dfferent language.
mydomain.com - page1.aspx < English mydomain.dk - page1.aspx < Dutch
It sounds as though you've kinda mixed 2 ways of doing multilingual (ie, domains and sub directories) rather than just using one. Ideally, you'd either:
1) Create seperate sites in umbraco for each language registering different domains to them
or
2) Use one domain, and use ISO code subdirectories
I'd probably suggest that you choose one and restructure accordingly.
Another things you could look into, and I'm not 100%, is using google web master tools to tell it which content is relevant to which country, and tell it to just ignor the others (obviously this won't solve some of the other issues Sascha mentioned).
@Matt 1) Create seperate sites in umbraco for each language registering different domains to them
Isnt that what i have done? Could you try edit my picture to visual show how you would structure it to work with 1 domain pr language. and what page should have the host name assigned to it.
I see your point Matt - but with this solution i would have to specify the common properties on the "Global Wind Power" node 6 times. Lets say i have a property called "companyName" that would be "Global wind power" for all 6 nodes. Any thoughts on this?
For truley global info (ie doesn't change per language), then you could either use the web.config, or just create another node at the root, which isn't a site, but is just for global info, then have each site look it up (either by storing the id in web.config, or some XPath statement looking for a specific doctypealias).
I have been testing the scenario and cannot find the ultimat setup. I have tested both Matt's and Sun's ideas and used them both in the same setup. Unfortunately when I solve one problem, a new one emerges.
Here is the content tree Anders and me want to build (Sorry about the danish texts):
One root note, for information common to all languages.
Nodes for every language wich each have one domain connected.
Pages under the "en" node cannot be accessed by other domains than it's own .com domain.
The option to have only one domain for all languages, so the languages will be accessed by their language node name. Eg. "muubs.com/en" or "muubs.com/da". This one is only to have the same setup for all sites, no matter the domain setup.
Here is what we have tried all with the above setup if nothing else is noted:
@Matt's solution: That solution have 2 problems.
No common root node. We want the common root node to hold information shared between all languages.
The option of having one domain for all languages is lost.
Otherwise it works perfectly.
@Sun's solution Great point, and this (almost) works. In combination with Matt's solution it works perfectly. In our setup above it seems a very buggy though. We have had the following problem:
With the domainprefixes set to false the text-page gets these two diferent links: Why are they different? furthermore only the top one works, so what's the deal with the alternative link?
With the domainprefixes set to true the text-page gets the same link like so:
These links are not correct and the 404 page is displayed. Again... weird. I then tried the url "http://muubs.com/en/text-page.aspx" and again I was sent to the 404 page. Can anyone explain that
So a lot of testing and no real result. Any ideas?
The config node can easily be resovled by creating another root node which isn't actually a site, but is just a node to hold data. You can then have your doc types look up the relvant values from it. Granted you can't do a recursive property, but I think it's a small price to pay.
The main problem you've got is with number 2. The real issue being that you are wanting it both ways. By opening it up for one domain to have language folders, you have to open it up to all. The only other suggestion I could make, is to go with you original setup, and use UrlRewriting to rewrite any requests on a language specific domain made to a language subfolder, to redirect to the other language domain. ie
This may give you the flexibilty you need, but will require you to manage a set of rewrite rules, which aren't obvious to everyone, so if you added a new domain, you'd probably have to setup another rewrite rule.
Matt
PS Regarding domain prefixes, do you actually have the site setup at http://muubs.com, as if not, then you will receive a 404 if you try to go there and that page isn't setup on that system. (You could modify your hosts file to test it localy)
Regarding the muubs.com domain, that was only for illustration. I cannot use the domain, as it is pointing to the old site on our server. I have, through my hosts file been using "muubs1.teasolutions.dk" and "muubs2.teasolutions.dk". You can try them as well.
Anyways. An answer to the problem with the domainprefixe=true is at the highest priority. If that actually worked it would solve all the problems.Here is the problem description again. (Just for new readers)
---------------------------
With the domainprefixes set to false the text-page gets these two diferent links: Why are they different? furthermore only the top one works, so what's the deal with the alternative link?
With the domainprefixes set to true the text-page gets the same link like so:
These links are not correct and the 404 page is displayed. Again... weird. I then tried the url "http://muubs.com/en/text-page.aspx" and again I was sent to the 404 page. Can anyone explain that
-----------------------------
When set to true it seems to destroy the links wich, in my book, should not be happening.
Bonus question: Why is it possible to add a domain to a subnode, if it only works properly if the domain is added to the root node? In other words, why does yours (Matt's) solution work and not ours?
@Sun what i want is to know what domainprefixe=true does exactly and what domainprefixe=false does. And also what it does with the node that has a domain attached to it, what it does to the url of it and also its sub nodes and what about nodes in same level as the node with the domain attached?
you would think that - but some of the nodes has the domain as prefixed and some dosent have and thats what making me thing what the property does and should do
looking in the umbracoSettings.config file, you'll find the following comment:
<!-- this will ensure that urls are unique when running with multiple root nodes -->
What this would suggest is that the purpose of the useDomainPrefixes tag is to force the domain on the front of your urls so that if you do have multiple root nodes, it will know which site to resolve to.
So with it enabled, your link to document property should have the domain included, an without it, it should start '/'
This seems to be inline with what you are finding, however you seem to be having an issue getting the fully qualified domains to work.
The only thing I can suggest here is if you are working locally to test this, make sure the domains you are using are registered in your hosts file as if the domain doesn't resovle to your site, it's not going to work and will just return 404.
@Matt i will try to find time to test it locally - as i first need to have the domain prefixed to alle nodes urls and when that works i need the umbracoRedirect property to work correctly as i think that it dosent handle the request correct or cant resolve the url. Any thoughts on this? Sound as a thing where there is a bug or must me that want to bend the system in a direction where i cant win?
umbraco SEO bug/feature?
Hi all,
I hope any of you SEO/umbraco experts can help me with my question as i dont know yet if its a bug in umbraco or a must have feature in umbraco.
Try go to http://www.globalwindpower.com/en/turnkey/what-is-turnkey.aspx and then replace .com with .dk. This show the same page as seen with umbraco eyes it should. But from a SEO perspective it is dublicate content and is bad!
How to solve so .dk cant access /en/... pages? And we have 6 domains going in to same website but different languages ( da/en/de/bg...) so at the moment every site has 5 dublicate content.
You can use the canonical tag: http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html
That is for the link tag. The problem is that you can type the two specified URLs and get to the same page. The .com domain and the .dk domain i need not to share pages ( but of cource have it in the same umbraco solution )
Hi Anders,
from my understanding of SEO it is definitely not counted as duplicate content if the domain is different and the domains globalwindpower.com and globalwindpower.dk are separate even though they both share the 'globalwindpower' part. That means for search engines they will find the same content on two different sites which if from that perspective fine as you should not get any penalties.
A different matter is that if somebody searches for a keyword on any of the 6 identical pages, e.g. 'The Turnkey concept', the search results might actually list all 6 of your pages and the user might wonder why the information is the same on all of them.
The question for me is why you display the same English content on all of these language specific domains anyway? What is the point of having 6 different (sub) sites, one for each language, if they are all using the same language (and have the same content obviously)?
Hope that makes some sense,
Sascha
Ah ok, because you were talking about SEO I offered the canonical tag.
This has nothing to do with SEO, but pure Umbraco :-)
If the .com and .dk site are two different website, why didn't you create two websites in one Umbraco installation?
And how do you know which page should be displayed on which site?
Let me upload an image as that is much easier :)
As you see i have a global node "Global Wind Power" containing info for all languages ( like company name etc.. )
So i dont display the same english text on both site. One site is english and one is english but as you see when you replace .com with .dk you still get the same english page - but i would like to get it to a 404 site as the page dosent exists for the .com domain ( i want .com to be restricted to the en and subnodes )
Hey Anders,
Just to clarify, can you confirm your website structure to be like:
mydomain.com
- en
- - page1.aspx
- dk
- - page1.aspx
mydomain.dk
- en
- - page1.aspx
- dk
- - page1.aspx
If so, I'd agree with Sascha in that you should only really have the relevant countries language under each site and simply redirect to the different domains if you need a dfferent language.
mydomain.com
- page1.aspx < English
mydomain.dk
- page1.aspx < Dutch
Matt
@Matt - seen the image?
lol, you beat me to it.
It sounds as though you've kinda mixed 2 ways of doing multilingual (ie, domains and sub directories) rather than just using one. Ideally, you'd either:
1) Create seperate sites in umbraco for each language registering different domains to them
or
2) Use one domain, and use ISO code subdirectories
I'd probably suggest that you choose one and restructure accordingly.
This umbraco.tv episode may also help. http://umbraco.org/documentation/videos/for-site-builders/running-multiple-sites/structure,-domains-and-languages
Another things you could look into, and I'm not 100%, is using google web master tools to tell it which content is relevant to which country, and tell it to just ignor the others (obviously this won't solve some of the other issues Sascha mentioned).
Matt
@Matt 1) Create seperate sites in umbraco for each language registering different domains to them
Isnt that what i have done? Could you try edit my picture to visual show how you would structure it to work with 1 domain pr language. and what page should have the host name assigned to it.
Hey Anders,
I'd do something like this:
Basically each language has it's own website with the relevant domain / language registered via the "Manage hostnames" context menu item.
This way each language is simply a seperate site, with no duplicate content, just language specific content.
The way you currently have it is better suited to the single domain method.
Matt
I see your point Matt - but with this solution i would have to specify the common properties on the "Global Wind Power" node 6 times. Lets say i have a property called "companyName" that would be "Global wind power" for all 6 nodes. Any thoughts on this?
For truley global info (ie doesn't change per language), then you could either use the web.config, or just create another node at the root, which isn't a site, but is just for global info, then have each site look it up (either by storing the id in web.config, or some XPath statement looking for a specific doctypealias).
Matt
@Matt we will try your ideas today..
set domainprefixes as true in umbraco.config, then assign domain for each site
Hi,
I have been testing the scenario and cannot find the ultimat setup. I have tested both Matt's and Sun's ideas and used them both in the same setup. Unfortunately when I solve one problem, a new one emerges.
Here is the content tree Anders and me want to build (Sorry about the danish texts):
Here is what we have tried all with the above setup if nothing else is noted:
@Matt's solution:
That solution have 2 problems.
Otherwise it works perfectly.
@Sun's solution
Great point, and this (almost) works. In combination with Matt's solution it works perfectly. In our setup above it seems a very buggy though. We have had the following problem:
With the domainprefixes set to false the text-page gets these two diferent links:
Why are they different? furthermore only the top one works, so what's the deal with the alternative link?
With the domainprefixes set to true the text-page gets the same link like so:
These links are not correct and the 404 page is displayed. Again... weird.
I then tried the url "http://muubs.com/en/text-page.aspx" and again I was sent to the 404 page.
Can anyone explain that
So a lot of testing and no real result. Any ideas?
/Rune
Hi Rune,
The config node can easily be resovled by creating another root node which isn't actually a site, but is just a node to hold data. You can then have your doc types look up the relvant values from it. Granted you can't do a recursive property, but I think it's a small price to pay.
The main problem you've got is with number 2. The real issue being that you are wanting it both ways. By opening it up for one domain to have language folders, you have to open it up to all. The only other suggestion I could make, is to go with you original setup, and use UrlRewriting to rewrite any requests on a language specific domain made to a language subfolder, to redirect to the other language domain. ie
http://mydomain.dk/dk/mypage.aspx > OK
http://mydomain.dk/en/mypage.aspx > Redirect to http://mydomain.com/en/mypage.aspx
This may give you the flexibilty you need, but will require you to manage a set of rewrite rules, which aren't obvious to everyone, so if you added a new domain, you'd probably have to setup another rewrite rule.
Matt
PS Regarding domain prefixes, do you actually have the site setup at http://muubs.com, as if not, then you will receive a 404 if you try to go there and that page isn't setup on that system. (You could modify your hosts file to test it localy)
Hi Matt,
Regarding the muubs.com domain, that was only for illustration. I cannot use the domain, as it is pointing to the old site on our server. I have, through my hosts file been using "muubs1.teasolutions.dk" and "muubs2.teasolutions.dk". You can try them as well.
Anyways. An answer to the problem with the domainprefixe=true is at the highest priority. If that actually worked it would solve all the problems.Here is the problem description again. (Just for new readers)
---------------------------
With the domainprefixes set to false the text-page gets these two diferent links:
Why are they different? furthermore only the top one works, so what's the deal with the alternative link?
With the domainprefixes set to true the text-page gets the same link like so:
These links are not correct and the 404 page is displayed. Again... weird.
I then tried the url "http://muubs.com/en/text-page.aspx" and again I was sent to the 404 page.
Can anyone explain that
-----------------------------
When set to true it seems to destroy the links wich, in my book, should not be happening.
Bonus question: Why is it possible to add a domain to a subnode, if it only works properly if the domain is added to the root node? In other words, why does yours (Matt's) solution work and not ours?
/Rune
unpublish the nodes that have wrong link, then republish the node.
@sun - We did that several times. :)
@Matt @Sun any new ideas on this? Or just to explain the domainprefixe=true and false thing, as its not all logic what it does :)
Maybe I don't understand what you want. can you say it by another way?
I have the same thing with you. I republish all, and problem goes away. the urls only left right one.
@Sun what i want is to know what domainprefixe=true does exactly and what domainprefixe=false does. And also what it does with the node that has a domain attached to it, what it does to the url of it and also its sub nodes and what about nodes in same level as the node with the domain attached?
See links of the node, you will know that only url with the domain is created after node published.
you would think that - but some of the nodes has the domain as prefixed and some dosent have and thats what making me thing what the property does and should do
if you have some nodes without domain, you can unpublish those nodes and republish then again.
@Sun - I cant just republish them again? I need to unpublish and republish? And what is the reason for that? :)
Hi Anders,
looking in the umbracoSettings.config file, you'll find the following comment:
What this would suggest is that the purpose of the useDomainPrefixes tag is to force the domain on the front of your urls so that if you do have multiple root nodes, it will know which site to resolve to.
So with it enabled, your link to document property should have the domain included, an without it, it should start '/'
This seems to be inline with what you are finding, however you seem to be having an issue getting the fully qualified domains to work.
The only thing I can suggest here is if you are working locally to test this, make sure the domains you are using are registered in your hosts file as if the domain doesn't resovle to your site, it's not going to work and will just return 404.
Matt
@Matt i will try to find time to test it locally - as i first need to have the domain prefixed to alle nodes urls and when that works i need the umbracoRedirect property to work correctly as i think that it dosent handle the request correct or cant resolve the url. Any thoughts on this? Sound as a thing where there is a bug or must me that want to bend the system in a direction where i cant win?
Hi all,
We have done some testing to domainPrefixes and need your help again :)
http://our.umbraco.org/forum/ourumb-dev-forum/bugs/11974-Bugs-in-domain-prefixes
is working on a reply...