Skip to main content
HTML Validation

Bad start tag in “p” in “noscript” in “head”.

About This HTML Issue

A <p> element cannot be placed inside a <noscript> tag within the <head> section.

According to the HTML specification, the <head> element must only contain metadata, such as <title>, <meta>, <link>, <script>, and <style>. The <noscript> element is allowed in <head>, but it must only contain elements that are valid in head, not flow content like <p>. The <p> (paragraph) tag is flow content meant for the <body>. For fallback content in <head>, only metadata elements are allowed.

Incorrect example:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Example</title>
    <noscript>
      <p>JavaScript is disabled.</p>
    </noscript>
  </head>
  <body>
  </body>
</html>

Correct approaches:

  1. Remove the <p> from <noscript> in <head>:
    • If you must include fallback styles or links in case JavaScript is disabled, use only metadata tags.
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Example</title>
    <noscript>
      <link rel="stylesheet" href="no-js.css">
    </noscript>
  </head>
  <body>
  </body>
</html>
  1. Place textual fallback content in the <body> instead:
    • Moving the <noscript> block with flow content (such as <p>) to the body ensures validity.
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Example</title>
  </head>
  <body>
    <noscript>
      <p>JavaScript is disabled.</p>
    </noscript>
  </body>
</html>

Remember: Do not use <p> (or any flow content) in <noscript> inside <head>. Use such content only in the body.

Last reviewed: July 24, 2025

Was this guide helpful?

Find issues like this automatically

Rocket Validator scans thousands of pages in seconds, detecting HTML issues across your entire site.

Ready to validate your sites?
Start your free trial today.