Zyan · System map

The SEO Command Center

An autonomous SEO operator for a client’s website. It researches the market, writes a strategy, does the work inside the website’s own code repository, measures what each change did in Google, and feeds those results into what it does next.

The system at a glance

  • Data
  • Agent (Claude Code)
  • Automated step or rule
  • Output
  • Website repository
  • Learning loop
8The owner’s sideFor youquestions only a person can answerSettingsone control per capability, per websiteHandled for youa log of what autopilot didClient reports and portalanswersactions takenresultsContext packthe same for every agentbusiness briefthe page’s search-facing statestrategy and site planthe owner’s answers, guidelineskeyword evidence: demand and fitmeasurement history1Inputs2Research3Strategy4Decisions5Execution6MeasurementWebsite repositoryreal pages, via GitHubSearch Consolequeries, clicks, positionGoogle Analyticsvisits and conversionsDataForSEOdemand, rankings, SERPsLive site crawlScraperAPI · IPRoyalBusiness Profilemap listing, if connectedBusiness factsservices, areas, guidanceEvidence refreshevery two weeks: morekeywords, local demand,rivals, what Google showsTwo receipts per keyworddemand: measured locally,never modeledfit: judged, with a reasonKeyword orderdemand × fit × feasibilityDeep studymonthly, for the strategistResearch packetStrategistone long Claude Codesession with a read-onlycopy of the repository,the web and the packetValidatorscheck structure, boundsand every measured claimSite planclusters and owner pages,a north-star goal, pagesto create, expand, mergeor retireA lighter weekly reviewadjusts it between studies.What to write nextthe topic engine picksfrom the plan and keywordorder, skipping duplicatesWhich page to improvethe page picker rankspages by evidence and planWhich fixes to sendfindings, by priority;each site’s setting sayshow far autopilot may goPacingone revision per page,then rest until measuredWriterone Claude Code sessionper job, full toolset;reads the page and itshistory firstwritesreadsWebsite repositorythe work lands as acommit or a pull requestthe site’s normal deployLive websiteArticleService pagePage improvementFixChange recordwhat changed on the page,and how each item is knownMeasurement windowone window per changeControl comparisonSearch Console results,before and after, againstthe rest of the siteVerdictImproved · Mixed resultsNo clear changeLower than beforeNot measurableverdicts flow back into the next decisionsAfter a measured declinethe page’s rest ends: its title,heading and target phraseare open to revision; theearlier wording stays on fileSite scoreboardnon-brand clicks, clicks onservice pages, searches in thetop ten, changes shippedversus measured7Learningwhat flows back to each decision pointTo strategywhich clusters and kinds ofcontent earned resultsTo the topic enginewhether past posts earnedimpressions and clicks, bycluster and content typeTo the page pickerwhich pages are still beingmeasured and which declined
Read it left to right: data comes in, research and strategy turn it into a plan, rules pick the next job, one writer agent does it inside the website’s repository, and every change is measured. The learning loop carries each verdict back into strategy and decisions.

How a website is read

The repository shows the code; the crawl shows what Google sees. Pages are fetched plainly first, because most client sites are static. Only a page that comes back as a JavaScript shell is fetched again, through ScraperAPI or the IPRoyal proxy.

1Find the pages2Fetch3Read4Keeprobots.txtits Sitemap linesSitemapssitemap.xml, index, WordPressInternal linksfound on the pages readPage listdeduplicated, cappedPlain fetchfrom Zyan’s servers; everyaddress is screened, so onlythe public site is reachedJavaScript shell?too thin to be a pageno: the plain copy is usedyes: fetch it againScraperAPIrenders it in a real browseron the agency’s ownScraperAPI keyfailsIPRoyal proxyfetches it through a homeaddress, for sites thatblock server trafficfailskeep the plain copyrendered or proxied copyRead the pagetitle, headings, copy,links, service areasKnowledge basebusiness profile,searchable passagesPage statetitle, H1, canonical,status, orphan pagesboth feed thecontext pack
  • CappedEach run has a set number of rendered fetches. The homepage is fetched rendered first when a renderer is available.
  • MeteredEvery paid fetch is reserved before it runs and settled after. A fetch on the agency’s own ScraperAPI key costs no Zyan credits.
  • Self-correctingWhen a service rejects its key or its billing, it is switched off for the rest of the run, and the other keeps working.
  • Two crawls, one pathThe knowledge crawl builds the knowledge base. The site probe rotates through the pages to keep each page’s state current.

Competitor analysis

The Command Center tracks who competes for each client’s searches, compares them with the client’s site, and uses what it finds to decide what to write and how to write it.

Who the competitors areWhat is comparedWhere it is usedSites that rankfor the client’s keywordsMap Pack rivalslocal businesses in the map packPinned by the owneradded or pinned in the Command CenterKeyword gapsearches the competitors rank forCompeting pagesthe pages that rank and their structureLocal positionthe map pack, rival by rivalTopic enginegap searches become topic candidates;a competitor’s brand name never doesWriterreads the pages that rankbefore it writes the pageMap Pack gridthe client’s local rank, with therivals listed beside it
Competitor evidence older than 30 days is refreshed before a job runs, within the website’s research budget.

Research data from DataForSEO

The paid research comes from six DataForSEO APIs. Each answers one question and feeds one part of the Command Center.

SourceDataForSEO API · what it returnsWhere the Command Center uses itDataForSEOpaid research APIs, calledby the evidence refresh,the monthly study and theresearch toolsmetered asworkspace creditsKeywords DataGoogle Ads search volumeMeasured demandmonthly searches for the city, metro and stateLabsideas, difficulty, intent, competitorsKeyword research and orderwider keyword lists and the gap against competitorsSERPGoogle’s live results and Map PackRank tracking and the Map Pack gridpositions, what Google shows, local rank on a gridOn-Pagea full crawl by DataForSEO’s crawlerSite audittechnical findings, ranked into fixes to sendBacklinksreferring domains, anchors, new and lostBacklinks and authoritythe link profile and competitors’ linksAI Optimizationmentions in AI answersAI visibilitywhere the business appears in AI answers

The phases, one line each

  1. 01

    Inputs

    The website’s repository, Google’s own data, DataForSEO research, a crawl of the live site and the business’s facts.

  2. 02

    Research

    Every two weeks keywords are measured for local demand and judged for fit, then ordered by demand × fit × feasibility.

  3. 03

    Strategy

    One long Claude Code session writes the site plan. Validators check its structure and every measured claim before it is used.

  4. 04

    Decisions

    Rules pick what to write, which page to improve and which fixes to send. Each page gets one revision, then rests.

  5. 05

    Execution

    One Claude Code session per job works inside the repository. The work ships as a commit or a pull request.

  6. 06

    Measurement

    Every change is recorded and judged against the page’s own past and a control drawn from the rest of the site.

  7. 07

    Learning

    Verdicts flow back to strategy, the topic engine and the page picker, so each next decision starts better informed.

  8. 08

    The owner’s side

    A person answers only what only a person can. What autopilot did on its own is logged, with Undo where it exists.

What makes it different

  1. 01

    Demand is measured, never modeled

    Each keyword’s demand is measured at the nearest market that has data.

  2. 02

    One revision per page, then measure

    A page gets one coordinated revision, then rests until that change is measured.

  3. 03

    Every change is judged against a control

    The page is compared with its own past and with the rest of the site.

  4. 04

    Outcomes steer the next decisions

    Verdicts flow back to strategy, the topic engine and the page picker.

  5. 05

    A person is asked only what a person must answer

    Asked once, in one place, and stored where every agent reads it.