DeepSmith

Sep 26 · Content Operations

17 min read

How to Orchestrate an Agentic Content Pipeline for Ecommerce Catalog Pages at Scale

Avinash Saurabh
Avinash Saurabh · CO-Founder & CEO
A monochrome illustration of a column of small catalog items on the left feeding through three connected nodes into stacks of finished page cards on the right, with a thin line looping back underneath to the start, beneath the cover line "Catalog Pages, On Repeat".

You have thousands of product pages and a category tree that keeps growing. Your feed changes daily. And somewhere in an AI shopping answer, a competitor is being named instead of you.

That is a hard place to be. It is also a solvable one.

This guide is for the ecommerce marketing lead who is past "what is an agent" and into "how do I actually run these." By the end you will have a seven-step plan for an ecommerce content automation pipeline that produces and updates product and category pages, keeps them honest to the live catalog, and structures them so AI engines can quote them.

One promise up front. None of this guarantees you get cited. What it does is make you eligible, and then tell you where you stand. That is the honest version, and it is still worth every hour you put into it.

Let's build it.

Step 1: Lock your catalog accuracy contract first

Before a single agent writes a word, write down what "correct" means.

Start with your sources of truth. The product feed, the price feed, the inventory feed, the review data. Name them, name their owners, and name how fresh each one is.

Then write the rules every page must satisfy. Google's product data rules are the floor here, and they are not suggestions:

  • Price must match the landing page, the structured data, and the checkout. The currency has to be the currency of the target country, in a place a shopper can find without hunting.
  • Availability must match the landing page, the checkout pages, and the structured data. Valid values are in_stock, out_of_stock, preorder, and backorder.
  • Out of stock still shows a price. If the item is gone, the price stays visible on the page.
  • A future availability date can run up to one year out, and it has to appear on the landing page in the shopper's language.
  • IDs stay stable. Prefer the SKU, and keep it the same across updates, countries, and languages.
  • Identifiers must be valid. A GTIN needs a correctly calculated checksum digit, not a plausible-looking number.

The landing page has its own contract. It has to show the title, description, image, price, currency, availability, and a working buy button. Every product in your feed needs its own product detail page, not a category or search page. And the product on the page has to be essentially identical to the product in the feed, for every device, browser, location, and user agent, bots included.

How you know it is done: every produced page carries a machine-readable audit log showing the live feed values at publish time, and again after publish. Any gap triggers a rewrite.

Where people go wrong: treating accuracy as a publishing-time check. Drift starts the moment the feed changes after the page shipped. Feed updates can also take several hours to propagate, so "we updated it" is not the same as "the world sees it."

If this list feels heavy, that's normal. You only have to write it once, and every agent downstream inherits it.

Step 2: Name the eight roles before you name any tools

Here's the part most teams skip, and it costs them later. Draw the roles first. Pick software second.

A catalog pipeline needs eight jobs done. Not eight products, eight jobs:

  1. Feed watcher. Polls the product feed on a cadence that matches how fast your catalog moves, then emits a per-SKU change list.
  2. Inventory mapper. Holds the category tree and per-SKU placement. Surfaces empty categories, dead variants, and pages that should be noindexed or returned as 404.
  3. Page classifier. Assigns every unit of work to a write-job based on page type, lifecycle stage, and persona.
  4. Research agents. A parallel set pulling supplier facts, third-party reviews, regulatory notes, and comparative specs. Each runs on its own and feeds the writer.
  5. Writer. Generates the page body from your brand context plus the research bundle, with citation-ready structure built in.
  6. Optimizer. Adds the scaffolding: heading hierarchy, internal links, external links, schema placement, metadata.
  7. QA checker. Compares the finished page back against the live feed and routes mismatches back with a specific diff.
  8. Publisher and distributor. Ships to the CMS, writes the publish log, and renders the channel versions.

Now the question that decides your architecture: which of these should be a workflow, and which should be an agent?

The distinction is real and worth learning. Workflows are predefined code paths orchestrated through a language model. Agents are systems where the model directs its own process and tool use, keeping control over how it gets the job done. The guidance from the people who build these is consistent: start with the simplest thing that works, and add complexity only when the simple version fails.

Most catalog work is workflow-shaped. Feed watcher, then classifier, then parallel research, then writer, then optimizer, then QA, then publisher. The path is predictable per page type. Every step gets a log, a quota, and a kill switch.

The agentic shape earns its place in two spots only: deciding which coverage gaps to attack, and packaging open-ended pillar and buying-guide pieces where the number of steps genuinely cannot be predicted. Treat that as a wrapper around the workflow, never a replacement for it.

Five composable patterns cover almost everything you need. Prompt chaining for steps with clear gates. Routing for page types that need different treatment. Parallelization for independent subtasks like descriptions, FAQs, and comparison tables. Orchestrator-workers when one model has to break a job down and delegate. Evaluator-optimizer for any loop where one call generates and another judges.

How you know it is done: every role has a written input contract, an output contract, a downstream dependency, and a kill switch.

Where people go wrong: staffing every role with an autonomous agent, then wondering who is logging whom. You burn money, latency, and auditability on pages that wanted a workflow.

Step 3: Route every page unit before anyone writes a word

Routing is the step that keeps you out of trouble at volume. It decides what each page is, what treatment it gets, and whether it should exist at all. Done well, it is what turns a sprawling tree into clean product pages and citable category pages instead of thousands of near-identical URLs.

Classify every unit into one of five buckets: product, variant, category, subcategory, pillar. Then attach the rules.

Variants get their own URLs. Either a path segment like /t-shirt/green or a query parameter like /t-shirt?color=green. When the variant uses an optional query parameter, leave that parameter off the canonical URL, and put the canonical product URL on every variant page. Pre-select the right variant in the URL you link to.

Categories that empty out get handled, not ignored. An empty category page carries a noindex robots meta tag. If you pull it from on-site browse and search entirely, return a 404 for the URL. Leaving thin, empty category pages indexed is how a catalog quietly loses trust.

URLs use words, not numbers. A path like /product/black-t-shirt-with-a-white-collar beats /product/3243. Filters and pagination belong in ?key=value parameters, every paginated page needs a unique URL, and internal links should never carry session IDs, tracking codes, or anything time-relative.

This is also where you decide how many pages a topic actually deserves. Route by funnel stage so awareness, consideration, and decision each get a deliberate share, rather than piling everything into one tier. DeepSmith's Content Map does this measurement for you: it crawls your site and your competitors' sites onto one shared topic taxonomy, tags each page with a funnel stage, and reports coverage gaps and untapped topics as numbers instead of hunches. Sitemaps re-check every 24 hours, so new pages fold in on their own.

How you know it is done: every incoming page unit carries a routing decision, a workflow path, and a publication status before any copy exists.

Where people go wrong: treating variants as a separate pipeline. You invite drift and broken canonicals, and your QA agent becomes permanently noisy.

Common mistake: doorway drift. Producing many pages that are largely identical except for a swapped attribute is not "SEO at scale." It is a named category of spam. Use routing to catch near-duplicate output and consolidate, so every route stays genuinely distinct.

Step 4: Build the QA loop before you build the writer

This one feels backwards, and it is the single highest-leverage decision in the whole build.

Stand up the evaluator-optimizer loop first. The QA agent pulls the live feed, parses the produced page, and emits a structured diff. You pick a threshold, and anything past it routes back to the writer with the exact mismatch attached.

Why first? Because a writer without a judge is just a faster way to publish wrong prices. You cannot scale product descriptions AI agents draft if the price on the page disagrees with the price at checkout two weeks later. The loop is what turns a one-time batch into a system.

The product page content AI agents produce also goes stale faster than blog copy, because the facts underneath it move on their own. A price changes. A size sells out. Nobody edits the page, and it is wrong anyway.

Give the QA agent a canonical-to-feed mapping it can reuse, so every page knows which SKU it answers to. Then run it on a small pilot before you scale anything.

How you know it is done: a 50-page pilot runs the full QA loop and reports its diffs without a human reading each page.

Where people go wrong: building the writer first and the QA second. Your writer's mistakes become brand damage and feed compliance incidents before anyone notices the pattern.

Step 5: Open the door to the crawlers you actually want

Catalog pages AI search crawlers cannot reach earn nothing, no matter how good the writing is. This step takes an afternoon and gets skipped constantly.

OpenAI runs two separate controls in robots.txt, and they do different things. OAI-SearchBot is what surfaces your site in ChatGPT search features. GPTBot indicates your content may be used to train foundation models. They are independent, so you can allow one and block the other. If you disallow OAI-SearchBot, your site will not show up in ChatGPT search answers, though it can still appear as a navigational link. There is a third name to know: ChatGPT-User is a user-triggered fetch, and robots.txt may not apply to it the same way.

Then get your canonicals in agreement. Use the same URL in your internal links, your sitemap files, and your <link rel="canonical"> tag. Every indexable page should ship a self-referencing canonical and appear in a sitemap. Navigate with real HTML <a href> links, because JavaScript navigation is not reliably handled. Keep redirects to a minimum.

Product structured data belongs in the initial HTML, where price, availability, GTIN, brand, and MPN can all be identified without waiting on a script.

How you know it is done: a new URL's canonical agrees in all three places, and a fetch as OAI-SearchBot returns the page.

Where people go wrong: treating robots.txt as a one-time config. Changes take roughly 24 hours to propagate, so make the change, wait, then verify with a refetch.

Step 6: Compose a writer that produces catalog pages AI search can quote

Now the writer. Your goal is not prose that reads well to you. It is catalog pages AI search systems can parse into clean, liftable pieces.

Build these requirements into the writer's spec, not into a review checklist someone runs later:

  • A descriptive page title, and an H1 that matches it. That pairing is what tells an engine the page's purpose and scope.
  • A crisp one or two sentence answer near the top of every section. Direct question and answer pairs get lifted into AI responses close to verbatim.
  • Strong H2 and H3 headings. For an engine, they work like chapter titles marking where one idea ends and the next begins.
  • Lists, numbered steps, and comparison tables as the default layout. They break detail into reusable segments.
  • Self-contained sentences. Every sentence should still make sense pulled out of context. Cut vague words like "innovative" or "eco" and anchor claims in measurable facts.
  • Schema that labels what the page is, shipped in the initial HTML.

There is an equal list of things the writer must not do. No walls of text, which blur ideas together. No hiding key answers in tabs or accordions, where they get skipped. No parking core information in a PDF, which has no heading structure. No putting the important facts only inside an image.

The boundary matters as much as the technique. Using generative tools to produce many pages without adding value is named directly as scaled content abuse. So is stitching content from other pages together, and so is copying merchant descriptions verbatim. Your pipeline has to add something real per page: original analysis, first-hand specifics, a genuine comparison. Reserve an author, the sources used, and a review trail on every page so the expertise signals are actually there.

This is where stored brand context does more work than any prompt. DeepSmith grounds every draft in Deep IQ, the layer holding your company positioning, product profiles, buyer personas, brand voice, and content-type templates as structured records. The Writer in Content Studio then runs research, drafting, heading structure, internal and external linking, schema placement, metadata, and a cover image in one pass, so the output arrives publish-ready rather than as a draft to rescue. That is how you scale product descriptions AI produces without re-briefing the system for every SKU.

The DeepSmith writing run opens on an input panel listing the product, persona, voice, visual guideline, content type, word range and internal and external link targets it was handed, with the finished article and its word, section and link counts recorded underneath, shown here with demo data from a sample workspace.

Pro tip: disclosure is a step, not a style choice. AI-generated product data attributes such as title and description should be specified separately and labeled as AI-generated. AI-generated images should carry IPTC DigitalSourceType metadata set to TrainedAlgorithmicMedia. Build both into the publisher so nobody has to remember.

How you know it is done: a sample page passes a citation-readiness review without edits.

Where people go wrong: a heading forest that does not mirror how anyone asks. Buyers search in questions. Your headings should answer them.

Step 7: Put it on a schedule and let the numbers pick the next batch

A pipeline that runs when someone remembers is not a pipeline. It is a project.

Set the schedule at planning time. Give each planned page a date, let the writer run on that date, review the output when you have a moment, and publish. DeepSmith's Autowrite does exactly this, running the full production flow hands-off on the scheduled date and landing finished pieces in Produced Content, ready to push to WordPress, Webflow, Strapi, Sanity, or Contentful, or out through your own webhooks. Distribution comes along with it, since every finished piece arrives with channel versions already written.

Then measure, because the measurement is what picks your next batch. Track mention rate, citation rate, and share of voice per engine. Watch which of your pages actually earn citations and which prompts drive them. Watch which competitor pages are winning the buyer questions you care about. When a tracked prompt's rate slips, that page goes on the refresh list. When a coverage gap opens in the map, the next batch of citable category pages closes it.

This is what makes the product page content AI agents produce feel like a system instead of a gamble. The queue is not a brainstorm. It is a list of specific gaps with the evidence attached.

How you know it is done: the calendar is the source of truth for what gets written, the visibility dashboard is the source of truth for what gets revised, and feed changes reach live pages inside the cadence your feed supports.

Where people go wrong: two things, and they travel together. Letting scheduled runs slip into "next week," and calling a date change a refresh. Republishing with a new date and the same words is not an update. Refresh on substance: a corrected price, a new availability date, an added comparison row.

A pipeline diagram running feed watcher, inventory mapper, router and a parallel stack of research agents into writer, optimizer, QA checker and publisher, with the QA checker looping back to the writer on a mismatch and the publisher looping back to the feed watcher on a feed change.

What to do next

Ecommerce content automation is not one big build. You do not have to stand up all eight roles this month. Pick the one that hurts most.

If your prices drift, build Step 4 first. If your category tree is a mess, start at Step 3. If nothing you publish gets quoted anywhere, Step 6 is your week.

Then widen it. Roll the same pipeline into a second category, add an engine tier when you are ready to watch more of them, and wire in the next feed once the first one is boring.

You are closer than this list makes it look. Most teams already have the feed, the CMS, and the catalog. What is missing is the contract, the loop, and the schedule.

Want to see the production and measurement halves running against your own site before you commit to anything? Start a free DeepSmith trial and work with real data and real drafts for seven days.

Frequently asked questions

How many agents does this pipeline actually need?

Eight named roles: feed watcher, inventory mapper, router, a parallel set of research agents, writer, optimizer, QA checker, and publisher-distributor. Most of them are simple chain links. Only the QA checker needs a real loop. If you cannot list all eight on one page with an owner beside each, the pipeline is not designed yet.

How do I keep thousands of pages accurate to a feed that keeps changing?

Compare every page to the live feed on a cadence that matches how volatile the feed is, whether that is per change event, hourly, or daily. The QA agent emits a structured diff and routes mismatches back to the writer with the specific mismatch attached. That loop, plus a canonical-to-feed mapping every page can reuse, is the whole difference between a batch and a system.

Will this guarantee my products get cited in AI answers?

No, and be careful with anyone who says otherwise. The platforms state plainly that no strategy guarantees selection. What this pipeline does is make you eligible: parsable structure, crisp answers, an honest catalog, and crawler access. Tracking then shows you which prompts and pages are winning, so the next batch goes at the next-best gap.

Where does the actual feed connection work live?

That is its own topic, and it deserves its own guide. This one assumes your feed is already reachable through a documented connector and that your freshness expectations are written down. Building that connector is a separate build.