Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build output has canonical link linking to the same URL as another alternate link, leading to SEO issues #3099

Open
WaldemarEnns opened this issue Sep 13, 2024 · 1 comment

Comments

@WaldemarEnns
Copy link

WaldemarEnns commented Sep 13, 2024

Environment

❯ npx nuxi info
Working directory: /home/projects/github-q5ddsy                                17:08:17
Nuxt project info:                                                             17:08:17

------------------------------
- Operating System: Linux
- Node Version:     v18.20.3
- Nuxt Version:     3.13.1
- CLI Version:      3.13.1
- Nitro Version:    2.9.7
- Package Manager:  [email protected]
- Builder:          -
- User Config:      compatibilityDate, devtools, modules, pages, routeRules, i18n
- Runtime Modules:  @nuxtjs/[email protected]
- Build Modules:    -
------------------------------

                                                                               17:08:17
👉 Report an issue: https://github.com/nuxt/nuxt/issues/new?template=bug-report.yml
👉 Suggest an improvement: https://github.com/nuxt/nuxt/discussions/new
👉 Read documentation: https://nuxt.com

Reproduction

Reproduction here:

https://stackblitz.com/edit/github-q5ddsy-62oh2a?file=.output%2Fpublic%2Findex.html

Summary: Using nuxt-i18n with a default language and a translated language

Describe the bug

Please check the output index.html at

  • either live in your browser
  • build the project with npx nuxt build --preset github_pages

Take a look at the auto-generated <link> elements, especially the rel="alternate" & red="canonical":

<link id="i18n-alt-en" rel="alternate" href="https://example.com/en" hreflang="en">
<link id="i18n-alt-en-US" rel="alternate" href="https://example.com/en" hreflang="en-US">
<link id="i18n-alt-de" rel="alternate" href="https://example.com" hreflang="de">
<link id="i18n-alt-de-DE" rel="alternate" href="https://example.com" hreflang="de-DE">
<link id="i18n-xd" rel="alternate" href="https://example.com" hreflang="x-default">
<link id="i18n-can" rel="canonical" href="https://example.com">

Notice, that the same URL https://example.com is being referred to, from:

<link id="i18n-xd" rel="alternate" href="https://example.com" hreflang="x-default">
<link id="i18n-can" rel="canonical" href="https://example.com">
<link id="i18n-alt-de" rel="alternate" href="https://example.com" hreflang="de">

That leads in SEO indexing/crawling, to an issue:

  • Bing Webmaster tools are complaining about the canonical link, referring to a link that is already marked as an alternative translation
  • Google Search Console is complaining about the same issue

URL that I requested indexing for: https://waldemarenns.de/

Bing Webmaster Tools:

URL cannot be indexed by Bing
The URL is not indexable as the page is an alternate version of the similar page which you have specified as canonical version using a <link rel="canonical"> tag. Bing does not index the alternate version.
Canonical URL :https://waldemarenns.de/en

Screenshot:

canonical issue

Google Page Speed Insights:

Document does not have a valid rel=canonicalPoints to another `hreflang` location (https://waldemarenns.de/)

Screenshot:

canonical issue google page speed insights

Take a look: https://pagespeed.web.dev/analysis/https-waldemarenns-de/30jj8518lg?form_factor=desktop

ℹ️ Feel free to inspect my site that is mentioned.

Additional context

Refers to #2925

Logs

No response

@memic84
Copy link

memic84 commented Sep 17, 2024

We have the same issue. Just check the head of https://orakel.com/ and you'll see duplicate alternate link for the i18n Link.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants