Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bad values in meta tags

Tags:

html

meta-tags

I've got a problem when I pass the html5 validator to my site from w3c validator. The errors are next:

Bad value Content-Script-Type for attribute http-equiv on element meta
<meta http-equiv="Content-Script-Type" content="text/javascript" >

Bad value expires for attribute http-equiv on element meta
<meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57 GMT" >

Bad value pragma for attribute http-equiv on element meta
<meta http-equiv="pragma" content="no-cache" >

Bad value Cache-Control for attribute http-equiv on element meta.
<meta http-equiv="Cache-Control" content="no-cache" >

What are the correct values to meta tags to pass html5 validator?

like image 959
José Carlos Avatar asked Oct 02 '12 15:10

José Carlos


People also ask

How important are meta tags?

Meta tags are important because they impact how your site appears in the SERPs and how many people will be inclined to click through to your website. They will therefore impact your traffic and engagement rates, which can impact your SEO and rankings. Meta tags are an important part of a solid SEO strategy.

What are HTML meta tags and why can they be controversial?

A metatag is a piece of HTML code that provides summary information about a web page. If used in an appropriate manner, these metatags can play a legitimate role in helping consumers locate information. But the ``keyword'' metatag is particularly susceptible to manipulation.

What are the valid values of http-equiv attribute of meta tag?

http-equiv valuescontent-security-policy. content-length. content-encoding. default-style.

Does meta tag order matter?

Yes, order matters. The browser procedurally processes HTML. If the meta tag is first, Internet Explorer knows to use Compatibility Mode almost as soon as it starts parsing the document. Otherwise, it's already started parsing and processed everything else - your CSS, JavaScript, not in Compatibility Mode.


2 Answers

For HTML5 you use a cache manifest file in the header. This is an example of how to use: http://www.w3.org/TR/html5/browsers.html#manifests

Also, you force no cache with this:

<meta http-equiv="expires" content="0">

This is a good tutorial on how to use the cache manifest file: https://www.html5rocks.com/en/tutorials/appcache/beginner/#toc-manifest-file-creating

like image 95
ews2001 Avatar answered Oct 15 '22 06:10

ews2001


The accepted answer is wrong! This is a good answer.

To quote Alohci:

Putting caching instructions into meta tags is not a good idea, because although browsers may read them, proxies won't. For that reason, they are invalid and you should send caching instructions as real HTTP headers.

Addendum: For Apache and .htaccess you could use

<ifmodule mod_expires.c>
ExpiresActive On
ExpiresDefault value      or
ExpiresByType text/css  "access plus 1 month"
...
</IfModule>

PHP have headers_sent() and header() function for that.

function header_no_cache () {
    \header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
    \header('Pragma: no-cache'); // HTTP 1.0.
    \header('Expires: 0'); // Proxies.
}

Point is that caching instructions should be in header. Not in html file.

like image 29
CoR Avatar answered Oct 15 '22 04:10

CoR