Skip to main content

HTML Guide

Bad value “Pragma” for attribute “http-equiv” on element “meta”.

Pragma is not a valid value for the http-equiv attribute in HTML5.

In HTML5 (as defined by the WHATWG living standard and W3C), the http-equiv attribute on the meta element only allows certain tokens, such as content-type, default-style, and refresh. The use of Pragma is obsolete and was mainly supported in older HTML specifications for compatibility with HTTP/1.0 proxies. The recommended way to control caching in modern web development is through appropriate HTTP headers sent from the server.

Example of the incorrect usage:

<meta http-equiv="Pragma" content="no-cache">

Correct usage for controlling cache with HTML meta tags (but note, affects only some browsers and is not reliable):

<meta http-equiv="Cache-Control" content="no-cache">

However, even Cache-Control in a meta tag has limited effectiveness. The best practice is to set Cache-Control and Pragma headers server-side, not in HTML.

Correct server-side (not HTML) example:

Cache-Control: no-cache
Pragma: no-cache

Summary:
Remove the <meta http-equiv="Pragma" content="no-cache"> tag from your HTML and rely on server-side HTTP headers to manage caching. If you still need a meta-based (less effective) solution for rare cases, use http-equiv="Cache-Control".

Minimal valid HTML example (without the invalid meta tag):

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>No Invalid http-equiv Value</title>
  </head>
  <body>
    <!-- Content goes here -->
  </body>
</html>

Learn more:

Related W3C validator issues