A hundred days ago, I started documenting technical SEO not as a marketing exercise, but as an engineering discipline. What I've learned is this: search visibility is not something you bolt onto a product—it's a consequence of deliberate technical decisions made during development. Today, wrapping up 100 days of technical SEO: lessons, I want to distill what actually matters for platforms that need both discoverability and reliability.
Engineering Decides Discoverability — Rendering, Status Codes and Links Are Code
For the first three years of my career, I thought SEO was someone else's job. Then we shipped a next-gen travel booking platform with client-side rendering, zero pre-rendered HTML, and link structures that required JavaScript to even exist. The search engines saw a blank page. The product was solid. The discoverability was zero.
Here's what I learned: rendering strategy, HTTP status codes, and internal link architecture aren't marketing concerns. They're architectural decisions that engineers must own.
When you choose Server-Side Rendering, Static Generation, or client-side hydration, you're deciding whether a crawler sees your content on the first HTTP request. There's no band-aid for a wrong choice here. A trading platform I worked on served JSON from an API and rendered everything in React. Every page was a SPA. Every page returned 200 OK to a crawler that couldn't parse JavaScript. We had to rebuild the routing layer to pre-render critical pages at build time.
<!-- Bad: crawler gets this -->
<html>
<head>
<title>Page Title</title>
</head>
<body>
<div id="app"></div>
<script src="/bundle.js"></script>
</body>
</html>
<!-- Good: crawler gets rendered content -->
<html>
<head>
<title>Flights from Colombo to Bangkok</title>
<meta name="description" content="Book flights with real-time pricing...">
</head>
<body>
<h1>Flights from Colombo to Bangkok</h1>
<ul>
<li><a href="/flights/col-bkk/2024-01-15">Tomorrow, $120</a></li>
<li><a href="/flights/col-bkkk/2024-01-16">Next day, $118</a></li>
</ul>
</body>
</html>Status codes matter too. A 404 tells a crawler to stop. A 301 passes equity. A 200 on a redirect chain wastes crawl budget. A CMS platform I built returned 200 for deleted pages, then redirected with JavaScript. Google indexed thousands of 404 destinations. We had to add proper header-level redirects and set up monitoring to catch status code errors before they shipped.
Internal links are the connective tissue. If your navigation is built dynamically and links don't exist in HTML, crawlers can't follow them. If your pagination doesn't link to page 2, 3, 4 in the HTML, you're hiding content. I've seen ride-hailing platforms hide marketplace listings behind load-more buttons with no link fallback. Search never indexed those listings.
This is code. This is engineering. This is not optional.
Prevention Beats Recovery — Monitoring and CI Checks Cost Less Than a Traffic Crash
I've been paged at 3 AM twice for SEO-related outages. Both times, the fix was simple. Both times, we lost 40% of organic traffic for 8 hours. Both times, the cost of prevention would have been a single CI check and 30 lines of monitoring code.
The first incident: our e-commerce platform's CDN cache TTL was set to zero during a deployment. Every page returned no-cache headers. Google saw the content, but couldn't rely on it being stable. Organic traffic tanked because we looked unreliable. The fix was one configuration line. The prevention would have been a test that validates cache headers on every deploy.
The second: a migration script accidentally set canonical tags to point to the old domain. Thousands of pages canonicalized away. Google re-indexed them, but under the wrong site. We recovered in days, but it was preventable with a simple regex check in CI: validate that every canonical tag points to the current domain.
Here's what I do now on every platform:
- Pre-deploy crawl of critical pages (homepage, top 50 landing pages). Check for rendering, title tags, meta descriptions, canonical tags.
- Robots.txt validation: confirm it doesn't accidentally block indexable content.
- Status code monitoring: alert if 5xx errors spike, if 404 rates exceed threshold, if redirect chains emerge.
- Sitemap freshness: validate that sitemaps update within expected intervals.
- Internal link integrity: periodically crawl and flag broken links in navigation.
A CRM platform I helped migrate saved weeks of recovery by running a pre-launch crawl that caught 200+ pages with wrong canonical tags. The crawl took 40 minutes. The fix was a template correction. The alternative was launching, losing ranking for a month, and rebuilding.
Monitoring is cheap. Recovery is expensive. Choose monitoring.
Speed Helps Everything — Users, Crawlers and Conversions All Benefit
I used to separate performance from SEO. Wrong. Speed is foundational to both.
Fast pages rank higher. Google confirmed this officially in 2021 with Core Web Vitals. But that's almost secondary to what actually matters: fast pages get crawled more efficiently. A crawler has a budget—roughly 15–25 seconds per domain per second of available resources. If your pages take 8 seconds to load, you get crawled less frequently and less deeply. If your pages load in 1.5 seconds, crawlers can explore more of your site.
On a SaaS platform, I optimized Core Web Vitals from poor (LCP 4.2s, CLS 0.45, FID 180ms) to good (LCP 1.8s, CLS 0.08, FID 45ms). The ranking improvement was real—we gained 15% organic traffic over three months. But the crawl efficiency gain was immediate: Googlebot fetched 30% more pages per week.
Speed also compounds with conversion. A 1-second improvement in load time converts to 7% higher conversion rate, studies show. That means faster technical SEO doesn't just help you rank—it helps you convert the traffic you win. Every millisecond of optimization pays twice.
Practical: use Next.js Image, lazy load below-the-fold content, minify aggressively, cache on the CDN, and measure real-world performance with Core Web Vitals. A single unoptimized image can destroy your LCP. A render-blocking script can destroy your INP. These are not optional details.
Clarity Wins in AI Search Too — Well-Structured, Honest Content Works for Every Search Interface
Google's future includes AI overviews. Other engines will follow. The SEO playbook changes when AI summarizes your content instead of ranking it.
Here's what I've observed: AI models favor clear, well-structured, factual content. The same content that ranks well in traditional search also performs well in AI search. Why? Because good structure and honesty are not search-engine hacks—they're just good writing.
When Google's AI overview pulls an answer, it tends to pull from pages with:
- Clear headings that announce the topic
- Concise first paragraphs that answer the question immediately
- Structured data that machines can parse reliably
- Honest claims backed by reasoning, not hype
I've seen content farms with 5,000-word articles designed to rank for every keyword permutation. None of them win in AI overview tests. I've seen technical docs with 800 words and perfect structure that consistently surface in AI results.
Structured data matters more now. Schema.org markup—FAQPage, Article, Product, etc.—helps AI systems understand your content at a glance. On a travel platform, I added FAQSchema to the booking flow. AI models now reference that page when answering "How do I book a flight with flexible dates?" We didn't gain ranking points, but we gained credibility and traffic from generative search.
The meta-lesson: optimize for humans first. Clear structure, honest claims, real expertise. That foundation works in Google Search, in AI overviews, in voice search, in future interfaces we haven't imagined yet.
Common Mistakes
- Treating SEO as an afterthought. If you build the architecture wrong first, you pay for it later. Fix rendering, status codes, and links during development, not after launch.
- Ignoring monitoring until traffic drops. A 50% traffic loss is someone else's problem. A proactive crawl before every deploy is your problem, and it takes 20 minutes.
- Optimizing for crawlers instead of users. If a page is slow for humans, it's slow for crawlers. If content is unclear for readers, it won't rank or convert. Optimize for humans; SEO follows.
- Assuming one framework fits all pages. Homepage might need static generation. Product pages might need server-side rendering. Category pages might need progressive enhancement. Use the right tool for each use case.
- Treating AI search like a separate problem. It's not. The same honest, clear, well-structured content works everywhere. Don't create two content strategies.
Key Takeaways
- Rendering strategy, status codes, and link structure are engineering decisions, not marketing tasks. Own them during development.
- Monitoring and CI checks prevent catastrophic traffic loss. They cost less than recovery and take less time than a postmortem.
- Page speed compounds: faster crawling, higher ranking, better conversion. Optimize for real-world Core Web Vitals on every platform.
- Clear structure and honest content work across Google Search, AI overviews, and future search interfaces. Optimize for humans; discoverability follows.
- Technical SEO is not separate from product development. It's embedded in every architecture decision. Make it intentional from day one.
After 100 days, the clearest pattern is this: the best technical SEO is invisible. Users experience a fast, clear, reliable product. Crawlers index it completely. Conversions happen naturally. There's no hack, no surprise, no last-minute fix. Just solid engineering that happens to be discoverable.
That's worth building toward.






Comments
Loading comments…