For most sites you need a developer for a few hours, not for the programme. The work that moves AI citations is mainly rewriting pages so each section answers a buyer question outright, and a marketer can do that in a CMS. Developer time is needed for a short list of one-off fixes: server-rendering content that currently only appears after JavaScript runs, opening robots.txt to the AI crawlers, fixing redirects and canonicals, and raising a slow template. The JavaScript item is the one that genuinely blocks everything else, because Vercel and MERJ found no client-side JavaScript execution by GPTBot, OAI-SearchBot, ClaudeBot or PerplexityBot in their December 2024 analysis of AI crawler traffic. If your pages render on the server already, you can run most of an AEO programme without filing a ticket.
A developer is needed for a handful of one-off fixes, not for the ongoing work. Budget a few days of engineering at the start of an AEO programme and a couple of hours a month after that, and expect the rest to be content and measurement that no code touches.
The split comes from where citations are won. An engine quotes a passage, so the work that changes outcomes is whether a section opens by answering the question in its heading, whether the page carries evidence a reader can check, and whether the question matches what buyers type. All of that is editing, and the person best placed to do it is whoever owns the page's copy.
What needs engineering is access. A crawler has to reach the page, receive the text in the HTML, and not be bounced through a chain of redirects to get there. Those are properties of the platform rather than of the copy, and they are usually fixed once and then left alone.
The order matters more than the hours. Access fixes come first because nothing downstream works without them, and they are the smallest part of the budget. Our guide to checking whether AI can read your website gives you the tests to run before you ask anybody for capacity, so the ticket you file names a specific broken thing rather than asking a team to support an initiative.
Where this goes wrong is a programme that waits. A quarter spent queued behind a replatform is a quarter of no page work, and in most cases the pages could have been rewritten in the existing templates while the technical ticket sat in the backlog.
Four kinds of fix need somebody who can change the site's code or its configuration, and the table separates those from the work a marketer can finish alone. Judge a proposal by how much of it falls on the left column, because that is the part you cannot schedule yourself.
| Fix | Who can do it | Typical effort | Why it matters for citations |
|---|---|---|---|
| Server-render the page body | Developer | Hours to weeks, depending on the framework | The major AI crawlers do not run JavaScript, so client-rendered text is invisible to them |
| robots.txt and crawler rules | Developer, or a marketer with CMS access on some platforms | Under an hour | A blocked crawler cannot retrieve the page at all |
| Redirect chains, canonicals, 404s | Developer or SEO with platform access | A day for an audit and cleanup | Crawl budget spent on dead URLs is budget not spent on your answers |
| Template speed and rendering of key sections | Developer | Days | Content that loads late, or only on click, often does not reach the crawler |
| Rewriting sections to answer their heading | Marketer or writer in the CMS | An hour per page | This is the work that decides whether a retrieved page is quoted |
| Adding sourced statistics and tables | Marketer or writer in the CMS | An hour per page | Evidence inside the passage is what an engine lifts and attributes |
Notice that the crawler-access rows are quick and the content rows are the recurring work. A proposal that is mostly technical, on a site that already server-renders and already allows the crawlers, is a proposal with its weight in the wrong place.
A marketer with CMS access can make most of the changes that move citations. The list is longer than it looks, and it covers everything about how a page answers a question.
Headings come first. Rewriting a section heading from a topic label into the question a buyer types changes what the page matches, and AirOps' 2026 report "The Fan-Out Effect" found that pages whose headings closely matched the query were cited 41% of the time against 29% for weak matches, across 353,799 pages retrieved for 16,851 queries. That edit is typing, not engineering.
Then the answer itself. Moving the direct answer into the first two sentences of each section, splitting a 900 word argument into passages that stand alone, and cutting the warm-up paragraph that delays the answer are all CMS edits. So is adding a comparison table, which gets lifted into answers more readily than prose does.
Evidence is the third item and the one most often skipped. Naming the source of each number in the same paragraph as the number, with a link, is a copy change. It is also the difference between a passage an engine will attribute and one that reads as an unsupported claim.
Finally, the pages themselves. Publishing a new page for a question nothing on the site answers needs no developer on any mainstream CMS. Our AI citation checklist sets out what each of those pages needs, and how much content you actually need covers how many of them to write.
Schema markup usually needs a developer on a custom site, and the evidence says it is not where your first engineering hours should go. Ahrefs tracked 1,885 pages that added JSON-LD between August 2025 and March 2026 against roughly 4,000 control pages and found changes of +2.4% in Google AI Mode and +2.2% in ChatGPT, both statistically indistinguishable from zero. The one movement outside the noise ran the wrong way: Google AI Overviews fell 4.6%.
The correlation that makes schema look essential runs the other way round. Ahrefs' own correlation pass over about six million URLs found cited pages roughly three times as likely to carry JSON-LD as uncited ones, which mostly tells you that well-maintained sites tend to have both markup and good content. Google's documentation on AI features and your website is direct about this too: there is no special structured data to add for its generative AI features, and a page that is indexed and eligible for snippets already meets the technical requirement.
Keep the markup you have and keep it accurate. Article, FAQPage, Organization and Product markup still earn rich results in classic search, and a broken or contradictory block is worth a developer's time to repair. Adding new types in the hope of a citation lift is the part the data does not support, and our page on whether schema markup helps AI citations goes through the study in detail.
One caveat on relying on markup to carry facts. A price or a specification that exists only inside JSON-LD, with nothing visible on the page, is a fact the engine may never state, because what it quotes is the text a reader can see. Put the number in the prose and let the markup agree with it.
JavaScript rendering needs engineering because the AI crawlers do not run it, and no amount of content work survives that. Vercel and MERJ's analysis of AI crawler traffic across their network, published in December 2024, found no client-side JavaScript execution by GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot or Bytespider, although several of them download script files anyway: 11.50% of ChatGPT crawler fetches and 23.84% of Claude's were JavaScript.
The effect is binary rather than gradual. A page whose body is injected by a client-side framework returns an almost empty document to those crawlers, so the page can be crawled, indexed by Google and still be unquotable by ChatGPT. Googlebot renders, and Google uses that pipeline for AI Overviews and AI Mode, which is why a site can appear in Google's AI answers and nowhere else.
The fix is server-side rendering or prerendering for the pages that matter, and the cost depends entirely on the stack. A Next.js or Nuxt site is often a configuration change per route. A single-page application that fetches everything after load is a project, and in that case the right move is usually to publish the handful of answer pages as server-rendered routes rather than to rebuild the application.
Test before you argue about it. Request one of your key pages with JavaScript disabled, or fetch it with a plain HTTP client, and read what comes back. If your answer paragraphs are missing, the ticket writes itself, and our page on whether AI crawlers can read JavaScript covers how to check each template without guessing.
Developer time in a typical AEO programme runs to a few days at the start and a couple of hours a month after that, on a site that is already server-rendered. The front-loaded part is an audit and a cleanup, and it ends.
The opening block covers four things: confirming the AI crawlers are allowed in robots.txt and not blocked at the CDN or WAF, fixing redirect chains and the dead URLs crawlers keep hitting, checking that the answer sections of key templates arrive in the HTML, and making sure the pages are reachable without a cookie banner intercepting them. The Vercel and MERJ crawler study found 34.82% of ChatGPT crawler fetches and 34.16% of Claude fetches returning 404 in December 2024, against 8.22% for Googlebot, so the dead-URL cleanup is rarely wasted.
Recurring time is small and predictable: publishing new pages inside existing templates, the occasional redirect when a page is consolidated, and a check after any release that changes rendering. A release that moves content behind a client-side fetch can undo a quarter of work silently, which is the one thing worth adding to a deployment checklist.
Where estimates blow out is a replatform. If the honest answer is that the current stack cannot render content on the server without a rebuild, then AEO has not caused that cost and will not pay for it. Treat it as a separate decision, do the content work in the meantime, and see which website platform suits AI search before committing. Our page on what an AEO engagement includes sets out how the technical and content halves usually divide.
With no developer time at all, start with the content work, because on a server-rendered site that is most of the available gain. Rewriting the pages you already have needs nothing but CMS access, and the pages the engines already fetch are where a rewrite pays fastest.
Work out which constraint you are actually under. A site on a mainstream CMS, rendering on the server, needs almost no engineering: robots.txt is usually editable in an admin panel, and headings, answers, tables and sources are all copy. A client-rendered application with no server rendering is the hard case, and there the content work alone will not get you quoted.
Two routes exist when rendering is the blocker and engineering is unavailable. Publish the answer pages as static pages outside the application, on a path the same domain serves, which many teams do for resources and documentation. Or use the platform's own static or prerender feature if it has one. Both avoid a rebuild, and both need somebody technical for an afternoon rather than a sprint.
What not to do is wait for capacity while publishing nothing. The access fixes are worth real effort, but they are a gate rather than the work, and a quarter of queued tickets with no page changes produces no citations. If you want to know which of the two constraints you are under before you argue for budget, a free visibility assessment reports what the engines currently retrieve from your site and which of your pages they quote.
You can run most of an AEO programme without a developer if your site already renders its content on the server and allows the AI crawlers. The work that moves citations is rewriting sections to answer their own heading, adding sourced evidence and tables, and publishing pages for questions nothing on the site answers. All of that is CMS work. What you cannot do without engineering is make a client-rendered page visible to crawlers that do not run JavaScript.
Schema markup is worth keeping accurate and rarely worth a new engineering project for AI visibility. The one controlled study, Ahrefs tracking 1,885 pages that added JSON-LD against about 4,000 controls, found Google AI Mode up 2.4% and ChatGPT up 2.2%, neither distinguishable from zero, and Google AI Overviews down 4.6%. Fix markup that is broken or contradictory, and spend the hours you saved on the page copy instead.
Show them a fetch of the page rather than describing the problem. Request the URL with a plain HTTP client, or with JavaScript disabled, and point at the missing answer text. The supporting evidence is the Vercel and MERJ crawler analysis, which found no client-side JavaScript execution by GPTBot, OAI-SearchBot, ClaudeBot or PerplexityBot, so the fix needed is server-side rendering or prerendering for those routes.
Both models exist, and the difference belongs in the contract. Some agencies implement directly in your CMS and hand developer-level changes to your team as specified tickets. Others only report. Ask which pages they will edit themselves, what they will file as a ticket, and who writes the acceptance test for a technical fix, because a list of recommendations nobody has capacity to apply changes nothing.
Usually only in small amounts. After the opening cleanup, engineering involvement tends to be a redirect when pages are consolidated and a rendering check after releases that change how templates load content. The risk worth planning for is a release that moves answer text behind a client-side fetch, which can quietly undo months of work, so a rendering check belongs on the deployment checklist.
A free visibility assessment runs your buyer questions across ChatGPT, Claude, Perplexity and Google AI Overviews, reports which of your pages the engines retrieve and quote, and says plainly whether the next fix needs a developer or a writer.
Request a free visibility assessment →