You own two sites. Your Webflow blog has 80 posts pulling traffic for terms in your space. Your product site has 12 product pages and a few docs pages that you actually want people to land on. The blog is where the traffic comes in. The product site is where it converts. The link from one to the other is the SEO move you've been meaning to make for six months.
In Webflow today, you have two options. Edit each blog post by hand in the CMS, find the spot where the link belongs, paste it in, save. That's a day of work for 80 posts. Or use Webflow's bulk-update, which lets you change a field across many posts at once but doesn't know which target URL belongs in which post. So you don't save time, you just save clicks.
Scratch takes a different path. Pull your Webflow blog as local files. Hand the AI a list of high-traffic posts from GA4 and a short list of the destination URLs you want links to. The AI reads each post, decides which destination is the best fit for the topic (or skips the post if none of them are), inserts a single well-placed link in the prose, and writes the change back. You review each insert as a word-level diff before anything ships.
The prompt
Two prerequisites before you paste this:
- Export your top 20 to 50 posts from a GA4 acquisition report. You need the page path plus the search terms each page ranks for (or the topic, if your GA4 setup doesn't surface terms cleanly).
- Write down the destination URLs you want links to. One sentence per URL describing what that page is about ("the pricing page", "the integration explainer", "the docs hub", "the comparison page").
The prompt below interviews you for both, calibrates on one post, then works through the rest.
You are inserting outbound links across a folder of Webflow blog
post JSON files. Scratch pulled them from a live Webflow CMS
collection. The edits land on disk; a human reviews each one as a
diff in Scratch before anything ships.
Edit only the rich-text post body field. Do not change any other
field. Do not change SEO meta, slug, publish state, or hero image.
Before you start:
1. Read a handful of posts to understand the catalog. What the
blog covers, the topical range, the tone, typical post length.
2. Interview me for two inputs:
a. The list of high-traffic posts I want you to focus on.
I will paste a CSV (or a list) from GA4 with the page path
and the search terms or topic that page ranks for. You only
edit posts on that list.
b. The destination URLs. I will give you one sentence per URL
describing what the page is about. These are the only URLs
you can link to.
3. Insert one outbound link in the first post on the list. Show
me the diff before continuing. Only proceed once I am happy
with the placement and the anchor text.
For each post on the list:
- Pick at most one destination URL that genuinely fits the post's
topic. Skip the post if none of the destinations fit.
- Place the link inside an existing sentence in the body. Do not
add a new paragraph. Do not append a "related links" section.
Do not edit anything except the sentence the link lands in.
- Use anchor text that reads naturally. Avoid generic anchors
("click here", "this page"). Avoid exact-match anchors that
copy the destination URL's keyword verbatim.
- One link per post, total. Two posts may point at the same
destination; one post pointing at two destinations is not OK.
Skip a post if any of the following are true:
- None of the destinations match the post's topic well enough.
- The post already links to one of the destinations.
- The post is shorter than 300 words or is a changelog entry.
When you finish, print one line: count linked, count skipped
(with reason counts), then "READY · review diff in Scratch".
Edits on disk are the deliverable. Do not dump rewrites to chat.
What the link-insert actually looks like
This is the loop Scratch runs for every task. Here is what each step looks like for an outbound-link pass.
1. Pull
Scratch pulls your Webflow blog collection into a local folder, one .json per post. Page collection and localizations stay where they are; this pass only touches the blog. You see something like scratch/webflow/blog/0001-how-to-sync-airtable-to-webflow.json, with the editable body in the rich-text field and the locked fields (slug, SEO meta, publish state, hero image) sitting beside it. Eighty posts land as eighty files. Nothing on the live site has changed.
2. AI edits
Open Claude Code at your Scratch project root and paste the prompt above. The AI reads a sample of posts, asks you for the GA4 list and the destination URLs, and inserts a link in the first post for sign-off. After you approve the placement on post one, the AI works through the rest, skipping cleanly when no destination fits. Scratch keeps the original alongside the edit so it can diff them later. You did not give the AI an API token; it cannot touch the live site even if it wanted to.
3. Review
Open the Scratch desktop app. Every post the AI edited shows up as a row in the review table, the old body on the left, the new one on the right, the changed words highlighted in line. Skim the diff. Most edits are a single-sentence change with one new anchor. Approve the ones that read naturally and link to the right place. Reject the ones where the AI forced a link or chose a weak anchor. Fix the anchor in place where the wording is close but not quite right.
4. Ship
When you have approved the rows you want live, hit publish in Scratch. Scratch writes the approved post bodies back through the Webflow CMS API, one post at a time. Rejected and unedited posts stay where they were. Roll back any row after publish by rejecting it; the original body goes back.
Why not just edit in Webflow
Manual editing in Webflow falls apart at 50 posts. You lose track of which posts you've already linked, you can't see the anchor-text choices side by side, and any standard you set ("one link per post, no exact-match anchors") only gets enforced in your head. The Scratch path makes the standard a prompt rule, makes the queue visible, and makes the rollback per-post.
When not to use this skill
- You don't have a destination list yet. This skill links to URLs you specify. If you haven't decided which pages on your other site you want traffic landing on, write that down first. The link pass is the cheap part; deciding what to drive to is the work.
- You're trying to game search anchors at scale. Inserting exact-match anchors across 80 posts is a textbook over-optimization pattern and will hurt your rankings, not help them. The prompt tells the AI to avoid exact-match anchors. If you find yourself fighting that rule, you have a strategy problem, not a tooling problem.
- Your blog body lives in a non-rich-text field. Webflow CMS often has a plain-text "summary" and a rich-text "body". This skill edits the rich-text body. Pull one post first and confirm the file shape.
- The posts on your GA4 list aren't actually high-quality landing pages. GA4 top-traffic includes weird outliers: a single Reddit link that spiked one week, an old comparison page that ranks accidentally. Skim the list and remove anything that doesn't pull qualified traffic before pasting it.
The shape is simple: the AI proposes the links, you keep the veto. Eighty posts get the same standard applied, and not one link ships without you reading it.
Related
- Scratch for Webflow covers every other field Scratch can edit on a Webflow site.
- Improve blog FAQs from real Intercom conversations is the next pass once your linking is in place.
- Make the agent define done before it starts pairs well with this prompt on long sessions.