SEO & Core Web Vitals Engineering
Engineering for how search engines — classic and AI — crawl, parse, and index the site. Schema, sitemaps, LCP/INP/CLS, AI-bot policy.
<p>This is the technical SEO engagement. The deliverable is the technical SEO surface engineered as code in the buyer's repository, not a PDF audit that lives on a shelf. JSON-LD schema graphs that validate. Database-driven sitemaps that regenerate on publish. Canonical and redirect architecture defined in the application. Core Web Vitals budgets enforced in CI. Named AI-bot policy in robots.txt with one line per crawler.</p>
<p>I do not promise rankings. Search results are owned by the search engine, not by the engineer fixing the plumbing. What I promise is the artifacts — schema graph, sitemap generator, 301 map, Core Web Vitals dashboard — and the measured before-and-after on the signals the engine actually consumes. The parent — <a href="/services/web-development">Website Creation & Redesign</a> — sets the broader perimeter; this page is the focused SEO and Core Web Vitals workstream.</p>
<h2>Schema graphs</h2>
<p>JSON-LD generated from the application's actual data — Organization with sameAs links to LinkedIn and GitHub, Article with a real Author node, BreadcrumbList, FAQ, Service, LocalBusiness where applicable. Validated against the Rich Results Test on every deploy. Schema regressions alert. The schema is connected — a single graph that nests properly, not five disconnected blocks that confuse the parser.</p>
<h2>Sitemaps</h2>
<p>Multi-sitemap index. Generated from database queries, not hand-edited. Low-value pages filtered at the SQL layer rather than generated and then hidden. Priority and changefreq tuned per content tier. Lastmod updated on publish, not stamped on every regeneration.</p>
<h2>Canonical and redirect architecture</h2>
<p>A written canonical policy across www / non-www, http / https, trailing-slash variants, query-string variants. Hreflang for multi-locale sites that need it. The 301 redirect history preserved through every replatform and every URL change. The redirect map lives in code, with tests.</p>
<h2>Core Web Vitals</h2>
<p>LCP, INP, and CLS budgets enforced in CI. The build fails if a deploy regresses the budget on a representative page set. Field data pulled from the Chrome User Experience Report monthly to verify what real users see, not just what Lighthouse measures in a clean room. Diagnoses come with code fixes, not "consider optimizing your largest contentful paint."</p>
<h2>AI-bot policy in robots.txt</h2>
<p>Named per crawler. GPTBot, ChatGPT-User, ClaudeBot, anthropic-ai, Google-Extended, PerplexityBot, Applebot-Extended, Bytespider, CCBot — each with its own line and its own policy (allow, throttle, or deny). Wildcard rules are ignored by most AI bots; the policy has to be explicit per user-agent. The policy is chosen with the buyer.</p>
<h2>What I ship</h2>
<ul>
<li><strong>JSON-LD schema graph.</strong> Organization, Article, BreadcrumbList, FAQ, Service, validated and monitored.</li>
<li><strong>Database-driven sitemap generator.</strong> Multi-index, filtered at the SQL layer.</li>
<li><strong>Canonical and redirect architecture in code.</strong> With tests.</li>
<li><strong>Core Web Vitals budgets in CI.</strong> LCP, INP, CLS — build fails on regression.</li>
<li><strong>AI-bot policy in robots.txt.</strong> Named per crawler, chosen per buyer.</li>
<li><strong>Search Console integration.</strong> Rich-result triage, structured-data regression alerts, post-deploy verification.</li>
<li><strong>Core Web Vitals dashboard.</strong> Chrome User Experience Report field data plus Lighthouse synthetic, on the buyer's URLs.</li>
</ul>
<h2>Where it fits</h2>
<h3>Replatform traffic drop</h3>
<p>A site moved from one CMS to another. Organic traffic fell thirty percent inside sixty days. The cause is almost always mechanical — broken 301 map, lost canonicals, schema that no longer validates, or a sitemap pointing at pages the new platform serves as 404.</p>
<h3>Rich results disappeared</h3>
<p>The Search Console rich-results report turned red. Google tightened a validator and the JSON-LD that worked last quarter no longer parses. I read the actual output, map it back to the current Schema.org spec, fix it at the template layer, and verify clean validation across the next crawl cycle.</p>
<h3>Page experience flagged as Poor</h3>
<p>Search Console shows LCP and INP failing on mobile across a meaningful share of URLs. I pull the Chrome User Experience Report field data, isolate the offending routes, diagnose render-blocking resources or hydration cost, and ship the fix inside the build pipeline.</p>
<h2>How I work</h2>
<p>Every engagement opens with a written audit. Crawl-log sample, Search Console errors, schema output for the top page types, Core Web Vitals on real URLs, sitemap structure, redirect map, and the current AI-bot policy. The audit and a prioritized fix list ship before any code changes. Patterns from prior SEO engagements live in the <a href="/research">research notes</a>.</p>
<h2>Engagement model</h2>
<p>Audit-only engagements run two to three weeks and deliver a written report with a prioritized fix list and effort estimates. Audit-plus-remediation engagements run six to ten weeks, longer for replatforms or multi-locale sites. Retainer arrangements cover monthly Search Console triage, schema regression checks, and post-deploy verification for teams shipping continuously. To scope an audit, <a href="/contact">get in touch</a>.</p>
Scope This Engagement
One principal, plan first, working code on every checkpoint.
Request Consultation