{"data":{"markdownRemark":{"html":"<p>You want to set social meta tags. Or you want to set a page <code class=\"language-text\">&lt;title&gt;</code> tag. How does Helmet work?</p>\n<blockquote>\n<p><strong>tl;dr</strong> - Use<code class=\"language-text\">&lt;Helmet&gt;</code> just like <code class=\"language-text\">&lt;head&gt;</code> in both the layout and every page component.</p>\n</blockquote>\n<h2>What are meta tags?</h2>\n<p>Meta tags are special tags in HTML. They are not displayed on the page. They tell search engines and social media sites about the page.</p>\n<p>The most common is the page title. The aptly named <code class=\"language-text\">&lt;title&gt;</code> tag! Then there are description tags. Self explanatory, a description of the page.</p>\n<h2>Social meta tags</h2>\n<p>Social meta tags are specifically for social media sites. These tags are read by sites like Facebook and Twitter. They are usually read when somebody posts a link to your site. They tell Facebook or Twitter what to display as a summary of your page.</p>\n<p>Here's an example of a simple Twitter card. This is built from the page's social meta tags.</p>\n<p>\n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block; ; max-width: 650px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 50.1937984496124%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAABYlAAAWJQFJUiTwAAABfElEQVQoz5VSTUvDQBDtj/Hkn/Ai+FdEEG8ivYgoKL14FW+CIvgPlEoPuSiIh0KlTVqrouar+Whikm6ym+fuNqm1VKEDj5md7Lx9k5lKTDIMQoIoihEEAUdY+ACEEKRpCsYY8jz/E+K7AKUUlY7Wx8HhMV5e39DrauhqKjQOVVVhmiY8z0OSJMiyTJJP+zLmrBAmSCuB7+G5/YSvMIRuDWDYLlzX44ojOI6D4dDnZxe+7/MHDFiWDdMwYHCYlikfpZxoQliQ4+bxA7WzBqonNzht9OEObOi8SNdFsYlPXUfGWxImSsbt/sSMQ7ZM5SWGh/cElxdX2Fzfwvn1Hfq9LprNJlqtFjqdtlRFS8JSxVQs3JiQ/wdhSr2OjbVVrCwv4Wi/iigewXZ4q8MAPh/UKM0Qj4hUgonCfIow/014X79FbXsHtd09KIoic6JFShnSjIKIQfAzK9qbB0lYrsSszcvNKptVKYfCignlYpekIooyt6hNCP9b2kUgxHwDEyD6z/6uf7kAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"Twitter card example\"\n        title=\"\"\n        src=\"/static/twitter-card-callum-c236076e8fdf9a0d398e2e01688782b1-83a8b.png\"\n        srcset=\"/static/twitter-card-callum-c236076e8fdf9a0d398e2e01688782b1-8992e.png 163w,\n/static/twitter-card-callum-c236076e8fdf9a0d398e2e01688782b1-ae0a7.png 325w,\n/static/twitter-card-callum-c236076e8fdf9a0d398e2e01688782b1-83a8b.png 650w,\n/static/twitter-card-callum-c236076e8fdf9a0d398e2e01688782b1-50453.png 975w,\n/static/twitter-card-callum-c236076e8fdf9a0d398e2e01688782b1-06a3a.png 1032w\"\n        sizes=\"(max-width: 650px) 100vw, 650px\"\n      />\n    </span>\n  </span>\n  </p>\n<h2>Why do I care?</h2>\n<p>Two reasons. SEO and social.</p>\n<p>The SEO benefits of good meta tags are pretty limited. The <code class=\"language-text\">&lt;title&gt;</code> tag is what appears on the search result page. It's important to have an appropriate title tag for each page.</p>\n<p>Social media tags are more important. When users share links to your pages. You can provide an image to go with your content.  You can make your videos available directly inside social sites. You will get better social engagement with good meta tags.</p>\n<h2>What do meta tags look like?</h2>\n<p>Here's a simple example of simple meta tags in plain HTML.</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>html</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>head</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>title</span><span class=\"token punctuation\">></span></span>GatsbyCentral<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>title</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>description<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">content</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>The Community for Gatsby Developers<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>twitter:card<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">content</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>summary<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>twitter:site<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">content</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>@GatsbyCentral<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span></code></pre></div>\n<p>This will generate a Twitter card like so.</p>\n<p>\n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block; ; max-width: 650px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 50.775193798449614%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAABYlAAAWJQFJUiTwAAABPElEQVQoz52Rb0+DMBDG9+FNfOkXmy9IxlSY0xkToNAWyj8ZlMe7bqAsLhoveTig19/d066arkdWdqjrBqUxKMsShjKr6zocj0dYazGO41XxOmsYBqyewhfc3N7h9XBAGAYIgi8lSQKtNdq2dcUM7/t+ztM7UcHB0JXJNfaPW5qwhlKKALmbjr+llMjznLJClmWI4whCCMoxIhI3ZA0EmoE4hzY13mKJd6EhlKFC4TalaYqEINOmy+DhnG2Ss8wP/iu0wXr7jLW/QywL7MIQnufB9334m808GeeUFEWRc3KCjg7sgPbcmYFecMD9wx5RRrbLCiIjq0ojlRqKjqIoCgfhi+OzbZrmG3BcAqvmA9JUUGS9qFr0tMhiq/1gnaWfwtqTXXsJvB7jYoprmi9lAi4L8K+Ygb91/6vY8icY6wfYu2xjEgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"Gatsby Central twitter card\"\n        title=\"\"\n        src=\"/static/twitter-card-gatsbycentral-d0b51806aa23974f52ed9b925296e455-83a8b.png\"\n        srcset=\"/static/twitter-card-gatsbycentral-d0b51806aa23974f52ed9b925296e455-8992e.png 163w,\n/static/twitter-card-gatsbycentral-d0b51806aa23974f52ed9b925296e455-ae0a7.png 325w,\n/static/twitter-card-gatsbycentral-d0b51806aa23974f52ed9b925296e455-83a8b.png 650w,\n/static/twitter-card-gatsbycentral-d0b51806aa23974f52ed9b925296e455-50453.png 975w,\n/static/twitter-card-gatsbycentral-d0b51806aa23974f52ed9b925296e455-06a3a.png 1032w\"\n        sizes=\"(max-width: 650px) 100vw, 650px\"\n      />\n    </span>\n  </span>\n  </p>\n<h2>Meta tags in Gatsby</h2>\n<p>Gatsby is based on React. Helmet is a package to manage meta tags in React. Gatsby uses Helmet.</p>\n<p>Helmet is very easy to get started with.</p>\n<p>First, import helmet like so:</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> Helmet <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">\"react-helmet\"</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>Now create a <code class=\"language-text\">&lt;Helmet&gt;</code> block inside your <code class=\"language-text\">render()</code> function like so:</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">return</span><span class=\"token punctuation\">(</span>\n  <span class=\"token operator\">&lt;</span>div<span class=\"token operator\">></span>\n    <span class=\"token operator\">&lt;</span>Helmet<span class=\"token operator\">></span>\n      <span class=\"token operator\">&lt;</span>title<span class=\"token operator\">></span>Gatsby Central<span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>title<span class=\"token operator\">></span>\n    <span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>Helmet<span class=\"token operator\">></span>\n    <span class=\"token operator\">...</span>\n  <span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>div<span class=\"token operator\">></span>\n<span class=\"token punctuation\">)</span></code></pre></div>\n<h2>Layouts and pages</h2>\n<p>Helmet will automatically merge meta tags. Set your default tags in your layouts. Override them in your page components. You can use <code class=\"language-text\">&lt;Helmet&gt;</code> in any component.</p>\n<p>With the example above in a layout, you could add this to a page:</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token operator\">&lt;</span>Helmet<span class=\"token operator\">></span>\n  <span class=\"token operator\">&lt;</span>title<span class=\"token operator\">></span>Meta Tags <span class=\"token keyword\">in</span> Gatsby<span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>title<span class=\"token operator\">></span>\n<span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>Helmet<span class=\"token operator\">></span></code></pre></div>\n<p>This title will overwrite the layout title.</p>","excerpt":"You want to set social meta tags. Or you want to set a page   tag. How does Helmet work? tl;dr  - Use  just like   in both the layout and…","timeToRead":2,"frontmatter":{"date":"March 13, 2018","path":"/meta-tags-in-gatsby","title":"Meta Tags in Gatsby"}},"relatedPosts":null,"allCommentsJson":null,"allRatingsJson":{"totalCount":5,"edges":[{"node":{"id":"6e9f2342-fcf5-5319-a25e-09bbe64e511a","rating":"5"}},{"node":{"id":"ae1b6b9a-a61c-5f7b-b0bd-2185f21c1f01","rating":"5"}},{"node":{"id":"49671bb9-cd35-5bfc-9d9b-edb7e851e1ea","rating":"5"}},{"node":{"id":"8a4329ac-7df3-5497-b383-38fcda602670","rating":"5"}},{"node":{"id":"a8a6ead6-4086-5cf4-a01e-c47c5a61b976","rating":"5"}}]}},"pageContext":{"tags":[]}}