How change the ISO and Where is hreflang configured into Prestashop 1.7 - prestashop-1.7

I have a problem with Prestashop 1.7.5.1 with French Canadian language.
Pretashop has configure the French Canada has "qc" instead of "fr" or "fr_CA" which causing Google Search Console to not identify the proper language for indexing my pages.
My pages are showing in source:
<link rel="alternate" href="https://store.copiscan.com/qc/" hreflang="qc">
<link rel="alternate" href="https://store.copiscan.com/en/" hreflang="en-us">
I need to change it for "fr_CA". I check into Database and not found any value associated to "hreflang" configuration.
Here are my languages installed into Prestashop:
When i try to modify into Language and modify the ISO code, i get an error 500;

I was resolving it by modify directly into the Database under ps_lang table and change it directly there. The store seem's to accept it very well.

Related

Using hreflang right

When I checked my site with Google Webmaster Tools, I saw a warn about a missing hreflang tag.
I have a one-page website which is multi-language – German and English. When first visited the language will be the same as the browser language. If the user switches the language a cookie is set to store the selected language. But the language is not indicated in the URL (e.g. /en or /de), it’s just mydomain.com in both cases. What I do is changing the lang attribute in the html tag in lang="de" or lang="en". I thought that would be friendly enough for Google.
My question is how to implement the hreflang correctly. All the example I find deal with different language folders like mydomain.com/en/, subdomains en.mydomain.com or extensions mydomain.com/?lang=en.
Should I switch the hreflang tag dynamically via JS depending on the selected language, so when the user sees the English version the hreflang would be de-DE because there’s the same content also in German:
<link rel="alternate" href="http://example.com" hreflang="de-DE" />
And when the user sees the Website in German:
<link rel="alternate" href="http://example.com" hreflang="en-EN" />
But that’s seems odd because the href value would be the same in both cases …
You can only use Hreflang if you have 2 separate URLs. Then Google can send English users to the en page and the German users to the de page.

Google Cache and multi lingual domain names

I've developed a site which is available via two top level domain names. Both the language on the site is Dutch, one for the Dutch visitors and one for the Belgian visitors.
The .be version of the was recently "launched". Under the hood it's the same site ofcourse and we're using a meta tag to prevent getting penalized for duplicate content. (Google's support page)
So; there's this page: www.domain.nl|be/vakantie/oostenrijk/tirol/
And depending on the TLD this is the implemented meta tag:
// Dutch site visitors
<link rel="alternate" hreflang="nl-NL" href="http://www.bergenmeer.nl/vakantie/oostenrijk/"/>
// Belgium site visitors
<link rel="alternate" hreflang="nl-BE" href="http://www.bergenmeer.be/vakantie/oostenrijk/"/>
The Belgian version is live since about 6 weeks. Both sites are equiped with a sitemap listing the URLs for that domain. But we're seeing the following in Google Cache.
The live version of this page (see URL, phone number on the top right.
The cached version of this page (see URL, phone number on the top right.
When you load this page (despite some performance issues, we're looking into that) and you inspect the network traffic you'll see the page opens with a HTTP 200 response. No redirects whatsoever. Why is Google not showing the Belgian version of the page?
Thanks for the time you take to share your thoughts.
Ben
For .be you could have
<link rel="canonical" href="http://www.bergenmeer.be/vakantie/oostenrijk/"/>
<link rel="alternate" hreflang="nl-NL" href="http://www.bergenmeer.nl/vakantie/oostenrijk/"/>
and for .nl you could have
<link rel="canonical" href="http://www.bergenmeer.nl/vakantie/oostenrijk/"/>
<link rel="alternate" hreflang="nl-BE" href="http://www.bergenmeer.be/vakantie/oostenrijk/"/>
Giving Google a hint at what you want prioritised and therefore to make it into the cache as it appears to only be using the alternate.

add text only version to an email template

We use mandrill to send emails and we have many templates defined to send emails. Below is one such template
<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<style type="text/css">
----- some styling information ----
</style>
</head>
<body>
------ Other html content ------
</body>
</html>
As you can see there is no mention of text only version of this email template. To improve the chances of this email not going to spam i also want to add text only version of it as well. I got to know about "multipurpose internet mail extensions" but i still do not understand how i can make my email to have a text only version too.
I will be really grateful for any kind of help on this.
Strongly suggest using a templating service on top of Mandrill, such as apostle or sendwithus.
Makes it way easier to manage and edit html+text templates, and I believe both support your use case.
You didn't indicate anything about your environment, where you're storing the templates, or whether you're using Mandrill's SMTP integration or API. Those things can make a difference in how/where you store the text versions of your templates.
If you're generating the full SMTP message in some fashion in your system, then you'd need to create a multi-part/alternative MIME document to store the text version. Or use a library or templating engine that can generate this for you in accordance with the relevant specifications.
If you're storing them in your system, and using the Mandrill API, then you'd want to store a separate text version to pass in the text parameter.
For Mandrill templates, there's an explicit text version that can be provided and saved.
Alternately, Mandrill has an option to auto-convert your HTML to text. It can be configured in your Sending Defaults, or on a per-message basis through the API or with SMTP headers.

how to submit specifically website to Google.fr, Google.de

situation is :
one website (based on Magento ecommerce solution), different storeviews, all accessible through the same domain but an extension is then redirecting to the correct storeview based on customer location.
I have one storeview for Germany, one for USA, and a fallback worldwide, the first is in EUR and tax included, the second and third are in USD and tax excluded.
I submit my product price with the structured data scheme (itemprop).
I have one sitemap for each storeview and submit them all to Google.
The problem : In Germany, when I google my product, I got my URL from my worldwide storeview (which is not the killer as my extension will redirect afterwards) but with the USD price.
How to do so that I submit my sitemap from the germany storeview to Google.de and not my worldwide storeview.
Use ccTLD
The best way to target different countries is to use ccTLD.
This is what they're made for and Google use it to determine the targeted location of your website.
Configure Google Webmaster Tools
In the Google webmaster tools, you can set your geographic target to a website.
As said on Google Help Center:
Set a geographic target:
On the Webmaster Tools Home page, click the site you want.
Click the gear icon (top right corner), and then click Site Settings.
In the Geographic target section, select the option you want.
If you want to ensure that your site is not associated with any country or region, select Unlisted in the drop-down list.
Use Link rel alternate hreflang
You can use the declaration of different language version to target countries in the <head>of your pages.
This use the <link> tag like this :
<link rel="alternate" href="http://example.com/fr" hreflang="fr-FR" />
<link rel="alternate" href="http://example.com/de" hreflang="de-DE" />
<link rel="alternate" href="http://example.com/us" hreflang="en-US” />
<link rel="alternate" href="http://example.com/" hreflang="x-default" />
You need to declare every version of each URL on every pages. Exemple above needs to be on every URL of the example.
Read further on Google Help Center about telling Google your different localized target.

Master Sitemap link in Header of site or Robots.txt

I have a master sitemap that contains links to other site maps that is accessable on a path like:
www.website.com/sitemap.xml
I wanted to ask if this is enough for the search engines or if I need to link this to my site?
linking - I know I can use a robots.txt file but I is it possible to just add a link to the head of the site - something like (and I'm just guessing):
<head>
<link rel="sitemap" type="application/xml" title="Sitemap" href="/sitemap.xml">
</head>
thankyou
Adam
This is totally okay.
Sitemap should always be located in the root and that is the only place where the search engines will look.
I suggest you to use a Google Webmasters tool to submit a sitemap for your domain so you can get indexed and you can monitor search engine behavior.
Hopefully this info will help you.

Resources