{"id":10732,"date":"2026-07-01T13:26:51","date_gmt":"2026-07-01T05:26:51","guid":{"rendered":"http:\/\/longzhuplatform.com\/?p=10732"},"modified":"2026-07-01T13:26:51","modified_gmt":"2026-07-01T05:26:51","slug":"why-proving-technical-seo-roi-is-so-difficult","status":"publish","type":"post","link":"http:\/\/longzhuplatform.com\/?p=10732","title":{"rendered":"Why proving technical SEO ROI is so difficult"},"content":{"rendered":"<p><\/p> <div> <p>Six months ago, there was a core update that would\u2019ve tanked your website. But it didn\u2019t. <\/p> <p>It didn\u2019t because your team fixed your canonicals, redirection issues, duplication issues, and JavaScript rendering eight months earlier. It was the kind of drudge work a technical engineer or developer got stuck with because the ticket was last on their list.<\/p> <p>And you don\u2019t have any proof of it, not really. Other than the experience that comes from years in SEO and recognizing that your site had all the hallmarks of sites hit by the update. <\/p> <p>It could\u2019ve cut your traffic in half. It didn\u2019t. <\/p> <p>There\u2019s no parallel internet timeline where you didn\u2019t do the work, so there\u2019s no way to confirm it. There\u2019s no record.<\/p> <p>This is why technical SEO ROI resists proof. It\u2019s an inference problem with no control group, and we keep pretending it\u2019s a reporting problem we can tool our way out of.<\/p> <h2 id=\"the-internet-doesnt-stop\" class=\"wp-block-heading\">The internet doesn\u2019t stop<\/h2> <p>We are in two open systems when we work in digital, at least: the internet and the market. Three, if you count the maturity and expectations of internet users. Four, if you count our own website infrastructure. More than that, really, but we don\u2019t have time to list them all.\u00a0<\/p> <p>The long and short of it is this: the sea we swim in is always shifting, moving, growing, and shrinking. There\u2019s no way to pin down a single, solid \u201cbefore\u201d state, and there\u2019s no clean way to project all of those influences into \u201cwhat would\u2019ve happened if I didn\u2019t do anything?\u201d We try to do it with things like Bayesian forecasting, but that\u2019s still an educated guess.<\/p> <p>Technical work might have an immediate impact on visibility today. Make the same change six months later, and it might not. That could solely be because Google decided to shift its crawl budget or change how it reads websites.\u00a0<\/p> <p>Cause and effect come unstuck in time. Google recrawls and reindexes on its own schedule, so any effect lands far from the change and is washed out across a recrawl cycle, defeating the before-and-after pairing every clean test needs.<\/p> <p>Just like SEO as a whole, there\u2019s a lot we can\u2019t control. Trying to track all of the changes across the web that might influence our website would result in many gray hairs and sleepless nights.<\/p> <p>Technical SEO adds another layer because we rarely ship in isolation. It\u2019s never just \u201chere\u2019s this single change to the website.\u201d It\u2019s \u201chere are about 30 fixes from five different teams going out on a Thursday, so if things collapse, we have people on Friday who can triage.\u201d (Please don\u2019t ship on Fridays.)<\/p> <p>Much of the technical work is also done to keep our heads above water: managing technical debt, or doing the work needed to stay on top of updated regulations and new releases of codebases or frameworks. Enhancements and improvements are tough.\u00a0<\/p> <p>Technical work is a lot more like insurance or public health. You only realize how important it was when it stops working. What we\u2019re doing with technical SEO is often disaster prevention, not building new cities. We can\u2019t write an invoice for an earthquake that didn\u2019t happen.<\/p> <div style=\"background: radial-gradient(circle at 30% 40%, rgba(184, 111, 255, 0.15), rgba(0, 169, 255, 0.15) 40%, #CDE8FD 70%); padding: 30px; width: 100%; max-width: 802px; color: #000000 !important; font-family: Arial, sans-serif; margin: 25px 0 30px 0; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); position: relative; box-sizing: border-box;\"> <div style=\"width: 100%; max-width: 100%; margin-bottom: 20px; text-align: left; padding-right: 20px; box-sizing: border-box;\"> <p> Be the brand <span style=\"background: linear-gradient(90deg, #D56EFE 0%, #068EF8 51%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;\">customers find first<\/span>. <\/p> <p id=\"semrush-one-subhead\" style=\"font-family: Roboto, sans-serif; font-size: 18px; font-weight: 300; line-height: 25px; margin: 12px 0 0 0; color: #000000 !important;\"> Track, grow, and measure your visibility across Google, AI search, social, local, and every channel that influences buying decisions. <\/p> <\/p><\/div> <p> <span id=\"semrush-one-cta\" style=\"display: inline-block; background-color: #FF642D; color: white; height: 44px; border: none; border-radius: 5px; cursor: pointer; font-size: 16px; padding: 0 24px; font-weight: bold; white-space: nowrap; box-sizing: border-box; text-decoration: none; line-height: 44px;\">Start your free trial<\/span> <\/p> <\/p><\/div> <h2 id=\"the-control-group-was-never-there\" class=\"wp-block-heading\">The control group was never there<\/h2> <p>Another reality of technical changes, SEO-led or not, is that most of them are sitewide and, by necessity, have to be sitewide. There\u2019s no control group. Render pipeline, crawl budget, site speed. It touches everything at once, so there\u2019s no untouched slice left to act as the control.<\/p> <p>Two examples to consider:<\/p> <ul class=\"wp-block-list\"> <li><strong>Sunsetting 301 redirects more than a year old:<\/strong> The server stops reading every redirect line on every page load. The benefit is crawl and resource efficiency, which is invisible in analytics.<\/li> <li><strong>A migration done right:<\/strong> The win condition is \u201cwe didn\u2019t lose traffic.\u201d A flat line, maybe a slight uptick. Migration work only becomes visible when it fails.<\/li> <\/ul> <p>Your only comparison becomes the past, which existed under different external conditions. Time itself is now the trick. The only things to compare are relative, over time, and incremental, and the results shift depending on which metrics you use to measure success and which assumptions you and your leadership bring to the conversation.<\/p> <p>When possible, we do want to run a proof of concept. SEO A\/B testing, essentially. Pick a segment, make the change there and nowhere else. Measure and decide. But that isn\u2019t always possible, and it requires a different kind of buy-in.<\/p> <p>We\u2019re also at a point where LLMs make everything probabilistic. Every answer is personalized, and many of the measurements we rely on have become less deterministic.<\/p> <p><!-- START INLINE FORM --><\/p> <div class=\"nl-inline-form border py-2 px-1 my-2\"> <div class=\"row align-items-center nl-inline-container\"> <div class=\"col-12 col-lg-3 col-xl-4 pe-md-0 pb-2 pb-lg-0\"> <p class=\"inline-form-text text-center mb-0\">Get the newsletter search marketers rely on.<\/p> <\/p><\/div> <\/p><\/div> <\/div> <p><!-- END INLINE FORM --><\/p> <hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-css-opacity has-cyan-bluish-gray-background-color has-background\"\/> <h2 id=\"so-keep-it-relative\" class=\"wp-block-heading\">So keep it relative<\/h2> <p>There are two levels of relative here: <\/p> <ul class=\"wp-block-list\"> <li>How to prioritize work.<\/li> <li>How to measure the impact.<\/li> <\/ul> <p>How we prioritize the work helps determine the impact we want to make.<\/p> <p>My approach to prioritizing technical work is to look at impact first. How much of the website does this issue affect, and how much of that impact lands on priority sections or pages? After that, it\u2019s standard scoping and grooming discussions led by the development teams. <\/p> <p>But for me, impact is what matters.<\/p> <p>Now, when it comes to measurement and reporting, much of the SEO industry, myself included, is talking about how we actually measure everything now, not just technical work. We\u2019re in a bit of a weird limbo because of everything LLMs have accelerated.<\/p> <p>We don\u2019t have the \u201cwhat would\u2019ve happened if\u2026\u201d for our own websites, but we do have our competitors. Observing how competitors\u2019 websites respond to global events, such as Google updates, is probably the closest we\u2019ll get to answering that question in technical SEO work. It\u2019s an ROI-by-proxy adjacent to share of voice.<\/p> <h2 id=\"and-the-funding\" class=\"wp-block-heading\">And the funding<\/h2> <p>Technical SEO is infrastructure. Insurance. If you\u2019re having trouble getting it done or getting it funded, look at your framing. <\/p> <p>At its core, technical SEO is insurance against the shocks of an open system. Treat it that way. It\u2019s not a revenue driver.<\/p> <p>Yes, it can deliver meaningful improvements and help that line go up and to the right, but the workhorse, the 80%, the majority of technical SEO, is keeping the engine running. The work doesn\u2019t promise upside. It lowers the odds and the cost of getting tanked. The core update that didn\u2019t sink you is the claim that paid out.<\/p> <p>So do what I\u2019ve recommended before and talk to finance. Learn how they quantify, value, and evaluate insurance, security, and infrastructure. <\/p> <p>Start looking at your technical SEO that way. Start talking about it that way. <\/p> <p>Technical SEO is growth resilience your flywheel can\u2019t move without, not an investment you can\u2019t justify.<\/p> <\/div> <p> <em>Contributing authors are invited to create content for Search Engine Land and are chosen for their expertise and contribution to the search community. Our contributors work under the oversight of the editorial staff and contributions are checked for quality and relevance to our readers. Search Engine Land is owned by Semrush. Contributor was not asked to make any direct or indirect mentions of Semrush. The opinions they express are their own.<\/em> <\/p> <p>Opinion#proving #technical #SEO #ROI #difficult1782883611<\/p> ","protected":false},"excerpt":{"rendered":"<p>Six months ago, there was a core update that would\u2019ve tanked your website. But it didn\u2019t. It didn\u2019t because your team fixed your canonicals, redirection issues, duplication issues, and JavaScript rendering eight months earlier. It was the kind of drudge work a technical engineer or developer got stuck with because the ticket was last on [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":10733,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[31253,155,42706,10587,97,341],"class_list":["post-10732","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-careers","tag-difficult","tag-opinion","tag-proving","tag-roi","tag-seo","tag-technical"],"acf":[],"_links":{"self":[{"href":"http:\/\/longzhuplatform.com\/index.php?rest_route=\/wp\/v2\/posts\/10732","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/longzhuplatform.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/longzhuplatform.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/longzhuplatform.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/longzhuplatform.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10732"}],"version-history":[{"count":0,"href":"http:\/\/longzhuplatform.com\/index.php?rest_route=\/wp\/v2\/posts\/10732\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/longzhuplatform.com\/index.php?rest_route=\/wp\/v2\/media\/10733"}],"wp:attachment":[{"href":"http:\/\/longzhuplatform.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10732"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/longzhuplatform.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10732"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/longzhuplatform.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10732"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}