diff --git a/gatsby-config.js b/gatsby-config.js
index 0d2a3a1480..5964e4ca00 100644
--- a/gatsby-config.js
+++ b/gatsby-config.js
@@ -12,13 +12,6 @@ const shouldAnnouncementBannerBeShown = false;
const plugins = [
'gatsby-plugin-react-helmet',
- {
- resolve: `gatsby-plugin-react-helmet-canonical-urls`,
- options: {
- siteUrl: process.env.GATSBY_DEFAULT_MAIN_URL,
- noTrailingSlash: true,
- },
- },
'gatsby-transformer-sharp',
'gatsby-plugin-sharp',
'gatsby-plugin-catch-links',
@@ -171,6 +164,17 @@ if (process.env.GATSBY_DRIFT_API) {
});
}
+const autoCanonicalURL = false;
+if (autoCanonicalURL) {
+ plugins.push({
+ resolve: `gatsby-plugin-react-helmet-canonical-urls`,
+ options: {
+ siteUrl: process.env.GATSBY_DEFAULT_MAIN_URL,
+ noTrailingSlash: true,
+ },
+ });
+}
+
if (
process.env.ALGOLIA_ADMIN_KEY &&
process.env.GATSBY_ALGOLIA_APP_ID &&
diff --git a/src/components/shared/seo/seo.view.js b/src/components/shared/seo/seo.view.js
index a1e8581cdb..6dac3ad3a3 100644
--- a/src/components/shared/seo/seo.view.js
+++ b/src/components/shared/seo/seo.view.js
@@ -40,6 +40,16 @@ export const SEO = ({
const currentUrl = slug ? `${docs}/${slug}` : docs;
const currentImage = createMetaImagePath(image, siteUrl, siteImage);
+ const hrefLangRelAttributeHash = {
+ en: 'alternate',
+ es: 'alternate',
+ };
+ if (slug && (slug.startsWith('es/') || slug === 'es')) {
+ hrefLangRelAttributeHash.es = 'canonical';
+ } else {
+ hrefLangRelAttributeHash.en = 'canonical';
+ }
+
return (
<>
{I18N_CONFIG.hideEsFromRobots &&
@@ -73,14 +83,14 @@ export const SEO = ({
)}
{pageTranslations && pageTranslations.es !== undefined && (
)}
{pageTranslations && (