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

feat: Warn when <Head> contains invalid elements #21080

Closed
wants to merge 1 commit into from
Closed

feat: Warn when <Head> contains invalid elements #21080

wants to merge 1 commit into from

Conversation

ludofischer
Copy link
Contributor

Fixes #20924

@ijjk
Copy link
Member

ijjk commented Jan 13, 2021

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary ludofischer/next.js document-head-warning Change
buildDuration 10.7s 10.2s -434ms
nodeModulesSize 80.9 MB 80.9 MB ⚠️ +981 B
Page Load Tests Overall increase ✓
vercel/next.js canary ludofischer/next.js document-head-warning Change
/ failed reqs 0 0
/ total time (seconds) 2.136 2.071 -0.06
/ avg req/sec 1170.68 1207.39 +36.71
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.354 1.288 -0.07
/error-in-render avg req/sec 1846.45 1941.54 +95.09
Client Bundles (main, webpack, commons)
vercel/next.js canary ludofischer/next.js document-head-warning Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-e66dcae..6635.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary ludofischer/next.js document-head-warning Change
polyfills-81..14d7.js gzip 31.2 kB 31.2 kB
Overall change 31.2 kB 31.2 kB
Client Pages
vercel/next.js canary ludofischer/next.js document-head-warning Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary ludofischer/next.js document-head-warning Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Rendered Page Sizes
vercel/next.js canary ludofischer/next.js document-head-warning Change
index.html gzip 615 B 615 B
link.html gzip 619 B 619 B
withRouter.html gzip 608 B 608 B
Overall change 1.84 kB 1.84 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary ludofischer/next.js document-head-warning Change
buildDuration 12.5s 12.5s -19ms
nodeModulesSize 80.9 MB 80.9 MB ⚠️ +981 B
Client Bundles (main, webpack, commons)
vercel/next.js canary ludofischer/next.js document-head-warning Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-e66dcae..6635.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary ludofischer/next.js document-head-warning Change
polyfills-81..14d7.js gzip 31.2 kB 31.2 kB
Overall change 31.2 kB 31.2 kB
Client Pages
vercel/next.js canary ludofischer/next.js document-head-warning Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary ludofischer/next.js document-head-warning Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Serverless bundles
vercel/next.js canary ludofischer/next.js document-head-warning Change
_error.js 1 MB 1 MB
404.html 2.67 kB 2.67 kB
hooks.html 1.92 kB 1.92 kB
index.js 1 MB 1 MB
link.js 1.06 MB 1.06 MB
routerDirect.js 1.05 MB 1.05 MB
withRouter.js 1.05 MB 1.05 MB
Overall change 5.18 MB 5.18 MB
Commit: 885e9ef

jonrh added a commit to jonrh/jonogmarteinn.is that referenced this pull request Apr 15, 2021
While reviewing a SEO warning in Lighthouse I noticed that the <head> tags did not appear in the <head> but instead at the top in <body>. After some looking around it seems that specifying `<html lang="is">` in next/head <Head> is not supported. It was supported in react-helmet which was used previously. A mistake I was not careful enough to spot while migrating from react-helmet to next/head.

This also fixes a next-head-count warning on the console. After some further digging it seems this is a known issue[0] with a proposed fix[1].

Since the website will only ever be in Icelandic it is enough to specify a i18n locale setting. That will then set the correct <html> lang attribute.

See:
[0]: vercel/next.js#20924
[1]: vercel/next.js#21080
@timneutkens
Copy link
Member

This can probably be moved to an ESLint rule which does not have have to be checked at runtime. I'll close this PR for now 🙏

@timneutkens timneutkens closed this Dec 7, 2021
@vercel vercel locked as resolved and limited conversation to collaborators Jan 27, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Misleading "next-head-count is missing" error for invalid head tags
3 participants