DEV Community

Michael Lip
Michael Lip

Posted on • Originally published at zovo.one

Technical SEO for Developers: The Ranking Factors You Can Actually Control

I used to think SEO was mostly a scam -- marketing people rearranging keywords and praying to the Google gods. Then I started shipping my own products and realized that organic search traffic is the difference between a project that gets used and one that doesn't. I also realized that a large chunk of SEO is purely technical, and developers are uniquely positioned to get it right.

Here's what actually matters, stripped of the marketing fluff.

How search engines see your page

When Googlebot crawls your page, it doesn't see what you see. It sees HTML. It parses the DOM, evaluates the content structure, follows links, measures load performance, and indexes the text content. Your beautiful CSS layout is invisible to it. Your JavaScript-rendered content might be invisible too, depending on how you've built your site.

The first thing to understand: Google renders JavaScript, but it's a two-phase process. In the first pass, Googlebot fetches the HTML and indexes whatever is there. In the second pass (which may happen hours or days later), it renders JavaScript and indexes any additional content. This means server-side rendered or static content gets indexed faster and more reliably than client-rendered content.

If your page is a React SPA that renders an empty <div id="root"> and loads all content via JavaScript, you're relying entirely on the second-pass render. It works, but it's slower to index and more fragile. Server-side rendering (Next.js, Nuxt, Astro, etc.) or static site generation gives you the best of both worlds.

The elements that actually affect ranking

Title tag. The single most important on-page element. Keep it under 60 characters, front-load the primary keyword, make it descriptive. "How to Calculate Compound Interest | Finance Guide" is better than "Finance Guide | How to Calculate Compound Interest" because the keyword phrase appears first.

Meta description. Doesn't directly affect ranking but dramatically affects click-through rate. It's the snippet shown in search results. Write it like ad copy: 150-160 characters, include the keyword naturally, give people a reason to click.

Heading hierarchy. Use one H1 per page that matches the page's primary topic. Use H2s for major sections, H3s for subsections. This isn't just semantic HTML -- it's how search engines understand your content's structure and topic coverage.

<!-- Good hierarchy -->
<h1>Complete Guide to Home Loan Amortization</h1>
  <h2>How Amortization Works</h2>
    <h3>Principal vs. Interest Payments</h3>
    <h3>The Amortization Formula</h3>
  <h2>Amortization Schedules Explained</h2>
  <h2>How to Pay Off Your Mortgage Faster</h2>

<!-- Bad hierarchy (skips levels, multiple H1s) -->
<h1>Home Loans</h1>
<h1>Amortization Guide</h1>
  <h4>How it works</h4>
Enter fullscreen mode Exit fullscreen mode

Internal linking. Links between your own pages distribute authority (PageRank) and help search engines discover content. Every page on your site should be reachable within 3-4 clicks from the homepage. Orphan pages (no internal links pointing to them) are nearly invisible to crawlers.

URL structure. /free-tools/compound-interest-calculator/ is better than /tool?id=47. Descriptive URLs contain keywords, are readable by humans, and perform better in search results.

Core Web Vitals: performance as a ranking factor

Since 2021, Google explicitly uses page experience metrics as ranking signals. The three Core Web Vitals are:

Largest Contentful Paint (LCP): How long until the largest visible element loads. Target: under 2.5 seconds. Fix: optimize images, use CDNs, server-side render above-the-fold content.

Interaction to Next Paint (INP): How responsive the page is to user interactions. Target: under 200ms. Fix: break up long JavaScript tasks, use web workers for heavy computation, defer non-critical scripts.

Cumulative Layout Shift (CLS): How much the page content moves around during loading. Target: under 0.1. Fix: set explicit dimensions on images and ads, avoid injecting content above existing content.

<!-- CLS fix: always set image dimensions -->
<img src="hero.jpg" width="800" height="400" alt="description">

<!-- Or use CSS aspect-ratio -->
<style>
.hero-img { aspect-ratio: 2/1; width: 100%; }
</style>
Enter fullscreen mode Exit fullscreen mode

Structured data: speaking Google's language

Schema.org markup tells search engines explicitly what your content represents. It's JSON-LD embedded in your page that says "this is a recipe" or "this is a product with a price of $49" or "this is a FAQ with these questions and answers."

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "What is amortization?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Amortization is the process of spreading..."
    }
  }]
}
</script>
Enter fullscreen mode Exit fullscreen mode

Structured data doesn't guarantee rich results (enhanced search listings with stars, FAQ dropdowns, recipe cards, etc.), but it's a prerequisite. And rich results dramatically increase click-through rates -- a listing with FAQ dropdowns takes up more visual space and provides more information than a standard listing.

Five technical SEO mistakes developers make

1. Blocking crawlers accidentally. A single wrong line in robots.txt or a noindex meta tag in your production build (common when it's set in staging and carried over) can remove your entire site from search results.

2. Not implementing canonical URLs. If the same content is accessible at /page, /page/, and /page?ref=twitter, search engines see three pages with duplicate content. Set a canonical URL to consolidate: <link rel="canonical" href="https://example.com/page/" />

3. Ignoring mobile experience. Google uses mobile-first indexing. It ranks your site based on the mobile version, not the desktop version. If your mobile experience is broken -- tiny text, overlapping elements, slow load times -- your rankings suffer even if the desktop version is perfect.

4. Missing alt text on images. Beyond accessibility (which matters more), alt text is how search engines understand images. Descriptive alt text can drive traffic through image search, which accounts for about 20% of all Google searches.

5. Slow Time to First Byte (TTFB). If your server takes 2 seconds to respond, no amount of front-end optimization can make LCP fast enough. TTFB should be under 200ms for most pages. Use caching, CDNs, and efficient backend code.

Analyzing your pages

SEO analysis is tedious to do manually -- checking meta tags, heading hierarchy, image alt text, structured data, performance metrics, mobile rendering, and internal link structure across dozens or hundreds of pages. I built an SEO analyzer at zovo.one/free-tools/ai-seo-analyzer that checks the technical factors described above and gives you specific, actionable recommendations for any URL.

The best part about technical SEO is that it's deterministic. Unlike content strategy or link building, which involve judgment and uncertainty, technical SEO has right answers. Set the correct meta tags, build proper heading hierarchies, hit the Core Web Vital targets, implement structured data. These are engineering tasks, and engineers are good at engineering tasks.


I'm Michael Lip. I build free developer tools at zovo.one. 350+ tools, all private, all free.

Top comments (0)