What you will build
This tutorial shows how to set up Windsurf Rules and Memories for SEO/GEO work without turning them into a messy pile of preferences. Rules are stable policy. Memories are lightweight context. Workflows are step-by-step procedures. Keep those three separate and Windsurf becomes much easier for beginners to control.
You will create:
.windsurf/
rules/
seo-geo-policy.md
technical-seo-risk.md
seo-geo/
context/
brand-facts.md
public-proof.md
memory-cleanup.md
If your Windsurf setup stores rules through the UI instead of files, use the same text as project rules and keep the context files in the repo.
Step 1: write the project SEO/GEO policy
Create a policy file you can paste into Windsurf Rules:
mkdir -p .windsurf/rules seo-geo/context
cat > .windsurf/rules/seo-geo-policy.md <<'EOF2'
# SEO/GEO Policy
Always:
- diagnose before editing
- work on one page, one workflow, or one PR comment at a time
- name the files you plan to edit before editing
- mark missing evidence as TODO instead of inventing it
- keep public copy factual, specific, and useful
- preserve internal links that help the reader
- run available validation after edits
Never invent:
- customers
- logos
- testimonials
- awards
- rankings
- revenue numbers
- legal claims
- medical or financial claims
- search volume or analytics metrics
Ask before changing:
- pricing
- robots.txt
- noindex logic
- canonical logic
- redirects
- sitemap generation
- analytics or tracking
- shared page templates
- navigation
- schema helpers used across many pages
EOF2
Beginner rule: if the instruction should apply every week, it belongs in Rules. If it is only true for one task, keep it in the prompt.
Step 2: create a technical risk rule
cat > .windsurf/rules/technical-seo-risk.md <<'EOF2'
# Technical SEO Risk Rule
Treat these as high-risk files or concepts:
- robots.txt
- sitemap generation
- noindex, nofollow, indexability helpers
- canonical URL helpers
- redirect rules
- middleware and routing
- hreflang and locale routing
- schema / JSON-LD helpers
- analytics, GTM, GA4, conversion tracking
When any high-risk file is involved:
1. Stop before editing.
2. Explain the search impact.
3. List affected URL patterns.
4. Ask for explicit approval.
5. After approval, apply the smallest diff.
6. Return validation and rollback notes.
EOF2
This prevents a simple page refresh from accidentally turning into a sitewide technical change.
Step 3: create brand facts that Memories can reference
Do not make Windsurf remember private analytics or secrets. Put stable public facts in repo files instead:
cat > seo-geo/context/brand-facts.md <<'EOF2'
# Brand Facts
Brand name: [your brand]
Category: [your category]
Audience: [primary audience]
Main use cases:
- [use case 1]
- [use case 2]
- [use case 3]
Approved claims:
- [claim with source]
- [claim with source]
Forbidden claims:
- fastest
- best
- #1
- guaranteed rankings
- unsupported customer results
EOF2
cat > seo-geo/context/public-proof.md <<'EOF2'
# Public Proof Sources
Use only these proof types unless approved:
- product screenshots
- public documentation
- public case studies
- public reviews or testimonials already approved for marketing
- first-party benchmarks clearly labeled with methodology
Do not use:
- private customer names
- raw analytics exports
- confidential revenue data
- sales call notes
EOF2
Now your Memories can say “brand facts live in seo-geo/context/brand-facts.md” instead of storing the facts inside memory.
Step 4: ask Windsurf to create safe memories
Use this prompt in Windsurf:
Review these files:
- `.windsurf/rules/seo-geo-policy.md`
- `.windsurf/rules/technical-seo-risk.md`
- `seo-geo/context/brand-facts.md`
- `seo-geo/context/public-proof.md`
Suggest 5-8 Windsurf memories that help SEO/GEO work.
Rules:
- Do not store secrets.
- Do not store raw analytics.
- Do not store private customer facts.
- Prefer memories that point to repo files and workflow locations.
- Mark anything better suited for Rules or Workflows.
Do not change files until I approve.
Good memories are short:
For SEO/GEO tasks, brand facts are stored in `seo-geo/context/brand-facts.md`.
Bad memories are risky:
The API key for Search Console is...
Step 5: decide what belongs where
| Item | Put it in Rules | Put it in Memories | Put it in Workflow |
|---|---|---|---|
| “Never invent customer proof” | yes | no | optional reminder |
| Brand facts file location | no | yes | optional |
| Step-by-step page refresh procedure | no | no | yes |
| Weekly report format preference | maybe | yes | yes if repeated |
| API credentials | no | no | no |
| Temporary campaign angle | no | maybe, with expiry | maybe |
If a memory starts becoming a procedure, move it into .windsurf/workflows/.
Step 6: run a monthly cleanup
Create a cleanup note:
cat > seo-geo/context/memory-cleanup.md <<'EOF2'
# Monthly Windsurf Memory Cleanup
Check for:
- outdated positioning
- expired campaign claims
- old file paths
- private customer facts
- raw analytics
- memories that should be workflows
- memories that duplicate rules
Output:
- keep
- update
- delete
- move to workflow
EOF2
Prompt Windsurf:
Review current Windsurf Rules and Memories for this project.
Use `seo-geo/context/memory-cleanup.md` as the checklist.
Return a table:
- item
- keep/update/delete/move
- reason
- safer replacement text
Do not change rules or memories until I approve.
Step 7: test with a page task
Ask Windsurf:
Using the current Rules and Memories, inspect one page for SEO/GEO improvement opportunities.
Do not edit yet. Return:
1. Which rules applied.
2. Which memories helped.
3. Which files you would inspect.
4. What evidence is missing.
5. Whether a workflow should be used.
If Windsurf does not mention your policy, technical risk rule, or brand facts file, your rules/memories are too hidden or too vague.
FAQ
Can Memories replace Workflows?
No. Memories are context. Workflows are procedures. A 10-step process belongs in .windsurf/workflows/, not in memory.
Should I store analytics summaries in Memories?
Only durable, non-sensitive summaries with dates and caveats. Prefer files under seo-geo/reports/ so they can be audited.
How often should Rules change?
Only when site architecture, approval policy, positioning, or validation commands change.
AI coding agents for SEO/GEO learning path
Windsurf track:
- Cursor vs Windsurf vs Gemini CLI for SEO/GEO Automation
- How to Build Windsurf Cascade Workflows for SEO/GEO
- How to Use Windsurf Rules and Memories for SEO/GEO Projects
- How to Turn Keyword Research into Content Briefs with Windsurf
- How to Use Windsurf to Address SEO/GEO PR Comments
- The SEO/GEO Operating Model for Cursor, Windsurf, Gemini CLI, Codex, and Claude Code
Sources and notes
- Windsurf/Devin Desktop documentation: Cascade Workflows , plus the Devin Desktop navigation for Cascade, Memories & Rules, Skills, AGENTS.md, Worktrees, MCP, and Cascade Hooks.
- Related Auspia guide: Cursor vs Windsurf vs Gemini CLI for SEO/GEO Automation .
Author: Camille Rhodes, Architect of 300+ AI Content Workflows at Auspia. Camille writes about AI-assisted content workflows, automation, and editorial quality control.