Troubleshooting the SEO Command Center
Every common failure in one place — blocked research, parked runs, greyed-out buttons, empty research tabs, stuck posts, failed deploys and missing reports.
Most SEO Command Center problems are one of five things: a prerequisite that is not met, a budget that is blank or reached, a permission you do not have, a runner that is not open, or a deploy that failed on the client's own site. This page groups them that way.
Where a page covers a fix in depth, the row links to it.
Read the exact words on screen first
Zyan names its refusals rather than hiding them — a disabled button carries the reason in its tooltip, a parked run carries a reason chip, and a blocked save prints the reason above the button. The exact phrase is usually in a table below.
Research will not start
| Symptom | Cause | Fix |
|---|---|---|
| Start research is greyed out, tooltip mentions a draft conflict | The website already has an open draft strategy | Activate, discard or finish the draft from the Living strategy hero. An empty machine-created shell is adopted instead |
| Amber line asking you to set the niche and primary services | The brief has neither | Fill Niche and Primary services on the Brief pane, or click Draft from the website |
| The Research brief looks auto-filled — review it before spending | A field reads like prose rather than a term | Edit the flagged fields. This is a warning, not a block |
| Start is disabled and you are a member | Starting and resuming are owner and admin actions | Ask an owner. Cancel is not owner-gated |
A run parked with Needs you
| Symptom | Cause | Fix |
|---|---|---|
| A Cap reached chip | The run hit its cost cap mid-pipeline | Type a higher value in Raise cap $ and Resume, or Cancel and keep the evidence already captured |
| The run says entries read as a sentence, not a search term | Seeds could not be grounded | Fix the brief so each field is a term, then Resume |
| The run says only brand searches were found | Search Console returned brand queries only | Fill the services on the brief so research has non-brand seeds, confirm Search Console has data, then Resume |
| A stage failed | One pipeline stage errored | Retry stage — it resumes from the evidence already captured |
Buttons are greyed out
| Symptom | Cause | Fix |
|---|---|---|
| Owner only: running this spends the DataForSEO budget | You are a member | Ask an owner. Free actions still work for you |
| Paid controls are disabled for a moment after loading | The research roster has not loaded yet | Wait a beat; it resolves itself |
| The checklist says paid research is blocked until a positive monthly SEO budget is set | The budget is blank | Set a positive number in Settings → Automation & budget |
| Buttons read Run anyway or Start research anyway | The monthly budget is reached | Wait for next month, raise the budget, or click through as an owner to record an acknowledged overrun |
| A paid control is disabled before you even click | The target's ceiling or your credit balance cannot cover the estimate | Raise the research target's monthly ceiling |
| Every paid surface shows cached data | The platform research credential is unavailable for the workspace | Nothing to change locally — this is a platform state |
A research tab is empty
| Symptom | Cause | Fix |
|---|---|---|
Research <host> with DataForSEO instead of data | The website has no research target yet | Click Create research target for <host> — it is free |
| Target creation refuses with a market error | Settings stores a non-country location code | Set a Country in Settings → Content & page rules first |
| Strategy, Content, Page, Technical, Results and Settings are disabled | You are on an unlinked research target | Link it to a Builder project, or switch back to the website |
| Keyword Gap shows Add a competitor to compare | No competitors and no defaults found | Add up to four domains, and pin competitors under Strategy → Research → Evidence for next time |
| Use with Claude is disabled | Nothing selected, more than 25 keywords selected, or no linked project | Reduce the selection or link the target — see Keyword Gap |
Connections and site data
| Symptom | Cause | Fix |
|---|---|---|
| The Search Console property does not match the host | The selected property is the other www variant | Pick the matching property in Analytics settings. Data still flows |
| Search Console write access needs attention | The Google connection predates the sitemap-submission scope | Reconnect Google on that row and re-consent |
| Site knowledge is amber after a crawl | The crawl was truncated | Retry site crawl from the Research brief |
| Site knowledge stays amber after a re-crawl | The site is a client-rendered shell with nothing to read | Add knowledge sources by hand, or render the site server-side |
| A lane says some sources never pulled | Part of the lane has no data at all | Run that lane; a lane always reports its oldest clock |
Posts do not appear
| Symptom | Cause | Fix |
|---|---|---|
| A scheduled post never starts | Prefer desktop runner is on and no bound desktop is open, or it is older than 1.2.67 | Open and sign into the desktop app with the folder bound, then Check again; or arm Cloud fallback for waiting drafts |
| The post sits at Awaiting review by design | The schedule publishes via Review PR | Review and merge the pull request, or change the publish mode |
| The post is Held before drafting | It was stopped before any writing happened | Re-draft to run it now, or Delete — nothing was written |
| A local run went quiet | The runner stopped reporting | Retry now on that post |
| Topics are generic, card says Limited SEO evidence | No cached SEO opportunities, so a generic topic was used | Run setup and research, then Preview topic ideas |
| Ban list is full (50 topics) | The per-schedule cap | Remove a banned phrase in Edit first |
Published but not live
| Symptom | Cause | Fix |
|---|---|---|
| The post says published, the page 404s | The commit landed, the site repo's own deploy failed | Open the drawer, follow Open the failed run, fix the site repository and push — see Publishing |
| Deploy status reads unavailable | The GitHub App lacks Actions: Read on the repository | Grant that permission and wait for the next re-check |
| Nothing publishes and the error mentions GitHub | No valid per-tenant GitHub App credential | The account owner installs or repairs it on the GitHub tile in Settings → Integrations |
| Posts always stop at a pull request | The publish mode, or an approval mode that refuses direct push | Set Publish mode and set Approval mode to Trusted auto-publish |
| Publishing is refused for every website | The platform-level publish arm is off | Ask your platform operator |
Reports
| Symptom | Cause | Fix |
|---|---|---|
| The monthly report never generates | Mode is Off, the Reports lane is paused, or the scheduler parked it after three failures | Set the mode, resume the lane, then run it from the month card |
| The report day will not save | The value is blank or outside 1 to 28 | Enter a day between 1 and 28 and leave the field |
| A member cannot arm Auto-attach after QA | It is account-owner only | Ask the account owner |
| The public report link shows not-found | Never attached, detached, or opened on another workspace's host | Attach it, and share it on your own client-portal domain |
| QA blocked on an unattached report | The public route check needs the first attach | Approve & deliver; the attach-only checks resolve after |
| The client sees no SEO at all | Portal SEO access is strictly opt-in | Turn on Active SEO under Settings → Reporting & client |
Terminal and local machine
| Symptom | Cause | Fix |
|---|---|---|
| Terminal, live preview or git buttons are inert | The Builder terminal service is not configured for this deployment | Confirm with your platform operator; use the storage-mode editor and GitHub-side workflows meanwhile |
| Send to terminal fails to queue | The project terminal is not configured | Use Copy prompt and paste it in yourself |
| Queue for local machine instead of Run on local machine | No fresh bound desktop advertises the capability | Open the desktop app with the project bound; the queued fix runs when a runner appears |
| A Builder Automation says Waiting for desktop | Local schedules only run in the desktop app | Leave the app open, signed in and bound through the scheduled time |