Fix Plan
How the plan is built
Tasks come from the gaps in your AI Readiness checks and your AI answers. They are grouped into stages, and only stages with work appear. Site access comes first, then correcting wrong facts; the other stages follow, ordered by impact, and website housekeeping comes last. The task to start with is shown first as Do this first, and the client export and the developer bundle start with the same task. It is never a housekeeping task.
- Site access — make sure your site can be read
- Correct wrong facts — make your details agree everywhere
- Foundation — make the brand machine-readable
- Establish the entity — get recognized as a real brand
- Improve your pages — answer what buyers ask
- Earn authority — get cited where AI engines look
- Keep it fresh — sustain and tune
- Website housekeeping — hygiene, not a reason AI names you
How strong the evidence is that a task helps
Every task carries one of three labels. The label is about the change you make, not about the problem: a missing piece of markup is measured exactly, yet adding it is still housekeeping. Within each stage, tasks with stronger evidence come first. A housekeeping task is never above medium impact, and a task with weak evidence is never critical.
| Label | What it means | Examples |
|---|---|---|
| Common among businesses AI names | Businesses AI answers name tend to have this (a correlation, not proof that it causes a mention). | For a local business: your Google category, reviews and service pages. For every business: the pages AI answers cited for your questions, wrong facts about you, and letting AI search read your site. |
| Weak evidence it helps | A reasonable step with little evidence that it changes AI answers on its own. | Question-shaped headings, the opening line of a page, data points, and tasks that ask you to review answers yourself. |
| Hygiene | Good housekeeping for your site, never the reason AI names a business. | Schema markup, llms.txt, the page language setting, image descriptions (alt text), one main heading per page, page speed and accessibility. |
- The plan reads the same check as the Report, so its numbers are the Report's: the Agent Search answers (ChatGPT and Perplexity) and the AI Chat answers (the ChatGPT and Gemini apps). It says when that check ran and how many answers of each it read, and so does the client export. Wrong facts in the app answers become correction tasks too.
- Where you stand, at the top of the plan, reads that same check, each kind of check on its own: “Starting from zero” when none of its answers names you, “Established” when every kind of check names you in at least 2 in 5 answers, and “Emerging” in between. A kind of check the Report calls an early read (one or two answers) doesn't count yet. Before a check has answers it says “Baseline not measured”. The app and the client export always say the same.
- A blocked AI search crawler is always the first task: nothing else matters until AI search engines may read your site.
- When S6S's site check couldn't read your homepage (for example it answered HTTP 403), the first task says so, with the status, the address and the date, and what your robots.txt said in the same check. Until the homepage can be read, S6S can't check your pages, so the tasks that depend on them say so. A refused S6S check doesn't show that AI search crawlers are refused, so the task never claims they are: it asks you to look for their requests in your firewall or CDN's own log. It is done when the next site check reads the homepage.
- Wrong or conflicting facts come next, for example a booking site that shows different opening hours from your Google profile. Fixing a fact first means more mentions don't repeat it. When your website shows no opening hours, adding them is part of the same task. A wrong fact in a measured AI answer (another business's name, or a different website given as yours) is a correction too, as is a page AI answers cite that lists you but describes you wrongly or looks out of date. A source an answer only links to is never read as a fact about you.
- Each task says who does it (your agency; you, the client, for accounts only the business can use, such as your Google profile, booking sites and reviews; or a third party, such as the site that publishes a list), when it is done (something anyone can see on the page, profile or listing) and when to re-check. The client export and the developer bundle give the same three for every task, and the client export also says, per task, what to do, one line of the evidence behind it and where it stands (Draft ready, Change landed or Not yet). It is ordered the way the plan is: fix what's wrong first, then the strongest-evidence steps. A task with steps is as far along as its least advanced step, and the export names any step that is further along (for example “Not yet · Draft ready: step 1”).
- AI answers take days to weeks to reflect a change, so each re-check date waits for the slowest engine the task can move. For a change on your own website that is the engine's typical delay (Perplexity 3 days, Google AI Overviews and AI Mode 6, ChatGPT 7, Gemini 9); for a change on another site, such as a listing or your Google profile, it is the longest delay seen, up to 24 days. The figures come from a 2026 study of 18 website changes (MaxAEO); changes to listings were not measured. Dates count from the day of the plan.
- Every failed or weak website, profile and listing check becomes a task. A check S6S couldn't read never does.
- Tasks that change the same thing are one task, with the work as its steps: your opening hours everywhere, your Google profile (category, reviews, replies and the Google & Maps result), your service pages, each page of your site, each cited site, a competitor with the cited pages that list it, the code your web builder changes (housekeeping), and the answers that don't name you yet. The same change on several pages is one task listing the pages. Each step keeps its own evidence, done-when and re-check date, and can be drafted or marked done on its own. The task's owner is the one furthest from your agency's own hands among its steps (a third party, then the client), its re-check date is its latest step's, and its label is the strongest among its steps. The app, the client export and the developer bundle show the same tasks.
- A page AI answers cite that names other businesses and not you becomes a task for that page. You never get a generic “get listed on G2”. When you already have a profile on that site, the task asks for that profile, not a new listing.
- Getting onto those pages is S6S's research, not yours. For each cited site S6S records how a business gets on (its existing profile, a free sign-up or request, a pitch to the editor, a paid listing, or through the site's sales team), what it costs as the site publishes it, with the page and the date it was read, the site's own rules, and where you stand on it. The task then says the route, the cost and where approval stands. A site that isn't a route (a competing business's own page) gets no task, and the Report says so. Three kinds of cited page never become a task to get onto: a sponsored or promoted post (the site sells that space, so being on it means paying for one), a competitor's own site (its page names the business whose site it is), and a review of one product. The competitor task names them with the reason. When your profile is on the site but ranks low on the list a buyer sees, the task is to rank higher, using only what the site itself says moves a profile up. A placement counts as landed only when S6S reads the page and finds you on it, never by hand. A site not researched yet says so, and says there's nothing for you to do on it until S6S adds the route. A listing site the answers cite widely but S6S couldn't read gets a task to check whether you're on it, which never says you're missing from it. A page that names several businesses is never “a review of one product”, whatever its title says.
- Every listing or review site AI answers cite gets its own task or step, however many there are. Discussion threads, videos and reference pages are limited to the five most cited.
- Each buying situation you confirmed that none of the Agent Search answers named you for becomes a task: a page of your own that answers the exact question asked. The task quotes that question and names the pages the answers cited for it. For a local business the page is a service page (what, for whom, the price, where you are and how to book); for any other business it answers the buying situation (who it is for, what you do for them, how you differ from the alternatives the answers name, how to start, and proof). When S6S couldn't read your site, the task says it doesn't know whether such a page exists already.
- The tasks about answers that don't name you are tied to the measured questions: they name the questions no other task covers, and there is no such task when every question already has one.
- If you've run the Google & Maps check and you aren't on page 1 of Google or in the Maps top 3 from most places around you, one task gives that result in the Report's words. It counts toward AI Readiness, not toward how often AI answers name you.
- When the plan names the pages AI answers cite, it doesn't also ask you to find out why an engine leaves you out: the named pages are that answer. A task about a competitor has the pages that list it and not you as its steps.
- A page check that only works in English (whether a page opens with what you do) isn't applied to pages in another language, and your page titles and headings are compared only with tracked questions in the same language.
- Tasks that don't fit your kind of business are never suggested, for example review markup for a local practice.
- Expected effects are described in words, never as a promised percentage.
- A link in a task shows the site and the page (for example example.nl/prices), without tracking tags or booking tokens. A page of your own site reads “your homepage” or “the /prices page”, and what a check measured is said in words, never as a raw setting. Each caveat is said once per task, and Google's accessibility test is named problem by problem in plain words.
Coach and Draft
| Mode | What happens |
|---|---|
| Coach | S6S shows you exactly what to do; you make the change yourself. |
| Draft | S6S writes the asset; you review it, then copy it into your site or CMS. |
What S6S can draft
Drafts are written in the language your website is in, read from its pages: a Dutch site gets Dutch headings and answers, even when its pages declare another language. Suggested questions and keywords follow the same rule; questions found on Google or Reddit keep the words they were asked in. Refreshing the mined questions replaces earlier suggestions you haven't selected; the ones you selected, and questions found on Google or Reddit, stay.
Each draft uses 10 credits. Press Draft this on a task, or Draft all for the tasks that can be drafted, then copy or export the results.
| Draft | What you get |
|---|---|
| Schema Markup | Business details in code (schema.org markup) for your pages. |
| FAQ Content | Questions and answers buyers ask, written for your pages. |
| Content Recommendations | Content recommendations for a page. |
| Gap Content Analysis | Content for a topic where AI names others and not you. |
| Question Headings Draft | Headings phrased as the questions buyers ask. |
| Last Updated Snippet | A “last updated” line for a page. |
| TL;DR Block | A short summary block at the top of a page. |
| YouTube Script | A script for an explainer video. |
| Reddit Intelligence | What people discuss on Reddit about your category. |
| llms.txt File | An optional llms.txt file (a proposal with no measured effect on AI answers; Google Search ignores it). Not suggested by default. |
| X/Twitter Threads | Posts for X. Not normally suggested. |
Approvals
Drafts that S6S prepares for you to review appear in the approval queue with one of these states. Only a draft that needs your review has Approve and Reject buttons.
| State |
|---|
| Preparing |
| Needs your review |
| Approved |
| Scheduled |
| Implemented |
| Revision requested |
| Duplicate of an earlier draft |
| Not approved |
- Requesting an automatic rewrite isn't available yet. If this draft isn't right, reject it — or approve it and edit the copy yourself before you use it.
- When you've put an approved draft live, mark it implemented and confirm “I applied this myself”. Marking it changes nothing anywhere; it starts the check of whether your AI visibility moved.
- Each fix then says “Draft ready” (S6S wrote it, nothing is live), “Change landed” (you applied it, with the date to re-check) or “Not yet”. Once the re-check date has passed it says “done by the check of” the first check after it, or “overdue” when no check has run since; a Run Check from the page header closes it. No single change is credited with a score change, in the app or the client export: AI answers move for many reasons at once, so the Report shows what moved across all changes.
- A draft waiting for review is checked again every time the queue is read. It is held back, and the queue says how many and why, when it promises an effect on AI answers, was made before your business details last changed, rests on a fact about your site the latest site check couldn't confirm, adds something your site already has, or a newer draft of the same kind is waiting. A held-back draft can be rejected but not approved.
- Package & handoff shows only the drafts made for the tasks in the current plan; older ones stay in Fix activity.
Handing the plan to a developer
In Share / Export → For developers, choose Download bundle, or Copy AI-coder prompt to paste the whole plan into an AI coding tool. The bundle holds up to 25 open tasks, each with what to change, who does it, when it is done, the re-check date, how to undo it, and the evidence behind it. A task with steps lists each step with its own change, evidence and done-when. It counts tasks as the plan does: a task with steps is one.
Developers can also request it from the API: POST /api/visibility/brands/{brandId}/fix-plan/bundle with ?format=archive (the default), prompt or json.