<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/how-i-structure-html-for-better-seo-results-quwh15yzv" -->

---
title: How I Structure HTML for Better SEO Results | daily.dev
description: Stephan Romhart explains how to use semantic HTML 5 tags for better machine readability. He also explains how he organize his CSS for websites without a...
canonical: https://daily.dev/posts/how-i-structure-html-for-better-seo-results-quwh15yzv
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How I Structure HTML for Better SEO Results | daily.dev
og:description: Stephan Romhart explains how to use semantic HTML 5 tags for better machine readability. He also explains how he organize his CSS for websites without a...
og:url: https://daily.dev/posts/how-i-structure-html-for-better-seo-results-quwh15yzv
og:image: https://api.daily.dev/og/posts/QUwH15YZV.png
og:image:alt: How I Structure HTML for Better SEO Results
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How I Structure HTML for Better SEO Results

**[gitconnected](https://daily.dev/sources/gc)** · 2 min read · 236 upvotes · 9 comments

## Summary

Stephan Romhart explains how to use semantic HTML 5 tags for better machine readability. He also explains how he organize his CSS for websites without a framework. In his 20 years of web development experience, he’s developed a standard CSS approach for myself. He says that most websites can be built with the following boilerplate.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://levelup.gitconnected.com/semantics-how-i-structure-html-without-divitis-dd0d376f193>

## Community discussion

Top comments from developers on daily.dev.

**@skwo** · 3 upvotes

> <header> and <footer> do not belong inside the <main> section.
>
>
> So it should rather be:
>
>
> <header></header>
> <main></main>
> <footer></footer>
>
>
> See example https://html.spec.whatwg.org/multipage/grouping-content.html#the-main-element

**@evecreate** · 2 upvotes

> This is realistic if you have a small website but I think not for a bigger website. For a bigger website I would hope you would work component based you would place it within a section but depending on the complexity of the component I would still see a big list of divs but than within a section.
> But indeed a good reminder to keep using HTML5 elements.

**@remitiab** · 0 upvotes

> Very nice article ! Today, use good semantics tags in HTML5 for a nice SEO results is very important !

**@ramyac** · 0 upvotes

> Well written.

**@realfakenerd** · 0 upvotes

> Well structured article too

## Similar posts on daily.dev

- [Don’t just attend KubeCon \+ CloudNativeCon, Merge Forward your experience\!](https://daily.dev/posts/don-t-just-attend-kubecon-cloudnativecon-merge-forward-your-experience--l0rpp73x8) · CNCF · 1 upvotes · 0 comments
- [Announcing H2 2026 KCDs](https://daily.dev/posts/announcing-h2-2026-kcds-m96goajm1) · CNCF · 1 upvotes · 0 comments
- [Two months of Open Community Groups](https://daily.dev/posts/two-months-of-open-community-groups-asf52zhbs) · CNCF · 0 upvotes · 0 comments
- [CNCF Unveils Schedule for KubeCon \+ CloudNativeCon Europe 2026](https://daily.dev/posts/cncf-unveils-schedule-for-kubecon-cloudnativecon-europe-2026-ikhcoa5cb) · CNCF · 2 upvotes · 0 comments
- [CNCF Debuts KubeCon \+ CloudNativeCon Japan 2026 Schedule](https://daily.dev/posts/cncf-debuts-kubecon-cloudnativecon-japan-2026-schedule-xp5pyudub) · CNCF · 1 upvotes · 0 comments

---

Tags: [#css](https://daily.dev/tags/css), [#general-programming](https://daily.dev/tags/general-programming), [#html](https://daily.dev/tags/html), [#seo](https://daily.dev/tags/seo)

[View this post on daily.dev](https://daily.dev/posts/how-i-structure-html-for-better-seo-results-quwh15yzv)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"How I Structure HTML for Better SEO Results","url":"https://daily.dev/posts/how-i-structure-html-for-better-seo-results-quwh15yzv","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-i-structure-html-for-better-seo-results-quwh15yzv"},"datePublished":"2021-11-07T20:16:14.493Z","dateModified":"2026-03-15T06:43:12.013Z","description":"Stephan Romhart explains how to use semantic HTML 5 tags for better machine readability. He also explains how he organize his CSS for websites without a...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4f25d4ff247fbbe6a1d2f82790e12805","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4f25d4ff247fbbe6a1d2f82790e12805","isAccessibleForFree":true,"articleSection":"gitconnected","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"gitconnected","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/gc","url":"https://daily.dev/sources/gc"},"commentCount":9,"discussionUrl":"https://daily.dev/posts/how-i-structure-html-for-better-seo-results-quwh15yzv","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":236},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":9}],"keywords":"css,general-programming,html,seo","timeRequired":"PT2M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"gitconnected","item":"https://daily.dev/sources/gc"},{"@type":"ListItem","position":3,"name":"How I Structure HTML for Better SEO Results"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/how-i-structure-html-for-better-seo-results-quwh15yzv","comment":[{"@type":"Comment","text":"and  do not belong inside the  section.\nSo it should rather be:\n\n\n\nSee example https://html.spec.whatwg.org/multipage/grouping-content.html#the-main-element","datePublished":"2021-11-08T10:55:08.592Z","url":"https://daily.dev/posts/QUwH15YZV#c-fTxZIpU5D","author":{"@type":"Person","name":"Suong-Kwo Han","url":"https://daily.dev/skwo","image":"https://avatars2.githubusercontent.com/u/64690088?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3}},{"@type":"Comment","text":"This is realistic if you have a small website but I think not for a bigger website. For a bigger website I would hope you would work component based you would place it within a section but depending on the complexity of the component I would still see a big list of divs but than within a section.\nBut indeed a good reminder to keep using HTML5 elements.","datePublished":"2021-11-08T07:43:23.661Z","url":"https://daily.dev/posts/QUwH15YZV#c-JPpmXzLRt","author":{"@type":"Person","name":"Eve Albers","url":"https://daily.dev/evecreate","image":"https://lh3.googleusercontent.com/a-/AOh14GhqNwxCpMIIjgpFXIrHPh7mLLdukpv3ArHaZi01wQ=s100"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2}},{"@type":"Comment","text":"Very nice article ! Today, use good semantics tags in HTML5 for a nice SEO results is very important !","datePublished":"2021-11-08T08:59:15.372Z","url":"https://daily.dev/posts/QUwH15YZV#c-cYooHGFvE","author":{"@type":"Person","name":"RemiTiab","url":"https://daily.dev/remitiab","image":"https://avatars1.githubusercontent.com/u/43986961?v=4"}},{"@type":"Comment","text":"Well written.","datePublished":"2021-11-08T11:57:16.163Z","url":"https://daily.dev/posts/QUwH15YZV#c-J4Q9OteDr","author":{"@type":"Person","name":"Ramya Chinnadurai","url":"https://daily.dev/ramyac","image":"https://lh3.googleusercontent.com/a-/AOh14GgD13L05ZvRrLOMY7-QQvNAoq2v0uWfQquQ1DVw=s100"}},{"@type":"Comment","text":"Well structured article too","datePublished":"2021-12-02T20:59:54.009Z","url":"https://daily.dev/posts/QUwH15YZV#c-OlJ2riVU_","author":{"@type":"Person","name":"Lucas A. Ouverney","url":"https://daily.dev/realfakenerd","image":"https://avatars.githubusercontent.com/u/16668109?v=4"}}]}
```

