> curl -A "Googlebot" yoursite.com > grep -c "<h1>" rendered.html Result: 0
<h1>tags. Zero indexable content.Most SEO agencies can't spell technical SEO.
The ones who can charge more: for good reason.
Site architecture audits, @graph schema markup, Core Web Vitals optimization, JS rendering decisions, crawl budget recovery, indexation control, and migration risk management. Engineer-friendly. Specific. No marketing fluff.
What is technical SEO?
Technical SEO is the discipline of optimizing the structural and infrastructural layer of a website so search engines can crawl, render, and rank it.
It covers site architecture, schema markup, Core Web Vitals, JavaScript rendering decisions, crawl budget, indexation control, internal linking, and migration ranking-preservation. Distinct from content SEO (which is what's said on the page) and link-building SEO (which is who points to the site). Technical SEO is what makes the site readable to crawlers and rankable in the first place: without it, the other two layers can't produce results.
The buyer for technical SEO is typically a larger site (10K+ URLs), a JavaScript-heavy single-page application, a site going through a CMS migration or rebuild, or a technical product / marketing team that already understands what technical SEO is and just needs an agency that doesn't bullshit about it.
Each one is a separate engineering surface.
Each one fails quietly when it's missed.
Site architecture audit
Information architecture, URL structure, navigation depth, faceted-navigation handling, pagination strategy.
We map every URL on the site, classify it by template, and analyse click-depth from the homepage. Pages buried four clicks deep get crawled rarely and rank poorly: we surface them through navigation rewrites, related-content modules, and breadcrumb hierarchies that distribute internal PageRank toward priority pages. Faceted navigation is where most ecommerce sites haemorrhage crawl budget: every color/size/sort combination generates a unique URL, and Googlebot wastes weeks crawling permutations of pages it should never index. We define which facets are indexable, which are noindex, and which are blocked at robots.txt, and we ship the implementation, not just the recommendation. Pagination follows the same logic: rel=prev/next is dead, so the choice is canonical-to-page-1, view-all canonicalisation, or self-canonical paginated pages: depending on whether the paginated content is the indexable surface or a navigation aid.
Schema markup graph (@graph JSON-LD)
Organization → Person → Article/Product/Service entity chaining. Rich-result eligibility and AI-engine entity association.
An @graph implementation can connect Organization, WebSite, WebPage, Person, Article, Product, Service, and BreadcrumbList entities through stable identifiers. We inventory the visible facts, select supported types and properties, implement the graph at the appropriate template layer, and validate that it matches the page. Correct schema can support machine understanding and rich-result eligibility, but it does not guarantee a rich result, ranking, or AI citation.
Core Web Vitals optimization
LCP, INP, CLS. Google's published 75th-percentile field-data ranking signals.
Google publishes Core Web Vitals thresholds at the 75th percentile of real-user field data: LCP under 2.5 seconds, INP under 200 milliseconds, and CLS under 0.1. We use CrUX field data by route template and lab tools for diagnosis, then trace the actual LCP element, interaction work, and layout shifts. Recommendations may include image, font, JavaScript, third-party script, and layout changes. Passing a threshold does not guarantee a ranking outcome.
JavaScript rendering audit
CSR vs SSR vs ISR vs SSG decisions per route. Next.js, React, Vue, Angular, Svelte sites need rendering modes that match SEO requirements.
Modern JS frameworks default to client-side rendering, which is the SEO failure mode. Googlebot does render JS, but on a delayed second-pass crawl: indexation gets unreliable past a few thousand URLs, content updates take days to surface in the index, and Bing/Yandex/AI engines render JS far less reliably than Google. The fix is choosing the right rendering mode per route. SSG (static generation at build time, e.g. Next.js getStaticProps or generateStaticParams) is the gold standard for marketing pages, blog posts, documentation: fastest possible SEO performance, but rebuilds get expensive past ~10K pages. ISR (incremental static regeneration) handles large catalogs that update periodically: ecommerce product pages, programmatic SEO templates: by regenerating pages on demand or on a schedule. SSR (server-side rendering on every request) is right for pages with fresh data on every load. Pure CSR is acceptable only for authenticated routes that don't need to rank. We audit the route map, classify each route, and migrate routes off CSR onto the right rendering mode: usually as part of a broader Next.js / Nuxt / SvelteKit migration.
Crawl budget management
Robots.txt, sitemap segmentation, internal-link bottleneck analysis, parameter handling, log-file analysis.
For large sites, crawl control is mostly about preventing waste. The main levers are robots directives, sitemap segmentation, internal linking, parameter handling, canonicals, and log-file analysis. We compare crawl behavior with the priority URL set, document duplicate or low-value surfaces, and recommend changes from the evidence. The amount of waste and effect on indexation vary by site.
Indexation control
Canonical handling, hreflang, noindex/nofollow strategy, duplicate-content resolution, GSC inspection at scale.
We classify sampled or in-scope URLs by their observed indexation state and supporting evidence from Search Console, crawls, canonicals, robots directives, sitemaps, and internal links. For multilingual sites, the review can include hreflang pairs, self references, x-default, canonicals, and localized content. The diagnosis and remediation depend on the evidence for each template rather than a universal failure assumption.
Migration / rebuild SEO
Ranking-preservation when re-platforming. WordPress to Next.js, Shopify to BigCommerce, custom to headless. Distinct project scope.
Migration SEO reduces avoidable search risk during a re-platform, domain change, consolidation, or rebuild. The scope can include a pre-migration crawl, URL mapping, redirect decisions, schema and metadata parity, staging verification, launch monitoring, and post-launch reconciliation. Checkpoints and monitoring duration depend on the release plan. No ranking-preservation guarantee is made.
Four scopes. Each with a different shape
and a different success metric.
Audit-only
A scoped technical audit can cover architecture, schema, Core Web Vitals, rendering, crawl control, indexation, and migration readiness where relevant. The deliverable is a working remediation record with evidence and implementation detail agreed before the audit starts.
Audit + implementation
Same audit deliverable, then we work directly with your engineering team: pull requests, code reviews, schema implementations, redirect maps, sitemap configs. We're embedded enough to ship code but separate enough to bring the strategic frame. Pricing structured as audit fee plus monthly retainer based on engineering velocity and scope. Best fit for teams that have engineering capacity but no senior SEO direction.
Migration / rebuild SEO
This is a defined project covering the legacy crawl, URL map, parity checks, staging validation, launch monitoring, and post-launch reconciliation. The measurement set and monitoring period are agreed from the site's size and release plan. Ranking preservation cannot be guaranteed.
Ongoing technical retainer
An ongoing retainer can include agreed technical-health checks and implementation support. The cadence, data sources, and fixes are scoped to release velocity, access, and priorities. Best fit for sites with continuous deployment velocity and no in-house technical SEO function.
Migration SEO is where most sites
lose their rankings.
When a site re-platforms. WordPress to Next.js, Shopify to BigCommerce, custom legacy to headless, two domains consolidating into one: the SEO migration plan affects how much existing search equity and index coverage is retained. Failure can be delayed because search engines need time to recrawl and reconcile the new URL space. A monitored release makes issues easier to identify and correct before they spread.
Most agencies don't do migration SEO. The few that do treat it as a separate engineering discipline with its own scope, timeline, and success metrics. We treat it the same way, with a scoped legacy crawl, URL map, parity review, staging validation, launch monitoring, and post-launch reconciliation. The keyword and URL set is agreed from the site's risk profile.
The objective is risk control, not a ranking guarantee. We record the signals that must survive the move, the dependencies owned by each team, and the evidence used to judge the launch.
Engineer-friendly SEO partners.
Specific deliverables.
No marketing fluff.
We work with engineering teams the way good engineering consultants do, with precise scope, concrete deliverables, and code-level specificity in every recommendation.
Published perspective, practical scope
Joel House's published work and books are available on the About page. The engagement itself is scoped from the site's architecture, data, release process, and implementation constraints.
Audit deliverables you can actually act on
The technical audit is a working remediation record sized to the agreed scope. It can include code examples, URL Inspection findings, log analysis where accessible, and an implementation walkthrough. The exact format and coverage are agreed before work starts.
We ship code, not just recommendations
Audit + implementation engagements include direct work with your engineering team: pull requests for schema implementations, redirect maps, sitemap configs, robots.txt rewrites, Core Web Vitals fixes. We're embedded enough to ship, separate enough to bring senior strategic frame. Code-review-ready PRs, not handoff documents.
AI-engine visibility built in
Technical SEO now has to consider how multiple systems render, extract, and cite web content. Where relevant, the scope can include a dated AI-search sample and source review. No rich result, citation, or recommendation is guaranteed.
Senior operators only, no juniors on the audit
The audit is led by an operator with site-architecture, schema, and rendering experience. Scope and sampling are agreed up front so the team knows which templates, parameters, and data sources are covered.
The SEO surfaces around technical SEO.
What technical teams ask before they hire a technical SEO agency.
Your JS framework is either rendering for Googlebot or it isn't.
Most agencies don't check.
Start with a scoped technical conversation about rendering, indexation, and Core Web Vitals. We will identify the evidence needed to define an audit or implementation engagement. No deck. No “we'll get back to you with a proposal.”