I'm working on a project where a website exists out of 2 languages: nl and fr. The website itself is developed in ASP.NET where every page only exists once where the content of the page is dynamically loaded using localization.
NameOfThePage.aspx AnotherNameOfThePage.aspx ...
All of these files are located under the root folder of the website, so their is no /nl/ or /fr/ subfolder.
Using a url param
?lang=nl the content of nl is loaded, if its
?lang=fr then the content of the fr is loaded.
Also meta tags, title, ... are beeing translated dynamically using the localization.
For nice urls I use url rewriting like this:
RewriteRule ^/nl/keyword-in-nl/ NameOfThePage.aspx?lang=nl RewriteRule ^/fr/keyword-in-fr/ NameOfThePage.aspx?lang=fr
These nice urls are located in my website, sitemap and are indexed by Google. Also using the Webmaster tools > Fetch as Google, I get the correct content in the correct language.
The site is not scoring good in Google so I am searching for the problem. I read in blogs that using
?lang= param is not done for getting the language content. But I use nice urls using the url rewriting.
- Is this still the same and must this be changed or...?
- Can this be the problem of my bad scooring results in Google?
Also I read about
hreflang to link alternative pages in different languages to each other.
Should I use
hreflanglink elements in my case?