How Search Engines Crawl the websites? - search

I am creating a Multilingual web site and I use a resource manager for each language.
when user select a language all pages use the selected resource bondles.
as entire sites only is available in one language,how search engines crawl the other languages ?
or does search engine crawl optional provided languages ?

As you know, when you have a static multilingual website that has separate page for each language, you don't have any problem with search engines. Whereas, each page has an unique url.
But in dynamic applications, you don't have separate page for each language and have to use resource instead, you can add a new language or remove an already existing language and so on.
Therefore, we have to use Url Rewriter/Routing for generating unique url for each language. Check the following example out.
Suppose we have a webform in the following url and our application supports two languages (e.g. English United States en-US, English Great Britain en-GB).
www.domain.com/home.aspx
There are some problems, we have permanent url for all of languages. Thus, search engines will be index the default language anyway. The solution is simple, you have to generate separate url for each language by using Url Rewriter/Routing as follows.
www.domain.com/{country}/{language}/home.aspx
Afterwards, you have to inference the specified culture name from the above url and set the current Culture and UICulture properties. Thus, the requested page will be shown in desired language.
The sitemap should be generate programmatically and uses the same way as above, in this case.
www.domain.com/{country}/{language}/sitemap.xml
You have to inference the specified culture from the above url and generate sitemap dependent on culture. To introduce available sitemaps to the search engines you have to use robots.txt that should be generate programmatically as well.

you might be using cookies/sessions for remembering selected language, right?
Neither of them affects search engine. They simply ignore cookies. However, If u rely on session variable for remembering selected language, in the absence of cookies each time new session will be created canceling the language selection.
Ankit

Related

Multilingual Jekyll website running on multiple domains

I'm trying to setup proper solution for multilingual website generated using Jekyll. I checked some plugins and tricks without plugin. But still not sure how to achieve it. I found that it's possible to generate output of every language into subfolder. Eg.:
/en/ contains English version of website
/cz/ contains Czech version of website
But in my case every language will be published on own domain (example.com, example.cz). And this is the moment where I'm getting some troubles with the implementation. When I'll have every language in own folder (/en/, /cz/) this means that also {{page.url}} and parmalinks will contain that /en/... or /cz/... part.
Could you help me to find the trick I need to use? What is correct setup in this case?
Note: The only solution which is close to my situation is this https://frozenfractal.com/blog/2016/5/13/building-a-multilingual-website-in-jekyll/ Here is not possible to implement language switcher because solution excludes all files in alternative languages. (When I'll be on www.example.com/contact I need to be able to switch to Czech alternative www.example.cz/kontakt.)
Two different urls makes sense to me. Google will have a different page rank for your sites, but that is the only downside I can think of. I would set the language and set alternate tags. You can use your page front matter to fill the alternate tags. If you succeed in building them from one repo, you might be able to automatically match the different language versions of your pages with an english page identifier (for your alternate tags). Source

Kentico navigation webparts and multi-language

Am i correct in assuming that i need a nav webpart for each language with the correct corresponding culture code set?
I have on cms:CMSListMenu in my .Master page, and i'm going to be starting the french version of the site.
Your assumption is NOT correct. Kentico is made to use a single template and/or webpart for multiple languages. You do have the opportunity to use different templates per language but unless you need it for something very specific, it's not needed.
The webparts are smart enough to use the current language which has been selected/set on the website. There are some additional configuration options you can set like mixing the default culture with the current culture. What this means is if you are viewing the site in French and have a page in English but not French, it will display the English version and in place of the missing French version.
I'd suggest starting out with the Kentico localization documentation if you haven't already.
I can't agree with you assumption. You can specify culture for you control, so it will always use that culture, otherwise it should be using current culture.

How to create multilanguage MODx website with unique articles in each language?

I need ti develop multilanguage webiste with (russian, english and kyrgyz languages), each article has version only in one language.
Can you please help me with questions:
1. how to create context for kyrgyz language? is it just put culturekey=kg?
2. how to translate oarts of chunks, i.e "comments" or buttons? do I need to create different chunks for new contexts? Or I simply save translation somewhere?
3. how to control which resources will be shown through pdoresources (getresources)? do I need to put id from all contexts?
4. for context web — pages has alias mywebsite.ru/category/article, but for "en" context — mywebsite.ru/en/INDEX/category/article. how to remove index? when i try to use link like mywebsite.ru/en/ — it shows 503 error. what can be the problem?
Thanks!
Create new context
Use lexicon entry. If you don't want to create a new namespace, just use core.
If you read the documentation, you can see the available parameters to define the parent, resources, or excluded resources to show.
You need to check your .htaccess and all friendly URL settings. 503 itself means unavailable site. Check your system settings, and search for site_status key. It should be "yes" for a running website.

DNN Search only works when language cookie is en-US

I've a DNN 7.2 site with 3 languages and search functionality .
The search works only and only if the language cookie is set to en-US .
If the culture in the search service URL is fr-FR and the language cookie contains "fr-fr", which is very normal, the search will not work, if i changed the cookie manually to be "en-US" and left the url culture as is "fr-fr" the search works as expected and return french results .
Why this happens ? Is there a fix ?
DNN7.2 Search is Locale-Aware, meaning content is indexed and found based on language/culture.
The fr-fr page can only be found when search is executed from a French/French page, at the same time, culture-neutral pages can be found from any language. So if your portal has only one installed language (en-US), you will not see any of the multilingual options of the module.
The main points to check:
Language pack installed
Content Localization enabled
Add/Enable individual languages (you can do this from the Admin/Languages page as SuperUser)

Whats the best way to use multiple languages on a website?

I was wondering what would be the best way to achieve a multi-language template based website. So say I want to offer my website in Englisch and German there are some different methods. My interest is mainly about SEO, so which would be the best way for search engines.
The first way that I often see is using different directories for each language, for example www.example.com for English and www.example.com/de/ for the German translation. The disadvantage of this is: when changing a file, ist has to be changed in every directory manually. And for search engines the two directories would be concerned as duplicate content, wouldnt they?
The second way I know is just using some GET value like www.example.com?lang=de and then setting a cookie. But this way search engines probably wont even find the different languages.
So is there another way or which one is the best?
I worked on internationalised websites until this year. The advice we always had from SEO gurus was to discriminate language based on URL - so, www.example.com/en and www.example.com/de.
I think this is also better for users; if i bookmark a page in German, then when i come back to it, i get a page in German even if my cookies have expired. Similarly, i can do things like post the URL on Facebook, and have my German-speaking friends click on it and get a site in German.
Note that if your site serves multiple countries, you should handle those along with language - so, you might have example.com/de-DE, example.com/en-GB, example.com/en-IE, etc.
However, this should not involve duplication. Instead, you should set your application up to process the URL, extract the locale information, and then forward the request internally to a locale-independent page. So, a request for example.com/de-DE/info and a request for example.com/en-IE/info should both be passed to /info.jsp (or i'm guessing info.php in your case). That page should then be coded to emit text in the appropriate language, using a page-level localisation mechanism.
Things are a bit trickier if you want the URLs themselves to be localised (eg example.org/de-DE/anmelden vs example.org/en-IE/sign-in). However, the same principle applies: extract the locale, then forward to a common page. The difference is that there must be more sophistication in figuring out what the page is from the URL; you will need a mapping from natural language in the URL to the page filename.

Resources