{"id":47236,"date":"2024-06-14T07:00:00","date_gmt":"2024-06-14T14:00:00","guid":{"rendered":"https:\/\/dhblog.dream.press\/blog\/?p=47236"},"modified":"2026-08-25T09:19:46","modified_gmt":"2026-08-25T16:19:46","slug":"html5-semantic","status":"publish","type":"post","link":"https:\/\/www.dreamhost.com\/blog\/html5-semantic\/","title":{"rendered":"Semantic HTML Explained: Tags, Examples, and Best Practices"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The same word can mean different things in different places. &#8220;Cool&#8221; can describe a temperature or a shrug of agreement, depending on who says it and where. That&#8217;s semantics: how context gives words their meaning.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">HTML has semantics, too. Some tags tell a browser exactly what kind of content they hold. Others say nothing at all. The difference matters more than most beginners expect: it shapes how screen readers, search engines, and AI systems understand your pages.<\/p>\n\n\n\n\n\n<h2 id=\"h2_what-is-semantic-html5\" class=\"wp-block-heading\">What Is Semantic HTML?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Semantic HTML is the practice of using HTML elements that describe the meaning of their content (like <code>&lt;article&gt;<\/code>, <code>&lt;nav&gt;<\/code>, and <code>&lt;footer&gt;<\/code>) instead of generic containers like <code>&lt;div&gt;<\/code> and <code>&lt;span&gt;<\/code>. Semantic tags tell browsers, search engines, screen readers, and AI systems what each part of a page actually is.<\/p>\n\n\n\n<div class=\"glossary-term\">\n\t<div class=\"glossary-term__above-title\">\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 640 512\"><path d=\"M320 32c-8.1 0-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6l57.9 20.9C57.3 229.3 48 259.8 48 291.9v28.1c0 28.4-10.8 57.7-22.3 80.8c-6.5 13-13.9 25.8-22.5 37.6C0 442.7-.9 448.3 .9 453.4s6 8.9 11.2 10.2l64 16c4.2 1.1 8.7 .3 12.4-2s6.3-6.1 7.1-10.4c8.6-42.8 4.3-81.2-2.1-108.7C90.3 344.3 86 329.8 80 316.5V291.9c0-30.2 10.2-58.7 27.9-81.5c12.9-15.5 29.6-28 49.2-35.7l157-61.7c8.2-3.2 17.5 .8 20.7 9s-.8 17.5-9 20.7l-157 61.7c-12.4 4.9-23.3 12.4-32.2 21.6l159.6 57.6c7.6 2.7 15.6 4.1 23.7 4.1s16.1-1.4 23.7-4.1L624.2 182.6c9.5-3.4 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32zM128 408c0 35.3 86 72 192 72s192-36.7 192-72L496.7 262.6 354.5 314c-11.1 4-22.8 6-34.5 6s-23.5-2-34.5-6L143.3 262.6 128 408z\"\/><\/svg>\n\t\t<span>DreamHost Glossary<\/span>\n\t<\/div>\n    <h3>Semantic Markup<\/h3>\n    <p>Semantic markup is a process of structuring HTML to emphasize the content\u2019s meaning, rather than its appearance. This makes it easier for search engines and real users to understand the content.<\/p>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">A <code>&lt;div&gt;<\/code> is just a box. It renders fine, but nothing about it says &#8220;this is the navigation&#8221; or &#8220;this is the main article.&#8221; A semantic element carries that meaning in its name, so anything reading your page knows what it&#8217;s looking at without guessing. The reverse is just as true: CSS can style a <code>&lt;span&gt;<\/code> to look exactly like a page&#8217;s top-level heading, but to a screen reader or search engine it&#8217;s still meaningless inline text. Meaning belongs in your HTML; appearance belongs in your CSS.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you&#8217;re brand new to HTML, start with our <a href=\"https:\/\/www.dreamhost.com\/blog\/learn-html\/\">guide to learning HTML<\/a> and come back \u2014 this article builds on the basics.<\/p>\n\n\n\n<h2 id=\"h-what-is-html5\" class=\"wp-block-heading\">Is It &#8220;HTML5&#8221; or Just HTML?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Both, but &#8220;HTML&#8221; is the current name. HTML5 was the 2014 version of the language that introduced most of the semantic elements in this guide. Since then, HTML has become a <a target=\"_blank\" href=\"https:\/\/html.spec.whatwg.org\/multipage\/\" rel=\"noopener\">&#8220;Living Standard&#8221;<\/a> maintained by WHATWG: one continuously updated specification with no version numbers. That means there&#8217;s no &#8220;HTML6&#8221; on the way \u2014 the language just keeps evolving in place.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You&#8217;ll still see the phrase &#8220;HTML5 semantic elements&#8221; everywhere, and it&#8217;s not wrong \u2014 that&#8217;s the version that introduced <code>&lt;article&gt;<\/code>, <code>&lt;section&gt;<\/code>, <code>&lt;nav&gt;<\/code>, and friends. Just know that today they&#8217;re simply part of HTML, and browsers keep gaining support as the standard evolves.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1897\" height=\"829\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-vs-non-semantic-html-tags-dreamops-90cb1378c0b6eaa3057e0e75.webp\" alt=\"Comparison of non-semantic HTML elements (div, span) versus semantic HTML elements (header, article, section)\" class=\"wp-image-86923 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-vs-non-semantic-html-tags-dreamops-90cb1378c0b6eaa3057e0e75.webp 1897w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-vs-non-semantic-html-tags-dreamops-90cb1378c0b6eaa3057e0e75-300x131.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-vs-non-semantic-html-tags-dreamops-90cb1378c0b6eaa3057e0e75-1024x447.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-vs-non-semantic-html-tags-dreamops-90cb1378c0b6eaa3057e0e75-768x336.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-vs-non-semantic-html-tags-dreamops-90cb1378c0b6eaa3057e0e75-1536x671.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-vs-non-semantic-html-tags-dreamops-90cb1378c0b6eaa3057e0e75-600x262.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-vs-non-semantic-html-tags-dreamops-90cb1378c0b6eaa3057e0e75-1200x524.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-vs-non-semantic-html-tags-dreamops-90cb1378c0b6eaa3057e0e75-730x319.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-vs-non-semantic-html-tags-dreamops-90cb1378c0b6eaa3057e0e75-1460x638.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-vs-non-semantic-html-tags-dreamops-90cb1378c0b6eaa3057e0e75-784x343.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-vs-non-semantic-html-tags-dreamops-90cb1378c0b6eaa3057e0e75-1568x685.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-vs-non-semantic-html-tags-dreamops-90cb1378c0b6eaa3057e0e75-877x383.webp 877w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-vs-non-semantic-html-tags-dreamops-90cb1378c0b6eaa3057e0e75-1754x767.webp 1754w\" data-sizes=\"(max-width: 1897px) 100vw, 1897px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1897px; --smush-placeholder-aspect-ratio: 1897\/829;\" \/><\/figure>\n\n\n\n<h2 id=\"h2_examples-of-semantic-html5\" class=\"wp-block-heading\">Semantic HTML Tags (HTML5 Elements): The Essential List<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Here are the semantic elements you&#8217;ll use most, and what each one is for:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Tag<\/strong><\/td><td><strong>What it means<\/strong><\/td><td><strong>Use it for<\/strong><\/td><\/tr><tr><td><code>&lt;article&gt;<\/code><\/td><td>A self-contained piece of content that would make sense on its own<\/td><td>Blog posts, news stories, product cards, comments<\/td><\/tr><tr><td><code>&lt;section&gt;<\/code><\/td><td>A thematic grouping of content, usually with its own heading<\/td><td>Chapters of a page: features, testimonials, pricing<\/td><\/tr><tr><td><code>&lt;header&gt;<\/code><\/td><td>Introductory content for a page or section<\/td><td>Logos, site titles, taglines, top navigation areas<\/td><\/tr><tr><td><code>&lt;footer&gt;<\/code><\/td><td>Closing content for a page or section<\/td><td>Copyright lines, contact details, related links<\/td><\/tr><tr><td><code>&lt;nav&gt;<\/code><\/td><td>A block of navigation links<\/td><td>Menus, tables of contents, breadcrumbs<\/td><\/tr><tr><td><code>&lt;main&gt;<\/code><\/td><td>The dominant content of the page \u2014 use only one visible per page<\/td><td>The article body, the product page content, the app&#8217;s working area<\/td><\/tr><tr><td><code>&lt;aside&gt;<\/code><\/td><td>Content related to, but separate from, the main content<\/td><td>Sidebars, pull quotes, &#8220;related posts&#8221; boxes<\/td><\/tr><tr><td><code>&lt;figure&gt;<\/code><\/td><td>Self-contained media referenced by the content<\/td><td>Images, diagrams, charts, code snippets<\/td><\/tr><tr><td><code>&lt;figcaption&gt;<\/code><\/td><td>A caption for its parent <code>&lt;figure&gt;<\/code><\/td><td>Image credits, chart explanations<\/td><\/tr><tr><td><code>&lt;details&gt;<\/code><\/td><td>A widget the visitor can open and close<\/td><td>FAQ answers, spoilers, advanced options<\/td><\/tr><tr><td><code>&lt;summary&gt;<\/code><\/td><td>The always-visible label for a <code>&lt;details&gt;<\/code> widget<\/td><td>The question line of a collapsible FAQ<\/td><\/tr><tr><td><code>&lt;time&gt;<\/code><\/td><td>A date or time, with a machine-readable format<\/td><td>Publish dates, event times, opening hours<\/td><\/tr><tr><td><code>&lt;mark&gt;<\/code><\/td><td>Text highlighted for relevance<\/td><td>Search-term matches, key phrases<\/td><\/tr><tr><td><code>&lt;address&gt;<\/code><\/td><td>Contact information for a page or article<\/td><td>Author contact blocks, the page owner&#8217;s contact details (not just any street address in prose)<\/td><\/tr><tr><td><code>&lt;hgroup&gt;<\/code><\/td><td>A heading grouped with a subtitle or tagline paragraph<\/td><td>A title plus the paragraph right under it<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Plenty of older elements are semantic, too. <code>&lt;table&gt;<\/code> means tabular data, <code>&lt;form&gt;<\/code> means user input, <code>&lt;h1&gt;<\/code> through <code>&lt;h6&gt;<\/code> mean headings in order of rank, with <code>&lt;h1&gt;<\/code> the top level. Those predate HTML5, but they follow the same principle: the tag&#8217;s name tells you what its content is.<\/p>\n\n\n\n<div class=\"article-newsletter article-newsletter--gradient\">\n\n\n<h2>Get Content Delivered Straight to Your Inbox<\/h2><p>Subscribe now to receive all the latest updates, delivered directly to your inbox.<\/p><form class=\"nwsl-form\" id=\"newsletter_block_\" novalidate><div class=\"messages\"><\/div><div class=\"form-group\"><label for=\"input_newsletter_block_\"><input type=\"email\"name=\"email\"id=\"input_newsletter_block_\"placeholder=\"Enter your email address\"novalidatedisabled=\"disabled\"\/><\/label><button type=\"submit\"class=\"btn btn--brand\"disabled=\"disabled\"><span>Sign Me Up!<\/span><svg width=\"21\" height=\"14\" viewBox=\"0 0 21 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M13.8523 0.42524L12.9323 1.34521C12.7095 1.56801 12.7132 1.9304 12.9404 2.14865L16.7241 5.7823H0.5625C0.251859 5.7823 0 6.03416 0 6.3448V7.6573C0 7.96794 0.251859 8.2198 0.5625 8.2198H16.7241L12.9405 11.8535C12.7132 12.0717 12.7095 12.4341 12.9323 12.6569L13.8523 13.5769C14.072 13.7965 14.4281 13.7965 14.6478 13.5769L20.8259 7.39879C21.0456 7.17913 21.0456 6.82298 20.8259 6.60327L14.6477 0.42524C14.4281 0.205584 14.0719 0.205584 13.8523 0.42524Z\" fill=\"white\"\/>\n<\/svg>\n<\/button><\/div><\/form><\/div>\n\n\n<h2 id=\"h2_how-semantic-html5-tags-structure-content\" class=\"wp-block-heading\">Semantic vs. Non-Semantic HTML: A Before-and-After Example<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The fastest way to understand semantic HTML is to see the same page written both ways. Here&#8217;s a simple blog layout built entirely from <code>&lt;div&gt;<\/code> elements \u2014 often called &#8220;div soup&#8221;:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div class=\"header\"&gt;\n  &lt;div class=\"nav\"&gt;...&lt;\/div&gt;\n&lt;\/div&gt;\n&lt;div class=\"content\"&gt;\n  &lt;div class=\"post\"&gt;\n    &lt;div class=\"post-title\"&gt;My First Post&lt;\/div&gt;\n    &lt;div class=\"post-date\"&gt;July 7, 2026&lt;\/div&gt;\n    &lt;div class=\"post-body\"&gt;...&lt;\/div&gt;\n  &lt;\/div&gt;\n  &lt;div class=\"sidebar\"&gt;...&lt;\/div&gt;\n&lt;\/div&gt;\n&lt;div class=\"footer\"&gt;...&lt;\/div&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">It works. It renders. But every element is an anonymous box: a machine reading this page learns nothing about what any part of it means. Now the same layout with semantic elements:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;header&gt;\n  &lt;nav&gt;...&lt;\/nav&gt;\n&lt;\/header&gt;\n&lt;main&gt;\n  &lt;article&gt;\n    &lt;h1&gt;My First Post&lt;\/h1&gt;\n    &lt;p&gt;Published &lt;time datetime=\"2026-07-07\"&gt;July 7, 2026&lt;\/time&gt;&lt;\/p&gt;\n    &lt;p&gt;...&lt;\/p&gt;\n  &lt;\/article&gt;\n  &lt;aside&gt;...&lt;\/aside&gt;\n&lt;\/main&gt;\n&lt;footer&gt;...&lt;\/footer&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Same page, same look. But now the structure explains itself. A screen reader can jump straight to <code>&lt;main&gt;<\/code> or list the links in <code>&lt;nav&gt;<\/code>. A search engine knows the <code>&lt;article&gt;<\/code> is the content that matters and can read the publish date from <code>&lt;time&gt;<\/code>. And the next developer who opens the file understands it at a glance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Retrofitting an existing site? You can make this swap safely. Semantic elements render just like <code>&lt;div&gt;<\/code>s by default (plain, unstyled boxes), so exchanging tags won&#8217;t change your layout by itself. The catch is CSS: a selector like <code>div.header<\/code> stops matching once the element becomes <code>&lt;header&gt;<\/code>, so keep your class names on the new elements or update selectors as you swap. And migrate template by template \u2014 you don&#8217;t have to convert the whole site in one sitting.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1536\" height=\"1024\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-html-page-structure-diagram-dreamops-2b070e3eb3aaad09e8bf96c5.webp\" alt=\"Infographic showing how semantic HTML5 tags structure content, with header at the top, nav, section and article in the middle, aside on the right, and footer at the bottom\" class=\"wp-image-86924 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-html-page-structure-diagram-dreamops-2b070e3eb3aaad09e8bf96c5.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-html-page-structure-diagram-dreamops-2b070e3eb3aaad09e8bf96c5-300x200.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-html-page-structure-diagram-dreamops-2b070e3eb3aaad09e8bf96c5-1024x683.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-html-page-structure-diagram-dreamops-2b070e3eb3aaad09e8bf96c5-768x512.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-html-page-structure-diagram-dreamops-2b070e3eb3aaad09e8bf96c5-600x400.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-html-page-structure-diagram-dreamops-2b070e3eb3aaad09e8bf96c5-1200x800.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-html-page-structure-diagram-dreamops-2b070e3eb3aaad09e8bf96c5-730x487.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-html-page-structure-diagram-dreamops-2b070e3eb3aaad09e8bf96c5-1460x973.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-html-page-structure-diagram-dreamops-2b070e3eb3aaad09e8bf96c5-784x523.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/semantic-html-page-structure-diagram-dreamops-2b070e3eb3aaad09e8bf96c5-877x585.webp 877w\" data-sizes=\"(max-width: 1536px) 100vw, 1536px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1536px; --smush-placeholder-aspect-ratio: 1536\/1024;\" \/><\/figure>\n\n\n\n<h2 id=\"h-why-semantic-html-matters\" class=\"wp-block-heading\">Why Semantic HTML Matters<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Semantic HTML pays off in three big ways: accessibility, search visibility, and maintainability.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Accessibility<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Screen readers navigate pages by landmarks: the regions that semantic elements create. A user can jump directly to the navigation, the main content, or the footer instead of listening to the whole page in order. Build your page from anonymous <code>&lt;div&gt;<\/code> boxes and those shortcuts disappear.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Those landmarks come from the implicit ARIA roles that semantic elements carry automatically:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>&lt;nav&gt;<\/code> maps to the <code>navigation<\/code> role<\/li>\n\n\n\n<li><code>&lt;main&gt;<\/code> maps to the <code>main<\/code> role<\/li>\n\n\n\n<li><code>&lt;aside&gt;<\/code> maps to the <code>complementary<\/code> role<\/li>\n\n\n\n<li><code>&lt;header&gt;<\/code> maps to the <code>banner<\/code> role, but only at the top level of the page<\/li>\n\n\n\n<li><code>&lt;footer&gt;<\/code> maps to the <code>contentinfo<\/code> role, again only at the top level<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Nesting changes the role: a <code>&lt;header&gt;<\/code> inside an <code>&lt;article&gt;<\/code> is that article&#8217;s header, not a page landmark. To see exactly what assistive technology receives, open your browser&#8217;s dev tools and inspect the accessibility tree \u2014 in Chrome it&#8217;s the Accessibility pane of the Elements panel; in Firefox it&#8217;s the dedicated Accessibility tab.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The web has a long way to go here: per <a target=\"_blank\" href=\"https:\/\/webaim.org\/projects\/million\/\" rel=\"noopener\">WebAIM&#8217;s 2026 Million report<\/a>, 95.9% of the top one million home pages had detected WCAG 2 failures. Semantic structure is one of the simplest, cheapest ways to be part of the fix. For inspiration, see our roundup of <a href=\"https:\/\/www.dreamhost.com\/blog\/great-web-accessibility-examples\/\">great web accessibility examples<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SEO and AI Visibility<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Search engines parse your page&#8217;s structure to understand what it&#8217;s about and which parts matter. Semantic elements make that job easier: <code>&lt;main&gt;<\/code> and <code>&lt;article&gt;<\/code> point crawlers at your primary content, <code>&lt;nav&gt;<\/code> and <code>&lt;footer&gt;<\/code> help them tell the main content apart from repeated page furniture like menus and footers, and <code>&lt;time&gt;<\/code> gives them machine-readable dates. Clean semantics won&#8217;t rank a page by itself, but it removes guesswork from how your content gets indexed. It&#8217;s also a foundation for the <a href=\"https:\/\/www.dreamhost.com\/blog\/improve-seo\/\">rest of your SEO work<\/a>. And if you want that work turned into a guided, step-by-step checklist for your site, that&#8217;s what the <a href=\"https:\/\/www.dreamhost.com\/products\/seo-toolkit\/\">DreamHost SEO Toolkit<\/a> is for.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The same logic now applies to AI. Tools like ChatGPT, Claude, and Google&#8217;s AI Overviews extract answers from web pages, and clearly structured markup makes your content easier to parse, quote, and cite correctly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Maintainability and Future-Proofing<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Semantic markup is self-documenting. Six months from now, <code>&lt;aside class=\"promo\"&gt;<\/code> tells you far more than <code>&lt;div class=\"box3\"&gt;<\/code>. And because semantic elements are part of the HTML Living Standard, browsers will keep supporting and improving them, so your structure stays valid for years without rewrites.<\/p>\n\n\n\n<h2 id=\"h2_semantic-html5-tips-and-best-practices\" class=\"wp-block-heading\">Semantic HTML Tips and Best Practices<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Five habits will get you most of the value:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Use the Right Tag for the Job<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Before you reach for a <code>&lt;div&gt;<\/code>, ask whether a semantic element already describes what you&#8217;re building. Standalone piece of content? <code>&lt;article&gt;<\/code>. Group of navigation links? <code>&lt;nav&gt;<\/code>. A <code>&lt;div&gt;<\/code> is fine when nothing else fits \u2014 it&#8217;s the generic container of last resort, not the default.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Avoid Over-Nesting<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Keep your structure as flat as the design allows. Wrappers inside wrappers inside wrappers make code hard to read and hard to maintain, and they usually signal that styling problems are being solved with markup instead of CSS.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1332\" height=\"1181\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/over-nested-vs-proper-html-structure-dreamops-b435b6eaadf202d63dbbe81c.webp\" alt=\"Example of over-nested HTML elements with many redundant wrapper divs\" class=\"wp-image-86925 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/over-nested-vs-proper-html-structure-dreamops-b435b6eaadf202d63dbbe81c.webp 1332w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/over-nested-vs-proper-html-structure-dreamops-b435b6eaadf202d63dbbe81c-300x266.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/over-nested-vs-proper-html-structure-dreamops-b435b6eaadf202d63dbbe81c-1024x908.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/over-nested-vs-proper-html-structure-dreamops-b435b6eaadf202d63dbbe81c-768x681.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/over-nested-vs-proper-html-structure-dreamops-b435b6eaadf202d63dbbe81c-600x532.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/over-nested-vs-proper-html-structure-dreamops-b435b6eaadf202d63dbbe81c-1200x1064.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/over-nested-vs-proper-html-structure-dreamops-b435b6eaadf202d63dbbe81c-730x647.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/over-nested-vs-proper-html-structure-dreamops-b435b6eaadf202d63dbbe81c-784x695.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/over-nested-vs-proper-html-structure-dreamops-b435b6eaadf202d63dbbe81c-877x778.webp 877w\" data-sizes=\"(max-width: 1332px) 100vw, 1332px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1332px; --smush-placeholder-aspect-ratio: 1332\/1181;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">3. Be Consistent Across Your Site<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If blog posts are <code>&lt;article&gt;<\/code> on one page, they should be <code>&lt;article&gt;<\/code> everywhere. Consistent structure makes templates easier to maintain and gives assistive technology a predictable map of your site.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Let Native Elements Do the Accessibility Work<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Native semantic elements come with accessibility behavior built in, so use them before reaching for ARIA (Accessible Rich Internet Applications) attributes. A <code>&lt;nav&gt;<\/code> element doesn&#8217;t need <code>role=\"navigation\"<\/code> bolted on. Add descriptive alt text to images and meaningful link text, then check your work with testing tools like <a target=\"_blank\" href=\"https:\/\/wave.webaim.org\/\" rel=\"noopener\">WAVE<\/a>, <a target=\"_blank\" href=\"https:\/\/www.deque.com\/axe\/\" rel=\"noopener\">axe<\/a>, or Lighthouse.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Audit the Markup Your Tools Generate<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Most sites aren&#8217;t hand-coded. A WordPress theme, a page builder, or a JavaScript framework writes the HTML for you, and the output is often div soup. You still have more control than you&#8217;d think. Start by checking what actually ships: right-click your live page, view the source (or open the dev tools Elements panel), and look for <code>&lt;main&gt;<\/code>, <code>&lt;nav&gt;<\/code>, and <code>&lt;article&gt;<\/code> where they belong.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then improve what you can. In WordPress, choose a theme that outputs semantic structure (inspect a demo page before committing), or fix templates in a child theme. In page builders, look for the container setting usually labeled &#8220;HTML tag&#8221; and set your menu wrapper to <code>&lt;nav&gt;<\/code> and your content column to <code>&lt;main&gt;<\/code> instead of the default <code>&lt;div&gt;<\/code>. In React, Vue, and friends, components render whatever you write, so bake the right element into each component once (like <code>&lt;article&gt;<\/code> for a card or <code>&lt;nav&gt;<\/code> for a menu) and every page that uses it inherits the fix. Re-run WAVE or Lighthouse afterward to confirm the landmarks show up.<\/p>\n\n\n\n<h2 id=\"h-semantic-html-faqs\" class=\"wp-block-heading\">Semantic HTML FAQs<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">What&#8217;s the difference between semantic and non-semantic HTML?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Semantic elements describe their content&#8217;s meaning (<code>&lt;article&gt;<\/code>, <code>&lt;nav&gt;<\/code>, <code>&lt;footer&gt;<\/code>); non-semantic elements are generic containers that say nothing about what&#8217;s inside (<code>&lt;div&gt;<\/code>, <code>&lt;span&gt;<\/code>). Both render the same content, but only one explains it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Is &lt;div&gt; a semantic element?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. A <code>&lt;div&gt;<\/code> carries no meaning \u2014 it&#8217;s a generic box for grouping and styling. That doesn&#8217;t make it bad; it makes it a last resort. Use it when no semantic element fits what you&#8217;re building.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Does semantic HTML help SEO?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">It helps search engines understand and index your content accurately, which supports your SEO, but it isn&#8217;t a magic ranking switch. Think of it as removing friction: clear structure makes your content easier to crawl, interpret, and feature.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What are the most commonly used semantic HTML elements?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The structural workhorses: <code>&lt;header&gt;<\/code>, <code>&lt;nav&gt;<\/code>, <code>&lt;main&gt;<\/code>, <code>&lt;article&gt;<\/code>, <code>&lt;section&gt;<\/code>, <code>&lt;aside&gt;<\/code>, and <code>&lt;footer&gt;<\/code>. Learn those seven and you can structure almost any page semantically.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What is a semantic structure in HTML?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A semantic structure is a page outline built from meaningful elements: <code>&lt;header&gt;<\/code> up top, <code>&lt;nav&gt;<\/code> for menus, one <code>&lt;main&gt;<\/code> wrapping the primary content, <code>&lt;article&gt;<\/code> and <code>&lt;section&gt;<\/code> organizing it, and <code>&lt;footer&gt;<\/code> at the bottom. Machines read that outline straight from the tags.<\/p>\n\n\n\n<h2 id=\"h2_build-your-semantically-structured-accessible-website-with-dreamhost\" class=\"wp-block-heading\">Build Your Semantically Structured, Accessible Website With DreamHost<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Semantic HTML makes your site easier to understand for every reader: human, crawler, or AI. The markup only gets seen when your site is up, though, and that part is the host&#8217;s job.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DreamHost <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/hosting\/web-hosting\/\" rel=\"noopener\">web hosting<\/a> comes with a 100% uptime guarantee, unmetered bandwidth, and 24\/7 expert support, so your well-structured pages are always there when visitors (and search engines) come looking.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Navigate HTML5 semantic elements effortlessly with our guide. Learn what they are and how to use them to enhance your site&#8217;s structure and accessibility.<\/p>\n","protected":false},"author":1058,"featured_media":86922,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_opengraph-title":"Semantic HTML: What It Is & Why It Matters - DreamHost","_yoast_wpseo_opengraph-description":"Semantic HTML uses elements like article and nav to describe content, improving accessibility, SEO, and how AI systems read your pages.","_yoast_wpseo_twitter-title":"Semantic HTML: What It Is & Why It Matters - DreamHost","_yoast_wpseo_twitter-description":"Semantic HTML uses elements like article and nav to describe content, improving accessibility, SEO, and how AI systems read your pages.","toc_headlines":"[[\"h2_what-is-semantic-html5\",\"What Is Semantic HTML?\"],[\"h-what-is-html5\",\"Is It \\\"HTML5\\\" or Just HTML?\"],[\"h2_examples-of-semantic-html5\",\"Semantic HTML Tags (HTML5 Elements): The Essential List\"],[\"h2_how-semantic-html5-tags-structure-content\",\"Semantic vs. Non-Semantic HTML: A Before-and-After Example\"],[\"h-why-semantic-html-matters\",\"Why Semantic HTML Matters\"],[\"h2_semantic-html5-tips-and-best-practices\",\"Semantic HTML Tips and Best Practices\"],[\"h-semantic-html-faqs\",\"Semantic HTML FAQs\"],[\"h2_build-your-semantically-structured-accessible-website-with-dreamhost\",\"Build Your Semantically Structured, Accessible Website With DreamHost\"]]","hide_toc":false,"show_updated_at":"1","footnotes":""},"categories":[12852],"tags":[],"class_list":["post-47236","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-website-design"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Semantic HTML: What It Is &amp; Why It Matters - DreamHost<\/title>\n<meta name=\"description\" content=\"Semantic HTML uses elements like article and nav to describe content, improving accessibility, SEO, and how AI systems read your pages.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dreamhost.com\/blog\/html5-semantic\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Semantic HTML: What It Is &amp; Why It Matters - DreamHost\" \/>\n<meta property=\"og:description\" content=\"Semantic HTML uses elements like article and nav to describe content, improving accessibility, SEO, and how AI systems read your pages.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dreamhost.com\/blog\/html5-semantic\/\" \/>\n<meta property=\"og:site_name\" content=\"DreamHost Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DreamHost\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-06-14T14:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-25T16:19:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/06\/1220_x_628_ogimage_semantic_elements_in_html5.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"942\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Ian Hernandez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Semantic HTML: What It Is &amp; Why It Matters - DreamHost\" \/>\n<meta name=\"twitter:description\" content=\"Semantic HTML uses elements like article and nav to describe content, improving accessibility, SEO, and how AI systems read your pages.\" \/>\n<meta name=\"twitter:creator\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:site\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ian Hernandez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Semantic HTML: What It Is & Why It Matters - DreamHost","description":"Semantic HTML uses elements like article and nav to describe content, improving accessibility, SEO, and how AI systems read your pages.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dreamhost.com\/blog\/html5-semantic\/","og_locale":"en_US","og_type":"article","og_title":"Semantic HTML: What It Is & Why It Matters - DreamHost","og_description":"Semantic HTML uses elements like article and nav to describe content, improving accessibility, SEO, and how AI systems read your pages.","og_url":"https:\/\/www.dreamhost.com\/blog\/html5-semantic\/","og_site_name":"DreamHost Blog","article_publisher":"https:\/\/www.facebook.com\/DreamHost\/","article_published_time":"2024-06-14T14:00:00+00:00","article_modified_time":"2026-08-25T16:19:46+00:00","og_image":[{"width":1800,"height":942,"url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/06\/1220_x_628_ogimage_semantic_elements_in_html5.webp","type":"image\/webp"}],"author":"Ian Hernandez","twitter_card":"summary_large_image","twitter_title":"Semantic HTML: What It Is & Why It Matters - DreamHost","twitter_description":"Semantic HTML uses elements like article and nav to describe content, improving accessibility, SEO, and how AI systems read your pages.","twitter_creator":"@dreamhost","twitter_site":"@dreamhost","twitter_misc":{"Written by":"Ian Hernandez","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dreamhost.com\/blog\/html5-semantic\/#article","isPartOf":{"@id":"https:\/\/www.dreamhost.com\/blog\/html5-semantic\/"},"author":{"name":"Ian Hernandez","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/person\/6b2312bf0bff4ec04f50c319af67d0f7"},"headline":"Semantic HTML Explained: Tags, Examples, and Best Practices","datePublished":"2024-06-14T14:00:00+00:00","dateModified":"2026-08-25T16:19:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dreamhost.com\/blog\/html5-semantic\/"},"wordCount":1871,"publisher":{"@id":"https:\/\/www.dreamhost.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/html5-semantic\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/blog-hero-html5-semantic-dreamops-0209c6ee08fd7816150a8fb4.webp","articleSection":["Website Design"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.dreamhost.com\/blog\/html5-semantic\/","url":"https:\/\/www.dreamhost.com\/blog\/html5-semantic\/","name":"Semantic HTML: What It Is & Why It Matters - DreamHost","isPartOf":{"@id":"https:\/\/www.dreamhost.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dreamhost.com\/blog\/html5-semantic\/#primaryimage"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/html5-semantic\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/blog-hero-html5-semantic-dreamops-0209c6ee08fd7816150a8fb4.webp","datePublished":"2024-06-14T14:00:00+00:00","dateModified":"2026-08-25T16:19:46+00:00","description":"Semantic HTML uses elements like article and nav to describe content, improving accessibility, SEO, and how AI systems read your pages.","breadcrumb":{"@id":"https:\/\/www.dreamhost.com\/blog\/html5-semantic\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dreamhost.com\/blog\/html5-semantic\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dreamhost.com\/blog\/html5-semantic\/#primaryimage","url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/blog-hero-html5-semantic-dreamops-0209c6ee08fd7816150a8fb4.webp","contentUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/blog-hero-html5-semantic-dreamops-0209c6ee08fd7816150a8fb4.webp","width":1536,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/www.dreamhost.com\/blog\/html5-semantic\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.dreamhost.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Semantic HTML Explained: Tags, Examples, and Best Practices"}]},{"@type":"WebSite","@id":"https:\/\/www.dreamhost.com\/blog\/#website","url":"https:\/\/www.dreamhost.com\/blog\/","name":"DreamHost Blog","description":"","publisher":{"@id":"https:\/\/www.dreamhost.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dreamhost.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dreamhost.com\/blog\/#organization","name":"DreamHost","url":"https:\/\/www.dreamhost.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","contentUrl":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","width":1200,"height":168,"caption":"DreamHost"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DreamHost\/","https:\/\/x.com\/dreamhost","https:\/\/www.instagram.com\/dreamhost\/","https:\/\/www.linkedin.com\/company\/dreamhost\/","https:\/\/www.youtube.com\/user\/dreamhostusa"]},{"@type":"Person","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/person\/6b2312bf0bff4ec04f50c319af67d0f7","name":"Ian Hernandez","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/04\/ian-hernandez-dreamhost-150x150.png","url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/04\/ian-hernandez-dreamhost-150x150.png","contentUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/04\/ian-hernandez-dreamhost-150x150.png","caption":"Ian Hernandez"},"description":"Ian is a Product Designer based in Los Angeles, California. He is responsible for driving brand and product design at DreamHost, developing and maintaining our internal design system, and writing frontend code when he can. In his free time, he enjoys walking his dog, learning history, and discovering new music online and irl. Connect with him on LinkedIn: https:\/\/www.linkedin.com\/in\/ianhernandez23\/","url":"https:\/\/www.dreamhost.com\/blog\/author\/ianh\/"}]}},"lang":"en","translations":{"en":47236,"es":47255,"de":51219,"pt":53044,"pl":53047,"uk":53053,"ru":53081,"it":67793,"nl":69179,"fr":69183},"pll_sync_post":{},"_links":{"self":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/47236","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/users\/1058"}],"version-history":[{"count":2,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/47236\/revisions"}],"predecessor-version":[{"id":87900,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/47236\/revisions\/87900"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/media\/86922"}],"wp:attachment":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/media?parent=47236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/categories?post=47236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/tags?post=47236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}