The 20-stage pipeline, step by step
Twenty small stages, from your keyword to a finished, checked article. Watch the video, or scroll through every stage below.
Jump to a chapter
All 20 stages
Before stage 1: what you pick
Where
A site, plus a keyword from your content map (or typed in).
Written by
One of the site's writers. The article carries their name and follows their writing style.
Article pipeline
20 stages (the default) or 8 stages (experimental).
Include images
Untick it to skip every picture job.
Writing model
The AI brain, like Claude Opus 5.5 (default). Claude models run in Claude Code, GPT models in Codex.
How a run starts
- Your Mac's runner picks up the job and opens the AI writer in the background, connected to MTC.
- The AI reads the pipeline's instructions and checks that MTC can save the article.
- It loads your site's settings, its full content map and its list of articles.
- The very first step locks in who is writing: the model, the pipeline and version, the writer and the style.
Research and entity brief ๐
The AI searches Google three times, studies the three best real articles, and writes a cheat sheet of what a winning article needs.
๐ฅ Goes in
- Your keyword
- The article's web address
- Your site and its content map
- Writer, writing style and writing model
โ๏ธ What happens, step by step
- Before anything else, the AI checks that MTC can save the article, reads your site's settings, and loads the whole content map, every page of it.
- It records who is writing: the exact AI model, the pipeline and its version, the writer and the writing style. These are locked for the whole run.
- Rewrites only: if your existing page already sits in Google's top 3 for this keyword, it stops and asks you: "Rewrite anyway" or "Keep the current article".
- It runs 3 fresh Google searches (US, English, desktop, 20 results each) and averages each page's position. A page that showed up only once gets averaged with position 11, so one lucky showing cannot win.
- It walks down that averaged list and keeps the first 3 real articles. It skips your own site, social media, shops, big news sites, dictionaries, .gov and .edu sites, and any page with fewer than 300 words.
- From those 3 pages it measures the word count (your budget becomes 98 to 110 percent of the longest one), how many links they have, how many data tables they have, their headings, and the "People also ask" questions.
- It sends up to 10 top pages to TextRazor, a service that finds the important "things" (entities) Google expects, and how often to mention each one.
- For a "best products" list, it checks every product on Amazon and drops products that forums dislike.
- The AI sorts every source into trusted or not trusted, then writes the research brief: 13 fixed sections, 4 to 6 facts with exact quotes, 2 or 3 first-mention links, every "People also ask" question, and notes on other articles of yours it must not copy.
- The helper script checks the brief: every section once, every quote word for word from a trusted source.
๐ค Comes out
- The research brief (the cheat sheet)
- The word budget
- The article type (guide, list, how-to...)
- A list of important "things" to mention
๐ฆ What it checks, and what stops it
- Stops if the AI's real model is different from the one you picked.
- Stops if the pipeline version changed in the middle of a run (start fresh).
- Pauses for your answer if a rewrite would touch a top-3 page.
- Refuses facts without an exact quote from a trusted source.
- Missing data (a failed search, too few competitors) is written down as a gap, never made up.
๐ Skipped or different when
- New articles skip the top-3 check.
- Pillar pages get no article type and no entity profile.
- App lists never search Amazon.
- Quick Write skips your site's catalog and content map, and uses a fake placeholder address.
๐งฐ Tools it uses
- Google (through SerpAPI)
- TextRazor
- Amazon (product lists only)
- MTC
SEO optimized article write โ๏ธ
Using the cheat sheet and a model article as a pattern, the AI writes a brand-new article from scratch.
๐ฅ Goes in
- The research brief
- The word budget
- A model article of the same type (layout only)
- Writer name and writing style
โ๏ธ What happens, step by step
- It keeps one safety copy of the old article (rewrites only), and keeps only its identity: publish date, author, category, type, tags and the main picture.
- It never reuses the old title, outline, words, FAQ or pictures. The article is brand new.
- A helper prints the model article for this type (guide, how-to, list, comparison, review or product list). The AI copies its layout, never its words.
- It plans the word budget in order: the direct answer, then the "People also ask" questions, then the important facts, then gaps competitors missed, then related searches, then background. It aims for the low end of the budget.
- It writes a Quick Answer box of 40 to 60 words, in 2 sentences at most.
- Every paragraph has at most 2 sentences. It writes to "you", in plain words, at reading grade 6 to 8.
- It weaves in at least 3 facts with the source named in the sentence, links the first mention of 2 or 3 important things, and adds about 8 links to other pages on your site.
- Data tables stay within the table budget. There is one FAQ, at the end, made from real "People also ask" questions.
- It runs a self-check. It fails itself for: Quick Answer repeated in the intro, reused old text, wrong article type, two FAQs, a missing important "thing", or fewer than 3 sourced facts. Then it fixes and checks again.
๐ค Comes out
- The full article file
- A safety copy of the old article (for rewrites)
๐ฆ What it checks, and what stops it
- The helper blocks text copied from the model article (any 12 words in a row, or three 8-word runs).
- The layout must match the model article: right parts, right order, numbered items in order.
- Too many tables, or tables in bad spots, block the article.
๐ Skipped or different when
- Pillar pages keep their own layout but still get a Quick Answer.
- Product lists use only verified products and a short "how we picked" note, never claiming lab tests.
- Images off: no picture placeholders at all.
- A writing style changes the voice only. Facts and rules win.
๐งฐ Tools it uses
- The AI writer only (no new searches)
Internal link fix ๐
The AI adds signposts inside the article that point to related pages on the same website.
๐ฅ Goes in
- The draft
- The content map (every planned page)
- The list of possible link targets
โ๏ธ What happens, step by step
- Family links come first. A big topic page links to all its middle pages. A middle page links up to its big page and down to all its articles. A single article links to its middle page.
- These family links must be in the main text, not only in menus, headings or the FAQ.
- Then it adds useful links until there are about 8 different pages: same middle page first, then the same big topic, then other topics.
- A link to a different big topic needs a written reason, like "helps the reader choose".
- It can link to planned pages that are not published yet. They show as plain text until that page goes live, then turn into real links by themselves.
- It compares with the competitors' link count as a hint, never as a target to stuff.
- Link words: write a useful sentence first, then make a natural 2-to-5-word phrase the link. Never "check out our guide on...".
๐ค Comes out
- The article with about 8 useful links
- A link list saved in the article's settings
๐ฆ What it checks, and what stops it
- Blocks: missing family links, links not recorded in the settings, links to the wrong map pages, a page linking to itself.
- Warns only: fewer than 8 links.
๐ Skipped or different when
- Quick Write with no domain: this stage is skipped.
- Quick Write with "Link to pages on": it finds real pages on that domain from its sitemap, about 8 links, full https addresses, and opens every link to make sure it works.
๐งฐ Tools it uses
- The AI writer
- A helper script that checks the links
Humanization rewrite ๐ฃ๏ธ
The AI rereads its article like a friendly expert talking to you, and smooths out sentences that sound stiff or robotic.
๐ฅ Goes in
- The linked article
- The research brief
โ๏ธ What happens, step by step
- It hunts for dry definitions, textbook or corporate wording, unexplained jargon, piles of facts, repeated sentence patterns, big claims and filler.
- It improves only the weak passages, with plain explanations and real examples from the research. Good writing is left alone.
- It connects each fact to why it matters, adds a short bridge between ideas, and ends each section on a takeaway or next step.
- It reads each section as one smooth conversation, checking how each paragraph hands off to the next.
- It compares with the research: every fact, number, date, ranking and source must still be there. Anything lost is put back, anything made up is removed.
- Headings, order, tables, lists, FAQ, pictures and link targets stay exactly the same.
๐ค Comes out
- The same article, sounding more human
- A short note of what changed
๐ฆ What it checks, and what stops it
- No helper script. The AI checks its own changes against the brief.
๐ Skipped or different when
- With a writing style, the edits follow the style's voice.
๐งฐ Tools it uses
- The AI writer only
QA check ๐
A strict teacher grades the draft with a long checklist and a ruler, then the AI fixes what failed.
๐ฅ Goes in
- The article
- The research brief
- The page as a reader sees it (local preview)
โ๏ธ What happens, step by step
- It starts your website on your own Mac (a local preview), so it measures the page exactly as a reader would see it, including the Quick Answer and FAQ.
- The AI fills a strict checklist with 19 areas, from A to S: length, keyword placement, important things, search intent, article type, the 40-to-60-word answer, depth, structure, intro, ending, links, tables, FAQ, pictures, skimmability, over-stuffing, page data and trust.
- Automatic fails include: length outside the budget, two FAQs or an FAQ not at the end, the Quick Answer repeated in the intro, the wrong article type, fewer than 3 sourced facts, any number without a source, or a made-up web address.
- The script measures reading ease (goal: grade 6 to 8) and flags any paragraph with more than 2 sentences.
- It also flags stock phrases like "moreover", "it's worth noting", "game changer" and "delve".
- Fixes happen in order: length first, then reading ease. Up to 6 trims (each must cut at least 40 words), up to 3 grows, up to 2 reading-ease fixes.
- It never pretends everything passed. Leftover problems are written down honestly.
๐ค Comes out
- A fixed article
- Lists of long paragraphs and hard sentences
- A full audit in the notes
๐ฆ What it checks, and what stops it
- Blocks: any paragraph over 2 sentences, too many tables or badly placed tables, layout not matching the model article.
- Guides the fixes (does not block alone): word count, reading grade, link count hint.
๐ Skipped or different when
- Pillar pages still get the length and reading checks.
- Lists, tables, quotes and product cards don't count toward the 2-sentence rule.
- Quick Write has no website to preview, so it measures the file instead.
๐งฐ Tools it uses
- Your site running on your Mac (local preview)
- Measuring scripts
AI SEO optimization ๐ฏ
The AI makes sure every section starts by plainly answering its question, so Google and AI helpers can quote it.
๐ฅ Goes in
- The checked article
- The research brief
โ๏ธ What happens, step by step
- It reads the start of each major section. If it already answers clearly, it is left alone.
- If not, it rewrites that opening to answer directly, without stock openers like "In simple terms" or repeating the heading.
- It makes fuzzy words clear (who "it" is), and explains what something does and its limits.
- It adds an answer for a reader question only if it is relevant, still unanswered, backed by the research, and fits the word budget.
- Sentences with a source are frozen: source name, claim and link stay together exactly.
- No new statistics from general knowledge. Length stays about the same. No paragraph over 2 sentences.
๐ค Comes out
- Clearer section openings
- Notes on anything still unanswered
๐ฆ What it checks, and what stops it
- No helper script. The AI compares changed passages with the brief.
๐ Skipped or different when
- Product cards and comparison tables keep their exact places.
๐งฐ Tools it uses
- The AI writer only
Entity audit and frontmatter ๐งฉ
A counting machine checks that the article mentions the important "things" the top articles mention, about as often as they do.
๐ฅ Goes in
- The article (as a reader sees it)
- The entity targets from research
โ๏ธ What happens, step by step
- A script sends the page, as a reader sees it, to TextRazor, which lists every important "thing" (person, place, brand, idea) and counts it.
- It compares with the competitors and gives one verdict: too few different things, missing things, too few mentions, overused, too many, or OK.
- The AI fixes in this order: missing things, then underused ones, then variety. No stuffing.
- Each fix is tiny: at most one new or changed sentence per missing thing, at most 2 percent more words, headings untouched, sourced sentences untouched.
- It writes a label list into the article's settings: exactly 1 main thing and 3 to 6 others, each with a Wikipedia (or Wikidata) link so Google knows exactly what it is.
- Then it rechecks length and reading ease. Up to 2 entity fixes.
๐ค Comes out
- Small fixes for missing "things"
- A list of 1 main and 3 to 6 other things, with Wikipedia links, in the settings
๐ฆ What it checks, and what stops it
- The entity verdict guides fixes but does not block saving.
- Still blocks: any paragraph over 2 sentences.
๐ Skipped or different when
- Pillar pages skip the entity count.
๐งฐ Tools it uses
- TextRazor
- Local preview
Last updated date ๐
A script stamps the article with the day it was written, as its "last updated" date.
๐ฅ Goes in
- The article
- The run's frozen date
โ๏ธ What happens, step by step
- The date was frozen when the run started, so a run that crosses midnight keeps one date.
- The script sets "last updated" to that date.
- It fills in the publish date only if it was empty, so a rewrite keeps its original publish date.
- Note: when the article first goes live, publishing sets both dates to the go-live day.
๐ค Comes out
- The "last updated" date
- A publish date, only if it was empty
๐ฆ What it checks, and what stops it
- Nothing to fail, as long as the article file exists.
๐งฐ Tools it uses
- A helper script only
Image prompts ๐
The AI plans the pictures: how many, what each one shows, and a description for people who cannot see it.
๐ฅ Goes in
- The article
- The picture rules from the script
โ๏ธ What happens, step by step
- The script works out how many pictures are needed: 1 hero (unless a working one exists) and about 1 body picture for every 350 words (for example, 2,000 words means 5 body pictures).
- The AI reviews every section and finds long stretches of plain text that a picture would break up, away from tables and lists.
- For each picture it writes a realistic photo description (lighting, textures, camera angle), a short subject of 3 to 6 words, and alt text for people who cannot see it.
- The script turns the plan into a manifest: the hero is 1200 x 630, body pictures are 800 x 500, all saved as WebP files.
๐ค Comes out
- A picture plan (manifest) with sizes, file names and descriptions
๐ฆ What it checks, and what stops it
- Must have the right number of pictures (at least the required count).
- A file name that already exists is refused.
๐ Skipped or different when
- Images off: skipped.
- Product lists plan only the hero. Product photos come from Amazon.
- An existing working hero is kept.
๐งฐ Tools it uses
- The AI writer
- A helper script that sets sizes and file names
Image formatting ๐ผ๏ธ
A script writes the cover picture's file name and description into the article's settings.
๐ฅ Goes in
- The picture plan
โ๏ธ What happens, step by step
- The script checks the picture plan: unique file names, sizes between 1 and 4096 pixels, and only one hero.
- It copies the hero picture's path and alt text into the article's settings box.
- The article text itself is not touched here.
๐ค Comes out
- The hero picture path and its alt text, in the settings
๐ฆ What it checks, and what stops it
- Blocks two heroes, duplicate names or impossible sizes.
๐ Skipped or different when
- Images off: skipped.
๐งฐ Tools it uses
- A helper script only
Image placement ๐
The AI decides exactly where each picture goes, like hanging pictures evenly along a long hallway.
๐ฅ Goes in
- The article
- The planned body pictures
- The allowed spots from the script
โ๏ธ What happens, step by step
- The script lists every safe spot: a picture must sit between two normal paragraphs, never next to a heading, list, table or another picture, and never after a line ending in a colon or a short question.
- It prefers spots about 100 words or more away from any table, and suggests the spot nearest the middle of each long stretch of text.
- The AI picks a spot for each picture, aiming for about 330 to 350 words between pictures, but balance and meaning come first.
- The script checks the whole plan before changing anything, then inserts all pictures at once.
- It warns if a picture sits at the very start or end of a text stretch when a better middle spot exists.
๐ค Comes out
- The article with picture links in place
- Warnings for any lopsided spots
๐ฆ What it checks, and what stops it
- Blocks a picture that is not between two paragraphs, or a spot used twice.
๐ Skipped or different when
- Images off: skipped.
- Product lists: skipped (hero and product photos only).
๐งฐ Tools it uses
- The AI writer
- A helper script that places them
Table of contents ๐งญ
A script builds the clickable "contents" list at the top from the article's headings.
๐ฅ Goes in
- The article's headings
โ๏ธ What happens, step by step
- The script reads the headings with your site's own Markdown reader, so every jump link matches the real page.
- It lists each main section, then the FAQ, then the final thoughts.
- Newer sites also get sub-sections when the model article has them, and a read time at 238 words a minute (for example "6 min read").
- Headings inside product cards are never listed.
- The AI later clicks the links on the real page to make sure they jump to the right place.
๐ค Comes out
- The table of contents
- The read time (newer sites)
๐ฆ What it checks, and what stops it
- Nothing to fail here. The final stage checks the links work.
๐ Skipped or different when
- Pillar pages skip it (their template builds its own).
- Skipped if the site turns the table of contents off.
๐งฐ Tools it uses
- Your site's own heading reader (Node)
SEO title, H1 and meta description ๐ชง
The AI writes the shop sign (the title in Google), the big headline on the page, and the short "why click" sentence under the Google result.
๐ฅ Goes in
- Competitor titles from research
- Notes on your other articles
โ๏ธ What happens, step by step
- Google title: 53 to 59 characters, the exact keyword in the first 1 to 3 words, then a hook. Usually one short bracket part, like "(And When Not To)".
- Banned boring shapes: "X Guide", "X Tips", "Learn X", "Everything About X", "Complete Guide to X".
- Page headline (H1): 50 to 70 characters, more natural than the Google title, keyword near the start. Must differ from the Google title.
- Google description: 140 to 160 characters, answering "why should I click?", without repeating the title.
- Never copy or closely mirror another article title on your site.
- Rule of thumb: never trade clarity for curiosity, or truth for clicks.
๐ค Comes out
- Google title
- Page headline (H1)
- Google description
๐ฆ What it checks, and what stops it
- Blocks lengths outside the ranges, or a Google title that equals the headline.
๐ Skipped or different when
- Pillar pages keep their short menu name as the title, and put the 140-to-160 text in their description.
๐งฐ Tools it uses
- The AI writer
- A helper script that counts letters
Image prompt export ๐ค
A script prints the picture shot list into a file next to the article, after the AI rechecks the picture count.
๐ฅ Goes in
- The picture plan
โ๏ธ What happens, step by step
- The AI rechecks the number of pictures against the current article, in case it grew, and confirms every planned picture is in the plan.
- The script writes a text file listing each picture: its description, its size and its file name.
- This file is a working copy only. It is never saved with the article.
๐ค Comes out
- A text file with every picture's description, size and file name
๐ฆ What it checks, and what stops it
- Nothing blocks here.
๐ Skipped or different when
- Images off: skipped.
๐งฐ Tools it uses
- A helper script only
Dash punctuation rewrite โ
The AI replaces every extra-long dash with a comma, a period or a better sentence.
๐ฅ Goes in
- The article
โ๏ธ What happens, step by step
- It finds every extra-long dash (the em dash) in the written text.
- It replaces each one with a comma, a period, or a sentence rewritten to read naturally.
- Normal hyphens, web addresses, code and page structure stay as they are.
- In a sentence with a source, the source name, link and claim stay together.
- Nothing else changes.
๐ค Comes out
- The article with no extra-long dashes
๐ฆ What it checks, and what stops it
- No helper script. The final stage still looks at the whole article.
๐งฐ Tools it uses
- The AI writer only
Duplicate FAQ merge โ
If the article has two FAQ sections, the AI merges them into one, so readers never see the same question twice.
๐ฅ Goes in
- The FAQ in the settings box
- Any FAQ section in the text
โ๏ธ What happens, step by step
- FAQs can live in two places: the settings box (shown as click-to-open answers) or a heading in the text.
- If both exist, it keeps the settings box version, moves any extra questions into it, and deletes the text section.
- It removes repeated questions, keeping the most complete answer, and prefers answers that name their source.
- Source links inside answers stay clickable.
๐ค Comes out
- One FAQ, with no repeated questions
๐ฆ What it checks, and what stops it
- No helper script. The final stage checks citations in the FAQ too.
๐ Skipped or different when
- Some pillar pages keep their single FAQ in the text instead, and only remove repeats.
๐งฐ Tools it uses
- The AI writer only
Regenerate TOC ๐
After the cleanup, a script rebuilds the contents list so it matches the final headings.
๐ฅ Goes in
- The final headings and FAQ
โ๏ธ What happens, step by step
- Headings or the FAQ may have changed since stage 12, so the script builds the contents list again.
- The FAQ always comes before the final thoughts.
- The AI clicks the links on the real page to confirm they work.
๐ค Comes out
- A fresh table of contents and read time
๐ฆ What it checks, and what stops it
- Nothing to fail here.
๐ Skipped or different when
- Same skips as stage 12: pillar pages, or sites with the contents list turned off.
๐งฐ Tools it uses
- Your site's own heading reader (Node)
Inbound internal links ๐ค
The AI asks a few older articles on the site to add a signpost pointing to the new article, then measures the new article one more time.
๐ฅ Goes in
- The new article
- Older articles on your site
- The content map
โ๏ธ What happens, step by step
- It looks at up to 10 related older articles, preferring the same big topic.
- It picks the 3 to 5 best (at most 5), and skips any that already link to the new article.
- Before editing, it checks each file has not changed (a fingerprint check).
- It adds exactly one natural link to each, changing only that sentence. Headings, tables, product cards and Quick Answer boxes are never touched.
- It records each new link in that older article's settings, and keeps a list of changed files for saving.
- Then it measures the new article one more time: words, reading ease and important things, with one extra entity fix allowed after trimming.
๐ค Comes out
- Up to 5 older articles with one new link each
- Final measurements of the new article
๐ฆ What it checks, and what stops it
- Blocks only on the new article's checks (like paragraphs over 2 sentences). A changed older file is not edited blindly.
๐ Skipped or different when
- Quick Write skips the neighbor edits (there is no site), but still does the final measurements.
๐งฐ Tools it uses
- The AI writer
- TextRazor (final measurements)
Image generation ๐จ
An AI picture maker paints the planned pictures, and a script trims them to the right size.
๐ฅ Goes in
- The picture plan
- Your fal.ai key
โ๏ธ What happens, step by step
- The script sends each planned picture to fal.ai, an AI picture service, one at a time.
- It saves each request's ID first, so if the run stops, it never pays for the same picture twice.
- It checks every 2 seconds, for up to 5 minutes. A slow picture waits for the next resume.
- It crops each picture to the exact size and saves it as a small WebP file (quality 82).
- Pictures that already exist are reused, and kept pictures are never redrawn.
- It flags near-identical pictures, and the AI reviews every picture for accuracy, cropping and placement.
๐ค Comes out
- Finished WebP pictures in the site's images folder
๐ฆ What it checks, and what stops it
- Needs a fal.ai key. Failed pictures show up as missing in the final check.
๐ Skipped or different when
- Images off: skipped, and no fal.ai key is needed.
- Pillar pages save their pictures in a category folder.
๐งฐ Tools it uses
- fal.ai image generation (paid per picture)
Final validation โ
The final inspection: the AI builds the real website, looks at the page on a computer and a phone screen, and a script checks every link, picture and setting.
๐ฅ Goes in
- The finished article
- Every changed file (neighbors, pictures)
- A fresh build of your site
โ๏ธ What happens, step by step
- The AI builds your real website on your Mac and checks every link in the built pages. A failed build fails the article.
- It looks at the page at computer and phone sizes: contents links jump correctly, the FAQ appears once, pictures sit well, waiting links show as plain text.
- It compares with the starting point: for a rewrite, the title, outline, words and pictures must be fresh.
- The script repeats the earlier checks, then checks every outside link (6 at a time), every local file and picture, Amazon product codes and partner tags, and that nothing changed while checking.
- It gives one of 4 grades: validated (all good), validated with warnings (small issues), unverified (something could not be checked) or blocked (a required check failed).
- It fixes required failures directly, up to 2 times, rechecking each time.
๐ค Comes out
- A final grade (readiness)
- Fingerprints of every file to save
๐ฆ What it checks, and what stops it
- Only "validated" and "validated with warnings" can be saved.
๐ Skipped or different when
- Images off: no picture checks, but it confirms no broken picture or empty frame shows.
- Quick Write: no build or previews; it continues on validated, warnings, or unverified only because of slow outside links.
๐งฐ Tools it uses
- Your site's real build
- Link checks over the internet
- Amazon (product links)
- TextRazor
After stage 20: the grade, the save, publishing
The final grade
Validated
Everything passed.
can be savedValidated with warnings
Small issues, written down.
can be savedUnverified
Something could not be checked, like a site that refused the link check.
cannot be savedBlocked
A required check failed.
cannot be saved๐พ Saving
- The AI records the results in a private notes file.
- A helper packs the finished files into one bundle and refuses if anything changed since the final check.
- MTC saves the bundle to a "ready" folder on your site's GitHub. The AI never pushes code itself.
- The AI waits until MTC confirms "saved", then checks the article shows as ready.
๐ Publishing (always separate)
- Writing never publishes. You click Publish article (or a schedule does it).
- GitHub builds the site and Cloudflare puts it live. Waiting links to this article switch on in the same release.
- The first time it goes live, both dates are set to the go-live day.