{"id":741795,"date":"2026-07-30T11:15:25","date_gmt":"2026-07-30T08:15:25","guid":{"rendered":"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/"},"modified":"2026-07-30T11:15:25","modified_gmt":"2026-07-30T08:15:25","slug":"how-to-scale-seo-content-updates-with-claude-code","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/","title":{"rendered":"How to scale SEO content updates with Claude Code"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_87 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a9e1ee541a09\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a9e1ee541a09\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#See_how_a_14-step_workflow_diagnoses_content_decay_protects_rankings_and_drives_measurable_traffic_and_revenue_gains\" >See how a 14-step workflow diagnoses content decay, protects rankings, and drives measurable traffic and revenue gains.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Why_existing_pages_deserve_more_attention\" >Why existing pages deserve more attention<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#The_manual_process\" >The manual process<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Step_1_Read_the_56-day_GSC_window\" >Step 1: Read the 56-day GSC window<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Step_2_Tag_every_section\" >Step 2: Tag every section<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Steps_3-5_Read_competitors_refresh_keywords_rebuild_personas\" >Steps 3-5: Read competitors, refresh keywords, rebuild personas<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Steps_6-7_Refresh_local_knowledge_decide_the_angle\" >Steps 6-7: Refresh local knowledge, decide the angle<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Step_8_Write_the_delta_brief\" >Step 8: Write the delta brief<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Step_9_Write_the_delta\" >Step 9: Write the delta<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Step_10_Fact-check_everything\" >Step 10: Fact-check everything<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Steps_11-12_Audit_images_preserve_the_SEO_equity\" >Steps 11-12: Audit images, preserve the SEO equity<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Step_13_Build_the_UI_components\" >Step 13: Build the UI components<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Step_14_Measure_the_change\" >Step 14: Measure the change<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Turning_it_into_a_system_through_Claude_Code\" >Turning it into a system through Claude Code<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Step_1_%E2%86%92_hoppa-intelligence\" >Step 1 \u2192 hoppa-intelligence<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Step_2_%E2%86%92_the_Audit_Skill\" >Step 2 \u2192 the Audit Skill<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Steps_3-4_%E2%86%92_the_Competitor-Gap_Skill\" >Steps 3-4 \u2192 the Competitor-Gap Skill<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Steps_5-7_%E2%86%92_Editorial_Intelligence\" >Steps 5-7 \u2192 Editorial Intelligence<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Step_8_%E2%86%92_the_Delta-Brief_Skill\" >Step 8 \u2192 the Delta-Brief Skill<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Step_9_%E2%86%92_hoppa-editorial\" >Step 9 \u2192 hoppa-editorial<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Step_10_%E2%86%92_hoppa-scientific-refiner\" >Step 10 \u2192 hoppa-scientific-refiner<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Step_11_%E2%86%92_the_Image-Auditor\" >Step 11 \u2192 the Image-Auditor<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Step_12_%E2%86%92_seo-preservation\" >Step 12 \u2192 seo-preservation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Step_13_%E2%86%92_the_Component_Generator\" >Step 13 \u2192 the Component Generator<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Closing_the_loop_Deployment\" >Closing the loop: Deployment<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#What_running_this_at_scale_actually_taught_us\" >What running this at scale actually taught us<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#What_the_difference_looks_like_on_the_page\" >What the difference looks like on the page<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#The_results_at_portfolio_scale\" >The results at portfolio scale<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#What_actually_transfers_to_your_team\" >What actually transfers to your team<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-scale-seo-content-updates-with-claude-code\/#Topics_on_this_page\" >Topics on this page<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"subhead\" itemprop=\"alternativeHeadline\"><span class=\"ez-toc-section\" id=\"See_how_a_14-step_workflow_diagnoses_content_decay_protects_rankings_and_drives_measurable_traffic_and_revenue_gains\"><\/span>See how a 14-step workflow diagnoses content decay, protects rankings, and drives measurable traffic and revenue gains.<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><\/p>\n<div class=\"bialty-container\">\n<p class=\"wp-block-paragraph\">SEO teams spend plenty of time creating new pages while existing pages quietly lose rankings, clicks, and revenue. Updating those pages can recover performance, but rewriting too much can wipe out the SEO equity they\u2019ve already built.<\/p>\n<p class=\"wp-block-paragraph\">Here\u2019s the 14-step process we use to diagnose content decay, make targeted updates, and measure the results \u2014 plus how we turned it into a scalable system with Claude Code.<\/p>\n<h2 id=\"h-why-existing-pages-deserve-more-attention\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Why_existing_pages_deserve_more_attention\"><\/span>Why existing pages deserve more attention<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p class=\"wp-block-paragraph\">One of the brands I manage is a ground transportation marketplace with pages covering airports, resorts, and popular routes across multiple countries and languages. The methodology in this piece is the one we use there, which is why it\u2019s the example throughout.<\/p>\n<p class=\"wp-block-paragraph\">Every one of those pages decays over time. Not dramatically: no penalty, no algorithm update to blame. Just a slow drift. A ranking creeps down, impressions hold steady while clicks quietly fall, and an AI Overview eats the top of the search results. Google notices before your analytics dashboard does.<\/p>\n<p class=\"wp-block-paragraph\">Take our Antalya Airport transfers page. Before we touched it, the 56-day diagnostic showed:<\/p>\n<ul class=\"wp-block-list\">\n<li>148,537 impressions.<\/li>\n<li>An average position of 14.89.<\/li>\n<li>A 1.49% CTR.<\/li>\n<li>2,215 clicks to show for all that visibility.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">Buried, not invisible. Nothing was broken. It was just stale.<\/p>\n<p class=\"wp-block-paragraph\">New pages start at zero, so you can do whatever you want with a blank slate. That\u2019s the fun, easy part of SEO to talk about.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">Updating a page that already ranks is a different job entirely, let alone a commercial, revenue-driving page. You\u2019re working with a live asset:<\/p>\n<ul class=\"wp-block-list\">\n<li>Internal links already pointing at it.<\/li>\n<li>Schema already in place.<\/li>\n<li>A historical baseline you can break if you\u2019re careless.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">I\u2019ve watched teams \u201crefresh\u201d a decaying page by rewriting it top to bottom and losing every ranking it had. That\u2019s not a refresh but a self-inflicted demotion.<\/p>\n<p class=\"wp-block-paragraph\"><strong><em>Dig deeper: 4 types of content decay and how to fix each one<\/em><\/strong><\/p>\n<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;\">\n<div style=\"width: 100%; max-width: 100%; margin-bottom: 20px; text-align: left; padding-right: 20px; box-sizing: border-box;\">\n<div id=\"semrush-one-headline\" class=\"headline-responsive\" style=\"font-family: Oswald, sans-serif; font-size: 30px; font-weight: normal; margin: 0; color: #000000 !important; line-height: 1.2;\">\n        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;\">AI recommends<\/span>.\n      <\/div>\n<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;\">\n        See where your brand <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">app<\/a>ears in AI search, where competitors are winning, and what it takes to become the answer AI recommends.\n      <\/p>\n<\/p><\/div>\n<div style=\"margin-bottom: 15px;\">\n      <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;\">See your AI visibility<\/span>\n    <\/div>\n<\/p><\/div>\n<style>\n  @media (max-width: 768px) {\n    .headline-responsive {\n      font-size: 30px !important;\n      line-height: 1.3 !important;\n    }\n  }\n<\/style>\n<h2 id=\"h-the-manual-process\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_manual_process\"><\/span>The manual process<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div class=\"wp-block-image\">\n<figure data-wp-context=\"{\" imageid data-wp-interactive=\"core\/image\" data-wp-key=\"6a6b081b532c6\" class=\"aligncenter size-full wp-lightbox-container\"><img fetchpriority=\"high\" decoding=\"async\" width=\"2001\" height=\"1125\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" http: alt=\"The full sequence, diagnostic to measurement.\" class=\"wp-image-483865\" srcset=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/content-update-process-framework-1.jpg 2001w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/content-update-process-framework-1-768x432.jpg 768w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/content-update-process-framework-1-1536x864.jpg 1536w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/content-update-process-framework-1-1200x675.jpg 1200w\" data-lazy-sizes=\"(max-width: 2001px) 100vw, 2001px\" src=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/content-update-process-framework-1.jpg\"><img fetchpriority=\"high\" decoding=\"async\" width=\"2001\" height=\"1125\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/content-update-process-framework-1.jpg\" alt=\"The full sequence, diagnostic to measurement.\" class=\"wp-image-483865\" srcset=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/content-update-process-framework-1.jpg 2001w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/content-update-process-framework-1-768x432.jpg 768w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/content-update-process-framework-1-1536x864.jpg 1536w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/content-update-process-framework-1-1200x675.jpg 1200w\" sizes=\"(max-width: 2001px) 100vw, 2001px\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\"><br \/>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg><br \/>\n\t\t<\/button><figcaption class=\"wp-element-caption\"><em><em>The full sequence, diagnostic to measurement.<\/em><\/em><\/figcaption><\/figure>\n<\/div>\n<h3 id=\"h-step-1-read-the-56-day-gsc-window\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step_1_Read_the_56-day_GSC_window\"><\/span>Step 1: Read the 56-day GSC window<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">Every update starts with a 56-day window in Search Console, not 90 days or a full year. It\u2019s wide enough to be reliable and narrow enough to stay within one season.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">In this instance, the site is seasonal enough that a wider window just means averaging June against January and drawing the wrong conclusion from the blend. That locked window is also the baseline against which the eventual test gets measured.<\/p>\n<p class=\"wp-block-paragraph\">Another reason we use 56 days is that the same time window is used when the content update is pushed live, and we set up the SEO test to track its impact. SEOTesting, the tool we use to set up SEO tests, offers four test periods: 2, 4, 6, or 8 weeks. Eight weeks equals 56 days, which is why we use that same time window as the baseline.<\/p>\n<p class=\"wp-block-paragraph\">Inside the data, three things matter most:<\/p>\n<ul class=\"wp-block-list\">\n<li><strong>Top queries:<\/strong> These have to be preserved, whatever else changes.<\/li>\n<li><strong>Striking-distance queries (Positions 5-20, weak CTR):<\/strong> These are the cheap wins.<\/li>\n<li><strong>Zero-click queries (high impressions, almost no clicks):<\/strong> These show the page being served for an intent it isn\u2019t answering.<\/li>\n<\/ul>\n<h3 id=\"h-step-2-tag-every-section\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step_2_Tag_every_section\"><\/span>Step 2: Tag every section<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">This tagging discipline is really the whole <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/game\/\" data-internallinksmanager029f6b8e52c=\"7\" title=\"Game\" target=\"_blank\" rel=\"noopener\">game<\/a>:<\/p>\n<ul class=\"wp-block-list\">\n<li><strong>Keep:<\/strong> Still ranks, still accurate. Don\u2019t touch it.<\/li>\n<li><strong>Fix:<\/strong> Right idea, stale execution. Rewrite in place.<\/li>\n<li><strong>Remove:<\/strong> Wrong, redundant, or actively hurting.<\/li>\n<li><strong>Add:<\/strong> The data says something\u2019s missing.<\/li>\n<\/ul>\n<h3 id=\"h-steps-3-5-read-competitors-refresh-keywords-rebuild-personas\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Steps_3-5_Read_competitors_refresh_keywords_rebuild_personas\"><\/span>Steps 3-5: Read competitors, refresh keywords, rebuild personas<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">This is where it stops being generic. For Antalya, the query data turned up:<\/p>\n<ul class=\"wp-block-list\">\n<li><strong>A striking-distance opportunity:<\/strong> \u201cantalya airport transfer\u201d sitting at position 7, with real volume behind it.<\/li>\n<li><strong>A private-hire gap:<\/strong> \u201cprivate transfer antalya\u201d pulling 1,091 impressions and 14 clicks, a 1.28% CTR, because the page had nothing for <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/trip-and-travel\/\" data-internallinksmanager029f6b8e52c=\"10\" title=\"Trip &amp; Travel\" target=\"_blank\" rel=\"noopener\">travel<\/a>ers wanting a private transfer rather than a shared shuttle.<\/li>\n<li><strong>A comparison gap:<\/strong> \u201cbest antalya airport transfers\u201d sitting at position 10.5, with no comparison content on the page at all.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\"><strong>How the personas get built<\/strong><\/p>\n<p class=\"wp-block-paragraph\">The personas come from a two-source process rather than a single dataset. The foundation is a sitewide taxonomy: a Google Search Console export covering the last 16 months, with every query across the site clustered into a master set of personas that holds across the whole portfolio, not just one page.<\/p>\n<p class=\"wp-block-paragraph\">For any specific update, that sitewide set is paired with SEOTesting\u2019s Query Fan-Out tool and fed a seed term for the destination. It generates synthetic queries that people would plausibly ask within an LLM interface rather than type into a search box, and those are clustered into personas in the same way.<\/p>\n<p class=\"wp-block-paragraph\">The two datasets \u2014 one built from 16 months of real GSC behavior, one from synthetic fan-out queries for that specific destination \u2014 then get combined into the final, destination-specific set. For Antalya, that combination landed on four personas:<\/p>\n<ul class=\"wp-block-list\">\n<li>The standard shuttle shopper.<\/li>\n<li>The private-hire shopper.<\/li>\n<li>The group traveler.<\/li>\n<li>The day-tripper.<\/li>\n<\/ul>\n<h3 id=\"h-steps-6-7-refresh-local-knowledge-decide-the-angle\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Steps_6-7_Refresh_local_knowledge_decide_the_angle\"><\/span>Steps 6-7: Refresh local knowledge, decide the angle<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">What changes at an airport destination every 18 to 24 months:<\/p>\n<ul class=\"wp-block-list\">\n<li>Terminal assignments.<\/li>\n<li>Taxi rank locations.<\/li>\n<li>Scam patterns.<\/li>\n<li>Tipping conventions.<\/li>\n<li>Peak congestion.<\/li>\n<li>Review themes on Trustpilot.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">All of it gets checked against current sources, not assumed from the original brief.<\/p>\n<p class=\"wp-block-paragraph\">Then the angle. The original angle on a commercial page like this tends to start generic: something like \u201cwe make airport transfers easy.\u201d That\u2019s not an argument. It\u2019s a brochure, and it said nothing to the four different personas whose data just surfaced. <\/p>\n<p class=\"wp-block-paragraph\">Antalya\u2019s new angle: Different travelers need different transfers, and the page should surface the right answer based on who\u2019s actually looking, instead of presenting every option to everyone and hoping they self-sort.<\/p>\n<h3 id=\"h-step-8-write-the-delta-brief\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step_8_Write_the_delta_brief\"><\/span>Step 8: Write the delta brief<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">Not a brief for the whole page: a delta brief covering only what changes. Each section gets one of the four labels from Step 2, explicitly, with a reason attached. It runs roughly 1,500 words for a page this size and reads more like an engineering change request than a writer\u2019s brief, which is the right tone for the work.<\/p>\n<h3 id=\"h-step-9-write-the-delta\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step_9_Write_the_delta\"><\/span>Step 9: Write the delta<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">Only the sections tagged \u201cfix\u201d and \u201cadd\u201d get written. That meant refreshed copy and keyword coverage across the \u201cfix\u201d list, plus one new \u201cadd\u201d \u2014 a persona chooser, \u201cExpert Airport Transfer Finder.\u201d\u00a0<\/p>\n<p class=\"wp-block-paragraph\">A visitor picks the option closest to their situation, and the module surfaces the vehicle recommendation, price range, and detail that matters to that persona.<\/p>\n<div class=\"wp-block-image\">\n<figure data-wp-context=\"{\" imageid data-wp-interactive=\"core\/image\" data-wp-key=\"6a6b081b53e03\" class=\"aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"812\" height=\"389\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" http: alt=\"\" expert airport transfer finder the live component on antalya page. class=\"wp-image-483866\" srcset=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/find-your-perfect-transfer-component.jpg 812w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/find-your-perfect-transfer-component-768x368.jpg 768w\" data-lazy-sizes=\"(max-width: 812px) 100vw, 812px\" src=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/find-your-perfect-transfer-component.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"812\" height=\"389\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/find-your-perfect-transfer-component.jpg\" alt=\"\" expert airport transfer finder the live component on antalya page. class=\"wp-image-483866\" srcset=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/find-your-perfect-transfer-component.jpg 812w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/find-your-perfect-transfer-component-768x368.jpg 768w\" sizes=\"auto, (max-width: 812px) 100vw, 812px\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\"><br \/>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg><br \/>\n\t\t<\/button><figcaption class=\"wp-element-caption\"><em><em>\u201cExpert Airport Transfer Finder \u201c: the live component on the Antalya Airport page.<\/em><\/em><\/figcaption><\/figure>\n<\/div>\n<p class=\"wp-block-paragraph\">The component itself doesn\u2019t add new information: all of it already existed somewhere on the page, spread across the vehicle explainers, the group-size guide, and the FAQ. <\/p>\n<p class=\"wp-block-paragraph\">It just gives each visitor a direct path to the part that\u2019s already theirs, instead of asking them to scan the whole page to find it. It shipped as one part of the delta, not on its own, alongside the fix work above. Worth keeping in mind for the results in a few steps from now.<\/p>\n<h3 id=\"h-step-10-fact-check-everything\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step_10_Fact-check_everything\"><\/span>Step 10: Fact-check everything<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">Including the \u201ckeep\u201d sections. Staying doesn\u2019t mean it\u2019s still accurate, so every numeric claim (distances, prices, transit times, terminal assignments) gets reverified against current sources, including old content. <\/p>\n<p class=\"wp-block-paragraph\">Most \u201cAI-refreshed\u201d pages skip this part and update the surface text while leaving the underlying facts untouched.<\/p>\n<h3 id=\"h-steps-11-12-audit-images-preserve-the-seo-equity\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Steps_11-12_Audit_images_preserve_the_SEO_equity\"><\/span>Steps 11-12: Audit images, preserve the SEO equity<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">Every image gets checked for three things:<\/p>\n<ul class=\"wp-block-list\">\n<li>Still accurate.<\/li>\n<li>Still on-brand.<\/li>\n<li>Still meeting current performance spec (WebP\/AVIF, properly sized, lazy-loaded).<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">Anything that fails gets replaced.<\/p>\n<p class=\"wp-block-paragraph\">Meanwhile, the rule for everything else is preserved unless there\u2019s a specific reason not to:<\/p>\n<ul class=\"wp-block-list\">\n<li>The URL slug never changes.<\/li>\n<li>The meta title stays if it\u2019s earning CTR.<\/li>\n<li>Schema gets extended rather than replaced.<\/li>\n<li>Internal links are checked in both directions: into the page and out of it.<\/li>\n<\/ul>\n<h3 id=\"h-step-13-build-the-ui-components\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step_13_Build_the_UI_components\"><\/span>Step 13: Build the UI components<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">When the brief calls for something visual rather than prose, we vibe-code it:<\/p>\n<ul class=\"wp-block-list\">\n<li>Describe the behavior in natural language.<\/li>\n<li>Let Claude or Gemini generate the component.<\/li>\n<li>Iterate live until it works.<\/li>\n<li>Server-render it so LLMs can read the content without executing JavaScript.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">The old workflow for a custom component was Figma mockup, design review, dev sprint, QA: call it two weeks, best-case scenario. This is closer to an hour for something of moderate complexity, which is the only reason a persona chooser is feasible per page across a portfolio this size rather than a rare, special-case build.<\/p>\n<h3 id=\"h-step-14-measure-the-change\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step_14_Measure_the_change\"><\/span>Step 14: Measure the change<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">Every update runs through SEOTesting, which we\u2019ve connected to both Google Search Console and GA4. The GSC side gives us clicks, impressions, position, and CTR. The GA4 side gives us whatever actually matters commercially: the purchase event, in this case, or any other GA4 event worth tracking.<\/p>\n<p class=\"wp-block-paragraph\">The same locked window and control-versus-test structure are used on both sides simultaneously, so a content update is judged by revenue and sales, not just rankings.<\/p>\n<p class=\"wp-block-paragraph\">Here\u2019s what the whole update produced on Antalya on the search side, measured against the 56-day baseline locked before a single word changed:<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<tbody>\n<tr>\n<td><strong>Metric<\/strong><\/td>\n<td><strong>Control<\/strong><\/td>\n<td><strong>Test<\/strong><\/td>\n<td><strong>Change<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Clicks\/day<\/td>\n<td>39.55<\/td>\n<td>49.00<\/td>\n<td><strong>+23.88%<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Impressions\/day<\/td>\n<td>2,652<\/td>\n<td>2,744<\/td>\n<td><strong>+3.44%<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Avg. position<\/td>\n<td>14.89<\/td>\n<td>10.87<\/td>\n<td><strong>\u25b2 improved<\/strong><\/td>\n<\/tr>\n<tr>\n<td>CTR<\/td>\n<td>1.49%<\/td>\n<td>1.79%<\/td>\n<td><strong>+0.30pp<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Queries\/day<\/td>\n<td>366<\/td>\n<td>389<\/td>\n<td><strong>+6.28%<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p class=\"wp-block-paragraph\">Every single metric moved the right way: clicks up, impressions up, CTR up, position improved, and query coverage up. Most updates that move one number quietly cost you on another. This one didn\u2019t, and it wasn\u2019t down to any single piece of the delta.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">It\u2019s what the diagnostic, the angle, the rewritten sections, and the new component produced together. That\u2019s really the whole point of locking a baseline before touching anything: it\u2019s the only way to know an update did something, rather than getting lucky with a publish date.<\/p>\n<p class=\"wp-block-paragraph\"><strong><em>Dig deeper: Refreshing content: How to update old content to drive new traffic<\/em><\/strong><\/p>\n<p><!-- START INLINE FORM --><\/p>\n<p><!-- END INLINE FORM --><\/p>\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-css-opacity has-cyan-bluish-gray-background-color has-background\">\n<h2 id=\"h-turning-it-into-a-system-through-claude-code\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Turning_it_into_a_system_through_Claude_Code\"><\/span>Turning it into a system through Claude Code<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p class=\"wp-block-paragraph\">That whole process, done properly by hand, is about two focused days per page. hoppa runs thousands of pages across nine languages, and two days a page is fine math until you multiply it across a portfolio that size. Even at a conservative one update per page per year, the arithmetic doesn\u2019t survive contact with reality.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">The real cost isn\u2019t the time, either. It\u2019s the opportunity cost: every month a page like Antalya sits at position 14.89 instead of 10.87 is a month of impressions that never got the chance to convert.<\/p>\n<p class=\"wp-block-paragraph\">So we mapped the 14 steps above into Claude skills and had Claude Code run the process instead of a person running it with AI help on the side. The judgment didn\u2019t move to the machine. The enforcement of that judgment did.<\/p>\n<p class=\"wp-block-paragraph\">The foundation is a dedicated Claude project, preloaded with:<\/p>\n<ul class=\"wp-block-list\">\n<li>Our brand book.<\/li>\n<li>Terms and conditions.<\/li>\n<li>Pricing policy.<\/li>\n<li>A library of brand-specific reference material.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">Every skill that touches content runs inside that project, so brand constraints are always in context instead of being re-explained on every run.<\/p>\n<div class=\"wp-block-image\">\n<figure data-wp-context=\"{\" imageid data-wp-interactive=\"core\/image\" data-wp-key=\"6a6b081b54a73\" class=\"aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2001\" height=\"1125\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" http: alt=\"The same 14 steps, mapped onto the skill chain that runs them at batch scale.\" class=\"wp-image-483868\" srcset=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/claude-code-skill-architecture-1.jpg 2001w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/claude-code-skill-architecture-1-768x432.jpg 768w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/claude-code-skill-architecture-1-1536x864.jpg 1536w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/claude-code-skill-architecture-1-1200x675.jpg 1200w\" data-lazy-sizes=\"(max-width: 2001px) 100vw, 2001px\" src=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/claude-code-skill-architecture-1.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"2001\" height=\"1125\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/claude-code-skill-architecture-1.jpg\" alt=\"The same 14 steps, mapped onto the skill chain that runs them at batch scale.\" class=\"wp-image-483868\" srcset=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/claude-code-skill-architecture-1.jpg 2001w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/claude-code-skill-architecture-1-768x432.jpg 768w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/claude-code-skill-architecture-1-1536x864.jpg 1536w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/claude-code-skill-architecture-1-1200x675.jpg 1200w\" sizes=\"auto, (max-width: 2001px) 100vw, 2001px\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\"><br \/>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg><br \/>\n\t\t<\/button><figcaption class=\"wp-element-caption\"><em><em>The same 14 steps, mapped onto the skill chain that runs them at batch scale.<\/em><\/em><\/figcaption><\/figure>\n<\/div>\n<h3 id=\"h-step-1-hoppa-intelligence\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step_1_%E2%86%92_hoppa-intelligence\"><\/span>Step 1 \u2192 hoppa-intelligence<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">Pulls the 56-day GSC window automatically and locks the baseline before anything else happens: the same four metrics, top queries, striking-distance queries, and zero-click queries a person would pull by hand.<\/p>\n<h3 id=\"h-step-2-the-audit-skill\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step_2_%E2%86%92_the_Audit_Skill\"><\/span>Step 2 \u2192 the Audit Skill<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">Runs the keep\/fix\/remove\/add tagging automatically, classifying every section against actual query performance.<\/p>\n<h3 id=\"h-steps-3-4-the-competitor-gap-skill\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Steps_3-4_%E2%86%92_the_Competitor-Gap_Skill\"><\/span>Steps 3-4 \u2192 the Competitor-Gap Skill<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">Pulls defended queries, gap-close queries, and new intents from Ahrefs, plus a SERP read on who\u2019s outranking us and what ground they\u2019ve taken.<\/p>\n<h3 id=\"h-steps-5-7-editorial-intelligence\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Steps_5-7_%E2%86%92_Editorial_Intelligence\"><\/span>Steps 5-7 \u2192 Editorial Intelligence<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">Persona revalidation and query fan-out gap detection, plus the local-knowledge refresh. This is where the hard gates sit: the update can\u2019t proceed without:<\/p>\n<ul class=\"wp-block-list\">\n<li>A validated persona set.<\/li>\n<li>Current local knowledge.<\/li>\n<li>A defined angle.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">Skip those and you get generic AI output, which is exactly why so much AI-assisted content reads the same regardless of who published it.<\/p>\n<h3 id=\"h-step-8-the-delta-brief-skill\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step_8_%E2%86%92_the_Delta-Brief_Skill\"><\/span>Step 8 \u2192 the Delta-Brief Skill<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">Generates the brief in the same delta shape as Step 8 above (keep\/fix\/remove\/add explicit) and won\u2019t produce one without a defined angle attached.<\/p>\n<h3 id=\"h-step-9-hoppa-editorial\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step_9_%E2%86%92_hoppa-editorial\"><\/span>Step 9 \u2192 hoppa-editorial<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">Writes only the \u201cfix\u201d and \u201cadd\u201d sections, inside the same project, calibrated against gold-set tone benchmarks. If the new content\u2019s voice drifts from the kept content\u2019s, it refires until they match.<\/p>\n<h3 id=\"h-step-10-hoppa-scientific-refiner\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step_10_%E2%86%92_hoppa-scientific-refiner\"><\/span>Step 10 \u2192 hoppa-scientific-refiner<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">Fact-checks new and kept content. A failed check on a \u201ckeep\u201d section automatically bumps it to \u201cfix.\u201d No human has to ask, \u201cIs this still true?\u201d first.<\/p>\n<h3 id=\"h-step-11-the-image-auditor\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step_11_%E2%86%92_the_Image-Auditor\"><\/span>Step 11 \u2192 the Image-Auditor<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">Runs the same three checks automatically (accurate, on-brand, spec-compliant) and flags whatever needs replacing.<\/p>\n<h3 id=\"h-step-12-seo-preservation\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step_12_%E2%86%92_seo-preservation\"><\/span>Step 12 \u2192 seo-preservation<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">Locks the URL slug, protects a meta title that\u2019s earning CTR, and extends schema rather than replacing it, the same preserve-by-default rule as Step 12 above.<\/p>\n<h3 id=\"h-step-13-the-component-generator\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step_13_%E2%86%92_the_Component_Generator\"><\/span>Step 13 \u2192 the Component Generator<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p class=\"wp-block-paragraph\">Turns the brief\u2019s spec for anything new (a persona chooser, a comparison table) into the actual working component, running the same describe-generate-iterate loop, just inside the skill rather than a person driving it by hand.<\/p>\n<p class=\"wp-block-paragraph\">Measurement (Step 14) isn\u2019t a separate skill so much as the discipline that wraps around all of it. We still set up the tests manually. The baseline is locked in Step 1 before anything else runs, and every batch is read against that same baseline once it\u2019s live.<\/p>\n<p class=\"wp-block-paragraph\"><strong><em>Dig deeper: 6 content audit workflows to build in Claude<\/em><\/strong><\/p>\n<h2 id=\"h-closing-the-loop-deployment\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Closing_the_loop_Deployment\"><\/span>Closing the loop: Deployment<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p class=\"wp-block-paragraph\">Getting the content right was only ever half the job. The other half was getting it live, and until recently, that still meant a person copying finished sections into our CMS, checking that the formatting held, and hitting publish.<\/p>\n<p class=\"wp-block-paragraph\">We\u2019ve since closed that gap. Claude connects directly to our CMS, Strapi, through an MCP server we run for Strapi, and deployment itself now runs as its own step:<\/p>\n<ul class=\"wp-block-list\">\n<li>Staging deploy<\/li>\n<li>A full section-by-section diff against the live page<\/li>\n<li>Internal and anchor link verification<\/li>\n<li>Schema validation<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">If any check fails, the deploy halts and flags it rather than silently shipping something broken. When everything passes, it produces a single ready-to-publish report for a human to approve before it goes live.<\/p>\n<p class=\"wp-block-paragraph\">Content production and CMS deployment are now a single continuous pipeline, rather than two separate jobs with a person bridging them by hand.<\/p>\n<h2 id=\"h-what-running-this-at-scale-actually-taught-us\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_running_this_at_scale_actually_taught_us\"><\/span>What running this at scale actually taught us<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p class=\"wp-block-paragraph\">Once the pipeline worked for one page, the obvious next question was how many it could run at once without compromising quality to the bare minimum.<\/p>\n<p class=\"wp-block-paragraph\">We tested two content updates running in parallel. It works, technically: nothing errors out, and nothing breaks. But the quality drops on both. <\/p>\n<p class=\"wp-block-paragraph\">The two runs share the same underlying agents, and pushing two batches through the same agents at the same time visibly softens the output on each: the diagnostics get shallower, the delta briefs get looser, and the writing needs more editing on review.<\/p>\n<p class=\"wp-block-paragraph\">So we don\u2019t run it that way, and we can\u2019t without giving something up. One update runs at a time, start to finish, and the system works through a batch sequentially. <\/p>\n<p class=\"wp-block-paragraph\">However, many URLs are on the list that week. It\u2019s slower on paper. It\u2019s also the difference between output we trust on the first read and output that needs a second pass to catch what got rushed. At this stage of the tooling, that trade isn\u2019t close.<\/p>\n<p class=\"wp-block-paragraph\"><strong><em>Dig deeper: 7 feedback loops for self-improving AI content workflows<\/em><\/strong><\/p>\n<h2 id=\"h-what-the-difference-looks-like-on-the-page\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_the_difference_looks_like_on_the_page\"><\/span>What the difference looks like on the page<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p class=\"wp-block-paragraph\">Here\u2019s the same underlying discipline applied to two other real pages, one still waiting in the queue and one through the full cycle:<\/p>\n<div class=\"wp-block-image\">\n<figure data-wp-context=\"{\" imageid data-wp-interactive=\"core\/image\" data-wp-key=\"6a6b081b555b7\" class=\"aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2001\" height=\"1125\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" http: alt=\"Same template. Very different depth.\" class=\"wp-image-483870\" srcset=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/hoppa-before-after-comparison-1.jpg 2001w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/hoppa-before-after-comparison-1-768x432.jpg 768w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/hoppa-before-after-comparison-1-1536x864.jpg 1536w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/hoppa-before-after-comparison-1-1200x675.jpg 1200w\" data-lazy-sizes=\"(max-width: 2001px) 100vw, 2001px\" src=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/hoppa-before-after-comparison-1.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"2001\" height=\"1125\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/hoppa-before-after-comparison-1.jpg\" alt=\"Same template. Very different depth.\" class=\"wp-image-483870\" srcset=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/hoppa-before-after-comparison-1.jpg 2001w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/hoppa-before-after-comparison-1-768x432.jpg 768w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/hoppa-before-after-comparison-1-1536x864.jpg 1536w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/hoppa-before-after-comparison-1-1200x675.jpg 1200w\" sizes=\"auto, (max-width: 2001px) 100vw, 2001px\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\"><br \/>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg><br \/>\n\t\t<\/button><figcaption class=\"wp-element-caption\"><em><em>Same template. Very different depth.<\/em><\/em><\/figcaption><\/figure>\n<\/div>\n<p class=\"wp-block-paragraph\"><strong>Not yet updated:<\/strong><\/p>\n<ul class=\"wp-block-list\">\n<li>Generic copy<\/li>\n<li>No local content<\/li>\n<li>No FAQ<\/li>\n<li>None of the newer components<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\"><strong>Fully updated:<\/strong><\/p>\n<ul class=\"wp-block-list\">\n<li>Rich local detail<\/li>\n<li>A banner tied to a real current event<\/li>\n<li>Review proof<\/li>\n<li>Structured sections that route different visitors to what applies to them<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">Nothing about that gap required a rewrite from scratch. It required the delta.<\/p>\n<h2 id=\"h-the-results-at-portfolio-scale\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_results_at_portfolio_scale\"><\/span>The results at portfolio scale<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p class=\"wp-block-paragraph\">None of this matters if it only works on one page. We don\u2019t call an update a win because it feels better. Every one of these runs as a proper test, with a 56-day baseline locked before a single change ships and measured against the same window after. That\u2019s the difference between a measured update and a lucky publish.<\/p>\n<div class=\"wp-block-image\">\n<figure data-wp-context=\"{\" imageid data-wp-interactive=\"core\/image\" data-wp-key=\"6a6b081b55b0b\" class=\"aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"2001\" height=\"1125\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" http: alt=\"Aggregate results across all 59 completed tests.\" class=\"wp-image-483872\" srcset=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/59-seo-tests-results-1.jpg 2001w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/59-seo-tests-results-1-768x432.jpg 768w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/59-seo-tests-results-1-1536x864.jpg 1536w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/59-seo-tests-results-1-1200x675.jpg 1200w\" data-lazy-sizes=\"(max-width: 2001px) 100vw, 2001px\" src=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/59-seo-tests-results-1.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"2001\" height=\"1125\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/59-seo-tests-results-1.jpg\" alt=\"Aggregate results across all 59 completed tests.\" class=\"wp-image-483872\" srcset=\"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/59-seo-tests-results-1.jpg 2001w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/59-seo-tests-results-1-768x432.jpg 768w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/59-seo-tests-results-1-1536x864.jpg 1536w, https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/59-seo-tests-results-1-1200x675.jpg 1200w\" sizes=\"auto, (max-width: 2001px) 100vw, 2001px\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\"><br \/>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg><br \/>\n\t\t<\/button><figcaption class=\"wp-element-caption\"><em><em>Aggregate results across all 59 completed tests.<\/em><\/em><\/figcaption><\/figure>\n<\/div>\n<p class=\"wp-block-paragraph\">Seven in 10 updated pages saw organic clicks increase, one in four saw them decrease (going out of season was the case for some of those pages), and a couple came back flat.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">Across all 59 tests, normalized to comparable 56-day windows, this netted 2,284 additional organic clicks overall, all landing on a commercial transfer page, not a blog article.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">Organic purchases finished up 24.9% against baseline, and organic revenue was up 20.1%, both read straight off the GA4 side.\u00a0<\/p>\n<p class=\"wp-block-paragraph\">That\u2019s the argument for treating content updates as one of the highest-ROI line items on an SEO roadmap, rather than as maintenance work that happens only when there\u2019s nothing more exciting left to do.<\/p>\n<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;\">\n<div style=\"width: 100%; max-width: 100%; margin-bottom: 20px; text-align: left; padding-right: 20px; box-sizing: border-box;\">\n<div id=\"semrush-one-headline\" class=\"headline-responsive\" style=\"font-family: Oswald, sans-serif; font-size: 30px; font-weight: normal; margin: 0; color: #000000 !important; line-height: 1.2;\">\n        If AI can\u2019t find you, <span style=\"background: linear-gradient(90deg, #D56EFE 0%, #068EF8 51%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;\">customers won\u2019t either<\/span>.\n      <\/div>\n<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;\">\n       Track your visibility across AI search, uncover missed opportunities, and grow your presence where customers are asking questions.\n      <\/p>\n<\/p><\/div>\n<div style=\"margin-bottom: 15px;\">\n      <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;\">See your AI visibility<\/span>\n    <\/div>\n<\/p><\/div>\n<style>\n  @media (max-width: 768px) {\n    .headline-responsive {\n      font-size: 30px !important;\n      line-height: 1.3 !important;\n    }\n  }\n<\/style>\n<h2 id=\"h-what-actually-transfers-to-your-team\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_actually_transfers_to_your_team\"><\/span>What actually transfers to your team<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p class=\"wp-block-paragraph\">None of the specifics above is the point. Our prioritization weights, our persona schema, our tone benchmarks, and our gate thresholds won\u2019t mean anything on your site, and they shouldn\u2019t. Rebuild it all for your own domain.<\/p>\n<p class=\"wp-block-paragraph\">What transfers is the shape of the system:<\/p>\n<ul class=\"wp-block-list\">\n<li>A human sets the list and priorities and approves the output. Automation enforces judgment. It doesn\u2019t replace it.<\/li>\n<li>Hard gates sit in the middle, and they\u2019re allowed to block progress. Skip persona validation or a local-knowledge refresh, and you get generic AI output, which is exactly why so many AI content pipelines sound identical to each other.<\/li>\n<li>Preservation rules protect whatever\u2019s already earning. Breaking a ranking isn\u2019t an update. It\u2019s a demotion with better branding.<\/li>\n<li>Every change is measured against its own locked baseline, not a vague sense of how a page is \u201cdoing.\u201d<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">Right now, revenue picks which pages we look at first, and the diagnostic tells us what\u2019s wrong with them. That\u2019s the correct order for a team defending high-value pages, but it\u2019s reactive: decay has usually already cost something by the time revenue flags it. The signals exist earlier than that:<\/p>\n<ul class=\"wp-block-list\">\n<li>CTR softening.<\/li>\n<li>Position drift.<\/li>\n<li>Coverage gaps opening up before they show up in a P&amp;L.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">The next version of this continuously monitors the portfolio and surfaces pages about to bleed, not just those already bleeding.<\/p>\n<p class=\"wp-block-paragraph\">Content updates on commercial pages can be some of the highest-ROI SEO work available, yet most teams still treat them as maintenance. Doing them properly, one page at a time, doesn\u2019t scale. <\/p>\n<p class=\"wp-block-paragraph\">Ours didn\u2019t either, until we stopped asking the model to write and started asking it to enforce judgment we\u2019d already made, at whatever volume the queue actually needed.<\/p>\n<p class=\"wp-block-paragraph\">If you\u2019re staring at a queue of decaying pages and wondering where to start, start with the diagnostic, not the rewrite. Everything else follows from that.<\/p>\n<p class=\"wp-block-paragraph\"><em>None of this would have happened without the person who turned it from a manual playbook into a working Claude skill chain: Yvette Ramirez, our content strategist, who built the implementation and kept iterating on the gates and tone benchmarks until the automated version stopped needing a second pass.<\/em><\/p>\n<div class=\"ttd-topics-display\">\n<div class=\"ttd-topics-content\">\n<h5><span class=\"ez-toc-section\" id=\"Topics_on_this_page\"><\/span>Topics on this page<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<div class=\"ttd-topics-links\">Search engine optimizationArtificial intelligenceClaudeGoogle Search ConsoleLarge language modelAhrefsAI OverviewsAVIFContent management systemContent MarketingDelta Air LinesFigmaGeminiGoogle AnalyticsIncome statementJavaScriptModel Context ProtocolReturn on investmentTrustpilotWebP<\/div>\n<\/div>\n<div class=\"ttd-topics-show-extra-button\">+15 more<\/div>\n<\/div>\n<\/div>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMN63nwsw68G3Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/buradabiliyorum.com\/en\/category\/technology\/\" target=\"_blank\" >Technology<\/a><\/span> category.<\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/searchengineland.com\/scale-seo-content-updates-claude-code-483862\" target=\"_blank\" >Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>See how a 14-step workflow diagnoses content decay, protects rankings, and drives measurable traffic and revenue gains. SEO teams spend plenty of time creating new pages while existing pages quietly lose rankings, clicks, and revenue. Updating those pages can recover performance, but rewriting too much can wipe out the SEO equity they\u2019ve already built. Here\u2019s&#8230;<\/p>\n","protected":false},"author":1,"featured_media":741796,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/searchengineland.com\/wp-content\/seloads\/2026\/07\/How-to-scale-SEO-content-updates-with-Claude-Code.png","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-741795","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/741795","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=741795"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/741795\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/741796"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=741795"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=741795"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=741795"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}