Sorry to disappoint you, but these two tags do actually very marginally (if at all) affect SEO. They are mainly used for showing short descriptions of your page, if your site is linked on other sites. description may (you have no certainty) be (partially) used by search-engines, while og:description may be used by social media networks like facebook.
edit: using both (with useful content) won't hurt.
To combine them (Schema and OGP) see this and this SO posts.
Answer from MattDiMu on Stack Overflowhtml - SEO META TAG og:description vs description - Stack Overflow
html - What are the important meta tags I must put in my website? - Stack Overflow
Can anyone explain in layman's terms how the <meta> tag works?
According to w3schools, the http-equiv attribute is used to simulate a HTTP response header. That is, the browser should act as if you specified a header with that name and that value in the response header block.
I believe that these days the meta tags don't really serve a purpose other than for search engine indexation purposes. I guess you could make a HTTP HEAD request that will then include these meta tags, but I don't think that is a common practice (please correct me if I'm wrong).
More on reddit.comHow to add meta tag and meta description on Google Sites? - Sites Community
Videos
I realize this question is old, but it's still a top google hit, so I thought I would give an updated answer that includes popular social media sites.
I generally have four groups of meta info:
Regular Meta Info - used by search engines and browsers
<title>{{pageTitle}}</title>
<meta charset="utf-8"><!-- html5 version of http-equiv="Content-Type"... -->
<meta name="description" content="{{description}}">
<meta name="keywords" content="{{keywords}}">
<link rel="author" href="https://plus.google.com/{{googlePlusId}}" />
<link rel="canonical" href="{{pageUrl}}" />
Facebook Meta Info - used by Facebook when someone shares your url
<meta property="og:url" content="{{pageUrl}}">
<meta property="og:image" content="{{imageUrl}}">
<meta property="og:description" content="{{description}}">
<meta property="og:title" content="{{pageTitle}}">
<meta property="og:site_name" content="{{siteTitle}}">
<meta property="og:see_also" content="{{homepageUrl}}">
Google+ Meta Info - used by Google+ when someone shares your url
<meta itemprop="name" content="{{pageTitle}}">
<meta itemprop="description" content="{{description}}">
<meta itemprop="image" content="{{imageUrl}}">
Note: you don't really need these, Google+ will fall back to the Open Graph tags that Facebook uses.
Twitter Meta Info - used by Twitter when someone shares your url
<meta name="twitter:card" content="summary">
<meta name="twitter:url" content="{{pageUrl}}">
<meta name="twitter:title" content="{{pageTitle}}">
<meta name="twitter:description" content="{{description}}">
<meta name="twitter:image" content="{{imageUrl}}">
I'll use my same answer from this question:
A few years back, meta tags were important to search engine optimization. However, they've been abused and are generally ignored by almost all search engines (including Google, Yahoo and Live search. Excuse me: Bing).
The most important tags for SEO that you can include in your (X)HTML are the <title> and <meta name="description"...> tags.
<title>should generally be what you'd want the search engine to name your page in it's listing.<meta name="description"...>can sometimes give the search engine a basic idea of how to describe your page when indexing it.
However, using these two tags will not necessarily make a difference in increasing your site's visibility on a search engines listings. For more information on that aspect, Google has a nice section on SEO on their site.
Can anyone explain in layman's terms how the <meta> tag works?
From my book:
The most common attributes are the name and content >attributes, which tend to be used together. These attributes specify properties of the entire page. The value of the name attribute is the property you are setting, and the value of the content attribute is the value that you want to give to this >property.
...
The value of the name attribute can be anything you want it to be. Some defined values for this attribute that are commonly used are: ...
Does HTML5 have any standardized values for the 'name' attribute? The book goes on to list thing such as 'description', 'keywords' and 'robot' but as you can see from the quoted text, also claims you can set the name value to what ever you want. What would be the point of setting the value of name to something arbitrary and that is not in HTML specs?
I understand that the description is used for search engine results, as is keywords. So who/what would use the meta tag with a name value set to "anything you want it to be."?
Which takes me onto the 'http-equiv' attribute. My book just doesn’t explain this well (and my Google searches aren’t much better) So what is http-equiv, whats its corresponding content value and why is it used over name. For example, why do we have:
<meta http-equiv=author content=Rizzle>
rather than
<meta name=author content=Rizzle>
If anyone can share any info they have on the <meta> tag (in simple terms) please throw in your 2 pence/cents/any other currency.
Cheers! Rizzle
According to w3schools, the http-equiv attribute is used to simulate a HTTP response header. That is, the browser should act as if you specified a header with that name and that value in the response header block.
I believe that these days the meta tags don't really serve a purpose other than for search engine indexation purposes. I guess you could make a HTTP HEAD request that will then include these meta tags, but I don't think that is a common practice (please correct me if I'm wrong).
The MDN documentation for the meta tag might be a good place to get some clarification on this.
It defines the exact set of values you can assign to the http-equiv and name attributes, as well as when you should use one over the other.
To cite some specific pieces:
http-equiv: This attribute can contain the name of an HTTP header, hence the attribute name http-equivalent. It defines an instruction that can alter server and user-agent behavior.
[...]
name: This attribute defines the name of a piece of document-level metadata.
[...]
If name is set, it is document-level metadata, applying to the whole page. If http-equiv is set, it is a pragma directive — information normally given by the web server about how the web page is served.
Also, while it's true you can assign any value to a 'name' meta tag, realistically, it'll likely be the case that nothing (web browsers, robots, scrapers, etc) will recognize or do anything with that meta tag. If you were writing your own scraper or HTML analysis tool or something, you could certainly do something special in the presence of your own, special, meta name tag, if you wanted.
Most people will end up sticking with the standardized set of allowable values, though there are a few non-standard ones that are in wide use (and therefore are currently in the process of being standardized) -- the 'viewport' name, for example.
(And of course, different tools/web browsers could technically ignore certain kinds of meta tags if they want, ignoring the standard. This is perhaps because that particular tool can't do anything meaningful with that meta tag, or perhaps because they decided it wasn't worth investing developer time to implement support for it.)
<title> is a required element on any HTML page to be valid markup, and will be what is displayed as the page title in your browser's tab/window title. For instance, try inputting the following markup into the W3C Markup Validator (via "Direct Input"):
<!DOCTYPE html>
<html>
<head></head>
<body></body>
</html>
This will produce an error that there is no instance of <title> in <head>.
The <meta name="title" content="page-title"> element is just that -- metadata about your page, that any client browser or web crawler can use or not use as it wants. Whether it is used or not will depend on the crawler/client in question, as none of them are required to look for or not look for it.
So in short, you should have a <title> element if you want valid markup. The <meta> tag is going to depend on whether you want to provide for crawlers/clients, and you'd probably have to check documentation for if a particular crawler uses it.
The first is to display page name.
<title> This will be displayed in the title bar of your Browser. </title>
Second is for crawling.
<meta name="title" content="Whatever you type in here will be displayed on search engines.">
Is this still an ongoing issue in Squarespace where you can't add meta descriptions unless you dive into the code? I saw a 2022 help post in the forum and wondered if this is fixed now?
Some person mentioned "coding design patterns" and that they'd been talked about in the forum... but I didn't see them. (He's probably selling them,lol)