N2CMS - Multilanguage site and SEO friendly URLs - n2

I have a N2 website with 2 languages: English and Serbian.
I want English content to point to mydomain.com/en
and Serbian content to point to mydomain.com/sr
How can I do that?
Today, URL for English start page is mydomain.com
And for Serbian start page: mydomain.com/Start/Index?page=127
All pages in my second language don't have SEO friendly URLs.
Any help would be greatly appreciated!

You need to organize structure of your site in a following way
Root
Language Intersection
Start Page EN
Start Page RS
Then, in web.config or config file in App_Data set StartPage to be ID of LanguageIntersection. One of the common causes of non-friendly URLs is that only pages below site start page (as defined in web.config) have friendly URLs. Hence, you must move your start page above each of language start pages.

Related

Can I exclude folders in a 301 redirect so that it only affects part of the web?

I have a question about applying redirects excluding some folders. Here you have my case:
My domain example.com is published in several languages:
example.com/es for content in spanish
example.com/it for content in italian
example.com/en for content in english
In my old website example.com/ the English content was under "/" (in the root of the project) but now it has been migrated to example.com/en leaving "/" without any content.
I want to apply a rule that all the content in English, indexed by Google hosted under example.com/ go to example.com/en but without this affecting the content under the other languages.
example.com/content1 redirected to example.com/en/content1
but mantaining unaltered:
example.com/es/content1es
example.com/it/content1it
...
That is, as indicated at the beginning, excluding the language folders and their child content. Is this possible?
Thank you very much

tx_news direct link to news entry

it is possible to have a direct path to a special news entry?
example:
my link is: http://www.domain.de/start/topnewsdetail/news/really-long-name-of-news-entry.html
and it would be nice to have
http://www.domain.de/newsEntry.html.
Can someone give a hint?
it is a little bit complicated if you want a general automatic solution.
you can do it by hand if you insert pages of type 'external url' where you insert the long path as external url.
with realurl you have problems as realurl at least will use one path segment for the page with the detail view before the last segment which is for identifying the news record. AFAIK coolurl can ommit the path segemnt for the page.
on the other hand: make sure the news identification (title, subtitle?) is unique and does not collide with pathes for normal pages.
at last you can use .htaccess rewrites, but that needs to differentiate between short urls for news and short urls for top-level pages. So those urls will show the page, those urls are not generated inside of TYPO3 and so nowhere used (except manual)
this EXT. adds a custom link to records like system category or news:
https://typo3.org/extensions/repository/view/recordlink
It'S deployed for TYPO3 6.2 but perhabs it'S helpful to create an own EXT.?

Facebook like/share for multilingual page

I have three pages with the same content, in different languages.
http://example.com/en/elephant
http://example.com/nl/elephant
http://example.com/de/elephant
When someone presses the share/like button on the dutch (nl) version I expect that the like is being shared with the english and german version.
I have set the og:url to the english version (I guess I do have to pick a version).
But the problem I now have is that the Facebook scraper looks at the english version for meta tags. So people see an English title/description when they share the dutch version.
According to the the Facebook documentation I can take a look at the X-Facebook-Locale header to serve the meta tags in the right language. But than I should serve an English page with Dutch meta tags to the Facebook crawler.
Not only is this taunting my OCD, but it also makes the code more complicated. Because the meta tags are set at different points in the request pipeline, I have multiple places where I have to switch between Cultures.
Another approach I was thinking about, is to see if there is an X-Facebook-Locale header and then do a redirect to the appropriate language, but for some strange reason that also doesn't seem to work.
What to do?
If the Facebook crawler comes to you with a X-Facebook-Locale header, then you should indeed pass it the localized OG tags. But be sure to keep one common URL.
How we (will) solve this on our site:
http://example.com/elephant is a "neutral" URL, and redirects to the /en, /nl or /de version based on the user session, or browser language preferences.
All language-specific URLs have this neutral URL in their og:url. This is the object that gets saved in the graph.
If Facebook comes to us with a X-Facebook-Locale header, we serve the same content (whether it is at /en, /nl or /de), but with the relevant tags localized.

Redirect to default domain in Business Catalyst

I have a Business Catalyst site that needs the following domains redirected to the default domain.
www.membersalliance.com.au/
www.membersalliance.com.au/index.aspx
The default domain is www.membersalliance.com.au
We have been told that these three pages are seen by google as separate content and we want to consolidate them to all go to the default domain.
I have spoken to adobe support and they said that:
‪
Redirecting to another page can be done, there's no issue with that. But what we're looking for here is to not have any other postfix with the domain name. When a page is set to be the starting page, there is an automatic functionality that the postfix/name of the page is removed, but that is not the case with other pages.‪So, they would still show the name of the page, even if you redirect it to the home page (starting page set for your domain).‬
So, I can redirect to www.membersalliance.com.au/home.html but is this seen by google as a separate page to www.membersalliance.com.au?
If you re-direct a page using 301 redirects (which is how BC re-directs a page if you use re-directs) Google will only see the one page, not multiple pages.
Take a look at the Google Webmaster Tools help on "canonical" URLs.
https://support.google.com/webmasters/answer/139394?hl=en
In your case, add to page head:
<link rel="canonical" href="www.membersalliance.com.au"/>
This will tell Google to treat all variants of homepage to be recorded against a single domain.

How do I redirect a multi language site to a default language page?

I have this:
http://example.com/EN/index.php - english version
http://example.com/PT/index.php - portuguese version
What I want: http://example.com/ to be taken to the portuguse page by default.
I've also been thinking on having the portuguese page on the root and english in the EN/ directory. is this better for SEO?
iam not sure if i understand the problem, but you can create an index.php in your
root and change the header to forward the user to the PT/index.php
Header("Location: ./PT/index.php");
later you can construct an if/else check to verify the language of the browser etc..