# Bad start tag in “title” in “noscript” in “head”.

> Canonical HTML version: https://rocketvalidator.com/html-validation/bad-start-tag-in-title-in-noscript-in-head
> Attribution: Rocket Validator (https://rocketvalidator.com)
> License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

The `<title>` element can't go inside a `<noscript>` block in the `<head>`, because a `<noscript>` there accepts only `<link>`, `<style>` and `<meta>` elements.

The validator reads the page the way a browser with JavaScript turned off would. In that mode, a `<title>` start tag inside a `<noscript>` in the `<head>` makes the parser close the `<noscript>` early and handle the `<title>` as if it sat directly in the `<head>`. The `</noscript>` end tag then has nothing left to close, so the validator usually reports a stray `</noscript>` end tag right after this error.

Browsers with JavaScript turned on do the opposite: they read everything inside a `<noscript>` as plain text and ignore it. The same markup gives the page a title for some visitors and none for others. The document title shouldn't depend on scripting. Screen readers announce it when the page loads, and browsers show it in tabs and bookmarks.

Move the `<title>` out of the `<noscript>` so it sits directly in the `<head>`. If the page already has a `<title>`, delete the one inside `<noscript>` instead, since a document can have only one. When the `<noscript>` was meant to show a message to visitors without JavaScript, put that message in a `<noscript>` inside the `<body>`, where visible content is allowed.

## Invalid example

```html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <script src="app.js"></script>
    <noscript>
      <title>Product catalog</title>
    </noscript>
  </head>
  <body>
    <h1>Product catalog</h1>
  </body>
</html>
```

## Valid example

```html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Product catalog</title>
    <script src="app.js"></script>
  </head>
  <body>
    <noscript>
      <p>Turn on JavaScript to use the catalog filters.</p>
    </noscript>
    <h1>Product catalog</h1>
  </body>
</html>
```
