<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Zakayo Mepetu</title>
    <description>The latest articles on DEV Community by Zakayo Mepetu (@zakayo_mepetu_ded34b09bb1).</description>
    <link>https://dev.to/zakayo_mepetu_ded34b09bb1</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3459088%2F89b72214-78d1-45b5-ad58-a21ccba911ed.jpg</url>
      <title>DEV Community: Zakayo Mepetu</title>
      <link>https://dev.to/zakayo_mepetu_ded34b09bb1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zakayo_mepetu_ded34b09bb1"/>
    <language>en</language>
    <item>
      <title>SEMANTIC HTML</title>
      <dc:creator>Zakayo Mepetu</dc:creator>
      <pubDate>Thu, 28 Aug 2025 20:02:53 +0000</pubDate>
      <link>https://dev.to/zakayo_mepetu_ded34b09bb1/semantic-html-2cig</link>
      <guid>https://dev.to/zakayo_mepetu_ded34b09bb1/semantic-html-2cig</guid>
      <description>&lt;h2&gt;
  
  
  INTRODUCTION
&lt;/h2&gt;

&lt;p&gt;Semantic HTML tags like &lt;code&gt;header&lt;/code&gt;, &lt;code&gt;article&lt;/code&gt;, &lt;code&gt;nav&lt;/code&gt;, &lt;code&gt;section&lt;/code&gt;, &lt;code&gt;footer&lt;/code&gt;, &lt;code&gt;main&lt;/code&gt;, and &lt;code&gt;aside&lt;/code&gt; improve search engine crawling and indexing by giving meaningful structure to web content, allowing search engines to easily understand the hierarchy and purpose of different page elements. Unlike generic &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; or &lt;span&gt; tags, semantic tags clearly define content roles (e.g., navigation menus, main content, supplementary information), which enhances the accuracy of search engine algorithms in categorizing and ranking pages.&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Basic semantic code
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`&amp;lt;!DOCTYPE html&amp;gt;`
`&amp;lt;html lang="en"&amp;gt;`
`&amp;lt;head&amp;gt;`
  `&amp;lt;meta charset="UTF-8"&amp;gt;`
  `&amp;lt;meta name="description" content="Technical blog about semantic HTML benefits for SEO and accessibility"&amp;gt;`
  `&amp;lt;title&amp;gt;Semantic HTML Example&amp;lt;/title&amp;gt;`
`&amp;lt;/head&amp;gt;`
`&amp;lt;body&amp;gt;`
  `&amp;lt;header&amp;gt;`
    `&amp;lt;h1&amp;gt;Web Development Insights&amp;lt;/h1&amp;gt;`
    `&amp;lt;nav&amp;gt;`
      `&amp;lt;ul&amp;gt;`
        `&amp;lt;li&amp;gt;&amp;lt;a href="/"&amp;gt;Home&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;`
        `&amp;lt;li&amp;gt;&amp;lt;a href="/articles"&amp;gt;Articles&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;`
        `&amp;lt;li&amp;gt;&amp;lt;a href="/about"&amp;gt;About&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;`
      `&amp;lt;/ul&amp;gt;`
    `&amp;lt;/nav&amp;gt;`
  `&amp;lt;/header&amp;gt;`

  `&amp;lt;main&amp;gt;`
    `&amp;lt;article&amp;gt;`
      `&amp;lt;header&amp;gt;`
        `&amp;lt;h2&amp;gt;How Semantic HTML Improves SEO&amp;lt;/h2&amp;gt;`
        `&amp;lt;p&amp;gt;Published on &amp;lt;time datetime="2025-08-28"&amp;gt;August 28, 2025&amp;lt;/time&amp;gt;&amp;lt;/p&amp;gt;`
      `&amp;lt;/header&amp;gt;`
`&amp;lt;section&amp;gt;`
        `&amp;lt;h3&amp;gt;Search Engine Crawling&amp;lt;/h3&amp;gt;`
        `&amp;lt;p&amp;gt;Semantic tags help Googlebot understand page hierarchy and relevance...&amp;lt;/p&amp;gt;`
      `&amp;lt;/section&amp;gt;`
`&amp;lt;aside&amp;gt;`
        `&amp;lt;h3&amp;gt;Related Resources&amp;lt;/h3&amp;gt;`
        `&amp;lt;ul&amp;gt;`
          `&amp;lt;li&amp;gt;&amp;lt;a href="/seo-guide"&amp;gt;SEO Optimization Guide&amp;lt;/a&amp;gt;`
`&amp;lt;/li&amp;gt;`
          `&amp;lt;li&amp;gt;&amp;lt;a href="/a11y-best-practices"&amp;gt;Accessibility Best Practices&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;`
        `&amp;lt;/ul&amp;gt;`
      `&amp;lt;/aside&amp;gt;`
    `&amp;lt;/article&amp;gt;`
  `&amp;lt;/main&amp;gt;`
`&amp;lt;footer&amp;gt;`
    `&amp;lt;p&amp;gt;&amp;amp;copy; 2025 Web Dev Insights. All Rights Reserved.&amp;lt;/p&amp;gt;`
  `&amp;lt;/footer&amp;gt;`
`&amp;lt;/body&amp;gt;`
`&amp;lt;/html&amp;gt;`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Code comparisons (semantic vs. non-semantic approaches
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Non‑Semantic
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`&amp;lt;!DOCTYPE html&amp;gt;`
`&amp;lt;html lang="en"&amp;gt;`
`&amp;lt;head&amp;gt;`
  `&amp;lt;meta charset="UTF-8"&amp;gt;`
  `&amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;`
  `&amp;lt;title&amp;gt;How to Brew Coffee - MySite&amp;lt;/title&amp;gt;`
`&amp;lt;/head&amp;gt;`
`&amp;lt;body&amp;gt;`
  `&amp;lt;div class="top"&amp;gt;`
    `&amp;lt;div class="logo"&amp;gt;MySite&amp;lt;/div&amp;gt;`
    `&amp;lt;div class="links"&amp;gt;`
      `&amp;lt;a href="/"&amp;gt;Home&amp;lt;/a&amp;gt;`
      `&amp;lt;a href="/blog"&amp;gt;Blog&amp;lt;/a&amp;gt;`
      `&amp;lt;a href="/about"&amp;gt;About&amp;lt;/a&amp;gt;`
    `&amp;lt;/div&amp;gt;`
  `&amp;lt;/div&amp;gt;`

  `&amp;lt;div class="content"&amp;gt;`
    `&amp;lt;div class="title"&amp;gt;How to Brew Coffee&amp;lt;/div&amp;gt;`
    `&amp;lt;div class="intro"&amp;gt;This article explains…&amp;lt;/div&amp;gt;`
    `&amp;lt;div class="body"&amp;gt;`
      `&amp;lt;div class="part"&amp;gt;Step 1 …&amp;lt;/div&amp;gt;`
      `&amp;lt;div class="part"&amp;gt;Step 2 …&amp;lt;/div&amp;gt;`
    `&amp;lt;/div&amp;gt;`
  `&amp;lt;/div&amp;gt;`

  `&amp;lt;div class="bottom"&amp;gt;© 2025 MySite&amp;lt;/div&amp;gt;`
`&amp;lt;/body&amp;gt;`
`&amp;lt;/html&amp;gt;`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Semantic&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`&amp;lt;!DOCTYPE html&amp;gt;`
`&amp;lt;html lang="en"&amp;gt;`
`&amp;lt;head&amp;gt;`
  `&amp;lt;meta charset="UTF-8"&amp;gt;`
  `&amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;`
  `&amp;lt;title&amp;gt;How to Brew Coffee - MySite&amp;lt;/title&amp;gt;`
`&amp;lt;/head&amp;gt;`
`&amp;lt;body&amp;gt;`
  `&amp;lt;header&amp;gt;`
    `&amp;lt;a href="/" class="site-logo"&amp;gt;MySite&amp;lt;/a&amp;gt;`
    `&amp;lt;nav aria-label="Primary"&amp;gt;`
      `&amp;lt;ul&amp;gt;`
        `&amp;lt;li&amp;gt;&amp;lt;a href="/"&amp;gt;Home&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;`
        `&amp;lt;li&amp;gt;&amp;lt;a href="/blog"&amp;gt;Blog&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;`
        `&amp;lt;li&amp;gt;&amp;lt;a href="/about"&amp;gt;About&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;`
      `&amp;lt;/ul&amp;gt;`
    `&amp;lt;/nav&amp;gt;`
  `&amp;lt;/header&amp;gt;`
`&amp;lt;main id="content"&amp;gt;`
    `&amp;lt;article&amp;gt;`
      `&amp;lt;header&amp;gt;`
        `&amp;lt;h1&amp;gt;How to Brew Coffee&amp;lt;/h1&amp;gt;`
        `&amp;lt;p class="lead"&amp;gt;This article explains…&amp;lt;/p&amp;gt;`
      `&amp;lt;/header&amp;gt;`
`&amp;lt;section aria-labelledby="s-steps"&amp;gt;`
        `&amp;lt;h2 id="s-steps"&amp;gt;Steps&amp;lt;/h2&amp;gt;`
        `&amp;lt;ol&amp;gt;`
          `&amp;lt;li&amp;gt;Step 1 …&amp;lt;/li&amp;gt;`
          `&amp;lt;li&amp;gt;Step 2 …&amp;lt;/li&amp;gt;`
        `&amp;lt;/ol&amp;gt;`
      `&amp;lt;/section&amp;gt;`
`&amp;lt;footer&amp;gt;`
        `&amp;lt;p&amp;gt;Published &amp;lt;time datetime="2025-08-27"&amp;gt;Aug 27, 2025&amp;lt;/time&amp;gt;&amp;lt;/p&amp;gt;`
      `&amp;lt;/footer&amp;gt;`
    `&amp;lt;/article&amp;gt;`
  `&amp;lt;/main&amp;gt;`
`&amp;lt;aside aria-label="Related articles"&amp;gt;`
    `&amp;lt;ul&amp;gt;`
      `&amp;lt;li&amp;gt;&amp;lt;a href="/blog/grinders"&amp;gt;Choosing a Grinder&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;`
      `&amp;lt;li&amp;gt;&amp;lt;a href="/blog/water"&amp;gt;Water Quality&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;`
    `&amp;lt;/ul&amp;gt;`
  `&amp;lt;/aside&amp;gt;`

`&amp;lt;footer&amp;gt;`
    `&amp;lt;p&amp;gt;© 2025 MySite&amp;lt;/p&amp;gt;`
  `&amp;lt;/footer&amp;gt;`
`&amp;lt;/body&amp;gt;`
`&amp;lt;/html&amp;gt;`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Performance metrics and measurable SEO improvements
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;DOM size: Semantic HTML can reduce unnecessary wrappers; aim to keep DOM nodes &amp;lt; 1,500 for typical pages.&lt;/li&gt;
&lt;li&gt;LCP element: Ensure the hero heading/image is properly marked up so browsers identify LCP reliably.&lt;/li&gt;
&lt;li&gt;CLS: Use proper semantics plus width/height on images/embeds to avoid shifts.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Technical testing and validation methods
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Crawlability: Use Site bulb/Screaming Frog to verify landmarks, headings, and discoverability of primary content.&lt;/li&gt;
&lt;li&gt;Search Console: Monitor Index Coverage, Page Experience, and Rich Results (if structured data included).&lt;/li&gt;
&lt;li&gt;Snippets: Compare SERP titles/descriptions, sitelinks emergence after improved structure + headings.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Common semantic HTML mistakes and how to avoid them
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Multiple &lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt; elements → Use exactly one.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Skipping heading levels (H1 → H3) →  Increment in order.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Using &lt;code&gt;&amp;lt;div&amp;gt;/&amp;lt;span&amp;gt;&lt;/code&gt; for buttons/links → Use &lt;code&gt;&amp;lt;button&amp;gt;/&amp;lt;a&amp;gt;&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Empty or duplicate link text → Make link text descriptive and unique.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Missing alt text → Provide informative, context-aware alt; alt="" for decorative.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Overusing ARIA → Prefer native semantics; add ARIA only when needed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Nesting landmarks illogically → Keep a clear, predictable region order.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Real-world implementation scenarios
&lt;/h2&gt;

&lt;p&gt;1) Blog/Documentation Site&lt;/p&gt;

&lt;p&gt;Use &lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt; for the article area; each post in an &lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Author bio or related posts in &lt;code&gt;&amp;lt;aside&amp;gt;&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Table of contents as a &lt;code&gt;&amp;lt;nav aria-label="Table of contents"&amp;gt;&lt;/code&gt; with in‑page links.&lt;/p&gt;

&lt;p&gt;2) E‑commerce Product Page&lt;/p&gt;

&lt;p&gt;Product detail as &lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt; with &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; title.&lt;/p&gt;

&lt;p&gt;Image gallery as &lt;code&gt;&amp;lt;figure&amp;gt;&lt;/code&gt; + &lt;code&gt;&amp;lt;figcaption&amp;gt;&lt;/code&gt;; set correct alt (brand + model + attribute).&lt;/p&gt;

&lt;p&gt;Price and buy controls inside a &lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt; with clear headings.&lt;/p&gt;

&lt;p&gt;Complement with Product structured data (JSON‑LD).&lt;/p&gt;

&lt;p&gt;3) Web App (SPA/React/Next.js)&lt;/p&gt;

&lt;p&gt;Use semantic JSX elements: &lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;nav&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;button&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt;, etc.&lt;/p&gt;

&lt;p&gt;Provide a skip link and ensure focus management on route changes.&lt;/p&gt;

&lt;p&gt;Enforce with ESLint a11y plugin and unit tests using @testing-library + jest-axe.&lt;/p&gt;

&lt;p&gt;GITHUB LINK&lt;br&gt;
&lt;a href="https://github.com/Limpaso-dev/Semantic-vs-non-semantic-html" rel="noopener noreferrer"&gt;https://github.com/Limpaso-dev/Semantic-vs-non-semantic-html&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>semantic HTML</title>
      <dc:creator>Zakayo Mepetu</dc:creator>
      <pubDate>Tue, 26 Aug 2025 19:46:50 +0000</pubDate>
      <link>https://dev.to/zakayo_mepetu_ded34b09bb1/semantic-html-2oof</link>
      <guid>https://dev.to/zakayo_mepetu_ded34b09bb1/semantic-html-2oof</guid>
      <description>&lt;p&gt;i love semantic html because it's self explanatory.&lt;br&gt;
Ready to learn. anyone who's in?&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
