Monday morning. I open Gemini AI Studio, paste in a CSV export of our GSC data from the last 90 days, and ask: “Which of these keywords sitting at positions 5 to 15 are the best candidates to push into the top 3 with a single strong post?” Three minutes later I have a prioritized list. Then I open Claude.ai free, feed it the top candidate, and have a full post outline in another five minutes. By the time I pour my second coffee, we have a content brief ready for the writer – or for a local model running on my laptop.

That is the whole loop. Thirty minutes, start to finish, for an agency running 13 sites. Total AI spend: $20 a month, mostly on Gemini Advanced.

I want to walk you through the exact workflow we use at Wbcom Designs for content operations across our own properties. This is not a theoretical overview of AI tools – it is the specific sequence of steps, prompts, and free tools that our marketing team uses every week. If you run a WordPress agency and you are spending more than $100 a month on content AI tools, or if you are not using AI at all yet, this is the post you need.

Why Agency Marketers Need a Different AI Playbook

Most AI content guides are written for solo bloggers or SaaS companies. They assume you are writing for one site, chasing one keyword cluster, and that you have a budget for premium tools across the board.

Agency marketers face a different set of constraints:

  • You are managing content across multiple client sites and your own agency site simultaneously
  • Each site has a different audience, voice, and keyword territory
  • Your content budget per site is thin because you are spread across many projects
  • You need repeatable systems, not one-off creative sessions
  • You are also responsible for social distribution, not just publishing

The free and near-free AI stack I describe below was built specifically for this kind of operation. Every tool I mention either has a free tier that is actually useful, or costs so little that it does not break per-site budgets.

The $20/Mo Stack: What We Use and Why

Before getting into the workflow steps, here is the tool inventory:

ToolRoleCost
Gemini AI StudioGSC analysis, research, site audit ingestionFree (API quota) or $20/mo Gemini Advanced
Claude.ai freePost outlining, structure, H2 planningFree
DeepSeek (local via Ollama)First-draft generationFree (runs on your machine)
Qwen2.5 (local via Ollama)Alternate draft model, better for technical postsFree
RankMath AI / Yoast AISEO scoring, meta generationIncluded in existing plugin license
Groq API (free tier)Social caption generation at speedFree
Google AI Studio (Gemini 2.5 Pro)2M context window for full site auditsFree via AI Studio

The only paid item is Gemini Advanced at $20/mo, and you can run the same workflow on the free AI Studio tier if you are patient with rate limits. Everything else is free. If you have been running Ollama with Continue.dev for code completion, you already have the local model infrastructure in place – this workflow just extends it to content production.

Step 1: Research With Gemini 2.5 Pro – GSC Data Into Opportunities

The first step every Monday is the research pass. I export three things from Google Search Console:

  • Performance data filtered to the last 90 days (queries tab, all positions)
  • The pages report sorted by impressions
  • Any crawl coverage issues from the last week

I paste all three CSVs directly into Gemini AI Studio with the 2M context window. Then I run this prompt:

You are a content strategist for a WordPress agency. Below are three GSC data exports for our site. Identify the top 10 keyword opportunities where we rank at positions 5-15 with more than 50 impressions in 90 days. For each, suggest whether we need a new post, a content expansion on an existing page, or an internal linking fix. Prioritize by estimated traffic gain if we hit position 1-3.

Gemini returns a prioritized list with reasoning. Because the 2M context window can hold an entire site’s content in memory, you can also paste in your top-performing posts and ask it to find content gaps between what you rank for and what competitors are ranking for on the same topics.

This entire research step takes about 8-10 minutes. When I ran it for vapvarun last month, the output flagged three keyword clusters that had zero content targeting them but showed consistent impressions growth: AI tools for WordPress developers, BuddyPress alternatives, and agency workflow automation. That is where our next three posts went.

Gemini Prompt for Competitor Gap Analysis

Once I have the opportunity list, I run a second Gemini pass for competitive context:

For keyword [target keyword], search for the top 5 ranking pages. Summarize what they cover, what they miss, and what angle would make a new post rank above them. Keep the analysis to 3 bullet points per competitor.

I use Google AI Studio’s built-in search grounding for this, which pulls live SERP data. Free tier, no API cost.

Step 2: Outlining With Claude.ai Free

Once I know which post to write and what angle to take, I move to Claude.ai free (the claude.ai browser interface, no API cost) for outlining.

The prompt I use:

Write a detailed H2/H3 outline for a 2500-word blog post targeting the keyword “[keyword]”. The post is written in first-person agency-founder voice for vapvarun.com. The audience is WordPress agency owners and senior developers. Include: a strong hook opening, 4-5 main sections with sub-points, a practical how-to section with numbered steps, and a closing section with a clear CTA. Do not write the post yet – just the outline with one-sentence descriptions of each section.

Claude’s free tier handles this easily. The outline comes back structured, with logical section flow and sub-points I can hand to any writer – human or AI. The key advantage here is that Claude follows instructions about voice and structure more precisely than most models at the outline stage, which saves editing time later.

Total time for outlining: 3-5 minutes.

Step 3: First Draft With DeepSeek or Qwen Running Local

This is the step that saves us the most money. Instead of paying for GPT-4o or Claude API credits to generate 2500-word drafts, I run DeepSeek-R1 or Qwen2.5-14B locally via Ollama. Both models are free, run offline, and produce drafts that need editing but are structurally solid. We covered the Qwen setup in detail in the post on running Qwen 2.5 Coder on your MacBook – the same install works here for content drafting, not just code.

The setup is simple: install Ollama on any Mac or Linux machine, pull the model once, and call it via the API at localhost:11434. I have a small Python script that takes the Claude outline and feeds each section to the local model one at a time, then assembles the full draft.

Hardware note: DeepSeek-R1-7B runs fine on any machine with 8GB RAM. The 14B versions of Qwen need 16GB. If you have a Mac with Apple Silicon, both run faster than you expect.

The Local Draft Prompt Pattern

The key to getting good output from local models is specificity. Generic prompts produce generic output. Here is the pattern I use for each section:

Write the section “[H2 title]” for a blog post about [topic]. Context: [one sentence description from the outline]. Tone: first-person, practical, direct. No hedging phrases. No passive voice. Include one specific example or number if relevant. Length: approximately [X] words. Do not include the heading in your output.

For technical posts, Qwen2.5 outperforms DeepSeek. For opinion or narrative sections, DeepSeek-R1 produces more natural-sounding text. I switch between them per-section when it matters.

Total draft time: 15-20 minutes for a 2500-word post, running on local hardware.

Step 4: SEO Scoring and Meta Generation With RankMath AI

Once the draft is in WordPress, I run RankMath’s AI features to handle three things:

  • Focus keyword analysis: RankMath checks keyword density, placement in H1/H2s, and internal linking gaps. I use this as a checklist, not a gospel – their scoring weights some factors I disagree with, but it catches obvious misses.
  • Meta title and description generation: The RankMath AI meta writer produces 3-5 options. I pick the most specific one and edit it down to fit character limits. This takes 2 minutes versus 10 minutes writing from scratch.
  • Schema markup: RankMath auto-suggests the right schema type. For how-to posts I add HowTo schema manually with the correct steps. For comparison posts, it handles Article schema automatically.

If you are on Yoast instead of RankMath, the Yoast AI features handle the same tasks. The workflow is identical – paste in your focus keyword, run the SEO analysis, use the AI to draft meta fields.

One thing I always do that most agency marketers skip: I check the meta description character count with a plain text counter before saving. RankMath’s live counter is accurate, but I have seen it miscalculate with special characters. 150-155 characters is the safe zone.

Step 5: Social Caption Generation With Groq

After the post is in WordPress and SEO is set, the last content step is generating social captions. I use Groq’s free API tier for this because it is fast – Groq runs inference on custom hardware at speeds that feel instant compared to standard API calls.

The Groq API is free up to a generous daily limit. I call it with a simple prompt:

Generate 3 social media captions for this blog post. Post title: [title]. Post URL: [url]. One version for LinkedIn (professional, 2 short paragraphs, no hashtags). One version for Twitter/X (under 240 characters, direct, one key stat or takeaway). One version for Facebook (casual, one question to drive comments, 1-2 relevant hashtags). Do not use em dashes. Do not use phrases like “dive in” or “game-changer”.

Groq returns all three in about 2 seconds. I paste them directly into our Buffer queue. That is the distribution step done.

The key advantage of Groq for caption generation specifically: the speed means I can generate 5-6 caption variants and pick the best without feeling like I am wasting tokens. With slower APIs, you generate one and live with it.

Step 6: Image Briefs – The Step Most People Skip

Featured images and in-content images are the most commonly skipped step in AI content workflows. Most agencies either use stock photos (which perform poorly for SEO and brand recognition) or spend too long briefing a designer.

Our approach: generate HTML-based featured images that match the post topic using a fixed template system. I have a set of HTML/CSS templates that our current agent renders via Playwright screenshot to get a 1200×630 PNG. No stock photos, no designer time, no Canva subscription.

For posts that need more visual depth, I use Gemini to generate image briefs for our designer:

Write 3 image briefs for a blog post titled “[title]”. Each brief should describe: the composition (what elements are in the frame), the color palette (3-4 hex colors), the visual metaphor or concept being represented, and the text overlay if any. Keep each brief to 4 bullet points. Style: clean editorial, no stock photo cliches, no hands-on-keyboard shots.

These briefs go into our Basecamp task for the post. When a designer has bandwidth, they execute the brief. When they do not, the HTML template image goes live and gets replaced later.

The Full 30-Minute Loop: Timed Breakdown

Here is what a complete content ops run looks like when timed:

  • Minutes 0-8: GSC export + Gemini opportunity analysis
  • Minutes 8-12: Claude outline for the chosen topic
  • Minutes 12-28: Local model draft generation (runs mostly unattended)
  • Minutes 28-32: Post paste into WordPress, RankMath SEO check
  • Minutes 32-35: Meta fields via RankMath AI
  • Minutes 35-38: Groq social captions, queued in Buffer
  • Minutes 38-40: Featured image rendered and uploaded

Total: roughly 40 minutes per post from zero to scheduled. We run this loop twice a week per site, which works out to about 80 minutes of active work per site per week for a full content operation.

For our 13-site operation, we batch the research step: one Monday morning session covers all 13 sites in about 90 minutes, with Gemini running parallel analysis across all the GSC exports. Then draft generation runs overnight on local hardware. Tuesday morning, drafts are ready for editorial review.

Case Study: Running 13 Sites on $20/Mo Total AI Spend

This is the number that stops people: $20/mo for AI content operations across 13 sites. Here is the accounting:

ToolMonthly CostCovers
Gemini Advanced$20Research and analysis across all 13 sites
Claude.ai free$0Outlining (daily message limit is sufficient)
Ollama + DeepSeek/Qwen$0All draft generation (local compute)
Groq free tier$0All social captions
RankMath AI$0 (included in plugin cost)SEO scoring and meta for all sites
Google AI Studio$0Competitor analysis with search grounding

The $20 Gemini Advanced subscription is the only paid AI line item. Everything else runs free. The local compute cost is electricity, which for a Mac Mini running overnight is under $2/mo.

One caveat: this workflow assumes you already have a WordPress stack and RankMath or Yoast installed. If you are starting from zero, the first-month setup cost is higher because you need to configure Ollama, set up the API connections, and build your prompt library. Our current system took about 3 days to build from scratch. Now it runs in 40 minutes per post.

What We Tried That Did Not Work

Before landing on this stack, we tested several tools that did not fit our operation:

  • Jasper and Copy.ai: Good tools, but $49-99/mo per seat adds up fast when you have a team. The output quality for technical WordPress content was also inconsistent without heavy prompting.
  • Perplexity for research: Useful for quick fact-checking but not suited for bulk keyword opportunity analysis. It also cannot ingest your own GSC data.
  • ChatGPT API for drafts: At $0.015/1K tokens for GPT-4o, a 2500-word draft costs about $0.50. Across 13 sites, two posts per week, that is $52/mo just for draft generation. Local models do the same job for free.
  • Canva AI for featured images: The output was too polished and generic. Our HTML template approach produces images that are more on-brand and load faster.

Integrating This Into Your WordPress Agency Workflow

The biggest question I get when I share this workflow: how do you integrate it with client work, not just your own sites?

For client sites, the workflow is largely the same with two modifications:

  • Voice profiles in the prompt library: Each client gets a 200-word voice profile that goes at the top of every draft prompt. DeepSeek and Qwen respect these profiles well enough that the drafts come out in the right tone 70-80% of the time, with minor editing needed.
  • Client GSC access: Ask clients to add your Google account to their Search Console property with read access. The GSC export step then covers their site in the same Monday batch.

For agencies with retainer clients, this workflow lets you deliver 4-6 posts per site per month without adding headcount. The time savings come from eliminating the research and brief-writing steps that normally eat most of the content production time.

Setting Up Ollama for Your Agency

If you have never run a local model before, here is the quick-start:

  • Download Ollama from ollama.com – it installs as a menu bar app on Mac
  • Run: ollama pull deepseek-r1:7b (about 4.7GB download)
  • Test it: ollama run deepseek-r1:7b and type a prompt
  • For API access: Ollama runs a server at localhost:11434 automatically
  • Use any HTTP client or the Ollama Python library to call it from scripts

The first pull takes 10-15 minutes on a decent connection. After that, the model runs instantly with no internet required.

Quality Control: Where Human Review Still Matters

I want to be direct about something: this workflow does not eliminate human review. It changes what you review.

The local models produce drafts that are structurally correct and factually plausible, but they hallucinate specific numbers, plugin version details, and feature specifics. Any post about a specific WordPress plugin or tool needs a human to verify the technical claims before publishing.

For our workflow, the review step takes 15-20 minutes per post. We check:

  • Every specific claim that sounds like a number or a product feature
  • All outbound links (we use a link checker to verify they resolve)
  • The opening and closing paragraphs (AI openings tend to be generic and need rewriting)
  • Any quotes or statistics (local models will invent these if you do not stop them)

The rest of the post – the transitions, the explanations, the structure – is usually fine with minor editing for voice. The 15-20 minute review is the human’s time investment per post, which is a very different number from the 3-4 hours that full manual writing takes.

Building Your Prompt Library

The single biggest leverage point in this entire workflow is not the tools – it is the prompts. A well-tuned prompt library for your specific niches is the asset that compounds over time.

A well-tuned prompt library for your specific niches is the asset that compounds over time.
A well-tuned prompt library for your specific niches is the asset that compounds over time.

Start with these five prompt templates and refine them over your first 10 posts:

  • Research prompt: GSC data analysis and opportunity ranking
  • Outline prompt: H2/H3 structure with section descriptions
  • Section draft prompt: Per-section writing with voice and length controls
  • Meta fields prompt: Title and description variants from the post content
  • Social caption prompt: Platform-specific caption variants

Store these in a plain text file or Notion page. Every time a prompt produces better output than expected, save the variant. Every time output is off, note what instruction fixed it. After 20-30 posts, your prompt library is the most valuable asset in your content operation – and it is entirely transferable to any new AI tool that comes along.

The Gemini 2M Context Window: The Real Game-Changer for Agency Research

I want to spend a moment on this because it genuinely changes what is possible for research-heavy content operations.

The 2M token context window in Gemini 2.5 Pro means you can ingest an entire site’s worth of content in a single session. For a WordPress agency doing content audits or competitive analysis, this is a significant capability shift. If you are also using Llama 4 Scout self-hosted for longer context tasks, you can combine the two: Gemini for external research and SERP grounding, Llama for internal audit passes where data privacy matters.

Practical applications we use:

  • Full site content audit: Export all posts as a single text file, paste into Gemini, ask for duplicate content clusters, thin content pages, and topic gaps
  • Competitive content mapping: Paste in competitor RSS feeds or scraped content, ask Gemini to map their content strategy and identify what they are consistently ranking for that you are not
  • Internal linking audit: Paste all post URLs and titles, ask Gemini to suggest the optimal internal linking structure based on topic clusters
  • Content calendar planning: Feed 6 months of published posts plus GSC data, ask for the next quarter’s content plan with keyword targets

None of these tasks were practical before large context windows. You had to do them manually or with expensive SEO tools. Now the only cost is a Gemini Advanced subscription.

What This Means for Your Agency Pricing

The business case here is not just cost savings – it is margin improvement. If your agency charges $150-300 per blog post for content retainer clients, and you can produce that post in 40 minutes of total labor (including the 15-20 minute review), your effective hourly rate on that work goes from $40-60/hr to $225-450/hr.

That margin does not mean you lower your prices. It means you can take more clients at the same price without adding headcount, or you can improve quality by spending the saved time on better research and editing.

For agencies that have avoided content retainers because the margins were too thin, this workflow makes them viable again. At $300/post with a 40-minute production time, content retainers become one of your most profitable service lines.

Getting Started: Your First Week

If you are starting from zero with this workflow, here is the sequence I would follow:

  • Day 1: Install Ollama, pull DeepSeek-R1:7b, test it with a simple prompt. Sign up for Gemini Advanced ($20/mo). Create a Google AI Studio account (free).
  • Day 2: Export your GSC data for the last 90 days. Run the research prompt in Gemini AI Studio. Pick one keyword opportunity and run the Claude outline prompt.
  • Day 3: Use the Ollama local model to draft the post section by section. Paste into WordPress. Run RankMath SEO analysis and fix gaps.
  • Day 4: Set up your Groq account (free). Test the social caption prompt. Queue the captions in Buffer or whatever scheduler you use.
  • Day 5: Publish the post. Note what worked and what needed the most editing. Update your prompt library with the improvements.

After that first week, you have a working pipeline and a prompt library seed. The second week is faster. By week four, the workflow is muscle memory.

What Is Coming in the Rest of 2026

The free stack is going to get better. Gemini API quotas are expanding. Local models are getting faster and smaller – there are now models that run on 4GB of RAM and produce output comparable to GPT-3.5 from two years ago. Groq is adding new models to the free tier regularly.

The one area where I expect meaningful change is SEO scoring. RankMath and Yoast are both investing in their AI features, and the next generation of those tools will likely suggest not just meta fields but structural changes – which sections to expand, which headings to rewrite, which internal links to add. That will compress the SEO step from 5-10 minutes to under 2 minutes.

For WordPress agency marketers, the practical advice is this: build your prompt library and your workflow system now, with the tools that exist today. The specific AI models will change every 6-12 months, but the workflow structure – research, outline, draft, SEO, distribute – will not. Get the system right first, then swap in better tools as they arrive.

Final Thoughts

The $20/mo content ops stack is not magic. It is a series of deliberate tool choices designed to minimize cost while covering every stage of a real content production workflow. Gemini handles research because its context window is unmatched. Claude handles outlining because it follows structural instructions precisely. Local models handle drafting because inference at home costs nothing. Groq handles distribution copy because speed matters when you are queuing captions for 13 sites.

If you run a WordPress agency and content has felt like a cost center rather than a margin driver, this workflow exists to change that. Start with one site. Run the Monday research loop once. See what comes back from Gemini. I think you will be surprised by how quickly a working system clicks into place.

Questions about any specific step? I document our full workflow in detail – reach out via vapvarun.com/contact and I will share the prompt library we use internally.