Webflow SEO Audit
Run a comprehensive SEO audit on Webflow sites via API + live browser crawling.
Workflow
Phase 1: Install & Connect
- Test the API token via Webflow v2 API:
curl -sH "Authorization: Bearer <token>" -H "Accept-Version: 1.0.0" https://api.webflow.com/v2/sites
- Identify Site ID, save to project env file
- Create project dir with README.md
Phase 2: Live Crawl (browser_navigate + browser_console)
Use browser_console JavaScript DOM extraction, NOT curl regex. Webflow's compiled HTML is minified/injected and curl-based regex misses meta tags, OG tags, and canonical links.
Crawl sequence: Extract metadata BEFORE navigating away — the previous page's DOM is gone after navigation.
Pages to crawl:
/ (homepage), Main nav pages, /privacy, /terms
- CMS template pages (
/video/[slug], /faq/[slug])
- Suspicious pages in sitemap (
/quiz, /call, /order)
Browser console script for each page:
JSON.stringify({
title: document.title,
metaDesc: document.querySelector('meta[name="description"]')?.getAttribute('content') || 'MISSING',
ogTitle: document.querySelector('meta[property="og:title"]')?.getAttribute('content') || 'MISSING',
ogDesc: document.querySelector('meta[property="og:description"]')?.getAttribute('content') || 'MISSING',
ogImage: document.querySelector('meta[property="og:image"]')?.getAttribute('content') || 'MISSING',
canonical: document.querySelector('link[rel="canonical"]')?.getAttribute('href') || 'MISSING',
h1count: document.querySelectorAll('h1').length,
h2count: document.querySelectorAll('h2').length,
images: document.querySelectorAll('img').length,
imgsWithAlt: Array.from(document.querySelectorAll('img')).filter(i => i.alt && i.alt.trim()).length,
});
Phase 3: Technical Checks (terminal)
curl -sI https://<domain> — HTTP headers, HSTS
curl -s https://<domain>/sitemap.xml — sitemap
curl -s https://<domain>/robots.txt — robots.txt
dig +short <domain> — DNS
- Check sitemap URLs for orphaned/empty pages
Phase 4: CMS Data (Webflow API)
- Fetch collections:
GET /v2/sites/{id}/collections
- Fetch items:
GET /v2/collections/{id}/items
- Note CMS items with slugs but no dedicated page URL
Phase 5: Scoring & Report
Priority levels:
- P0 / Critical — Multiple H1 tags, >50% alt text missing, sitemap issues, empty indexed pages, wrong titles
- P1 / High — No internal linking, FAQ without pages, schema gaps, broken social share
- P2 / Medium — Breadcrumbs missing, weak titles, hreflang, duplicate pages
- P3 / Low — Nice-to-haves
Common Webflow SEO bugs (check first):
- Slider/lightbox sections rendered as
<h1> instead of <h2>
- Images have
alt="" by default in Webflow CMS
- Privacy/Terms pages get default titles
- CMS items have slugs but no dedicated page template
- Social share buttons link to
#
Phase 6: Backlink Strategy
Suggest linkable assets based on content found: industry partnerships, scientific citations, local SEO, founder profile optimization.
Phase 7: Remediation
Most Webflow SEO fixes require Designer access — the API cannot change page settings, H1 tags, custom code, or page titles. Create tasks for the designer.
Webflow API limitations (Designer-only fixes):
- Page SEO settings (title, meta desc, OG tags, canonical)
- Custom Code
- H1/H2 tag changes
- Image alt text
- Page creation
- Breadcrumb components
What you CAN do via API:
- Read site info, collections, CMS items
- List pages in sitemap
- Token test
Phase 8: Report
Save report to project directory with date-stamped filename.
Reference Files
references/webflow-api.md — Webflow v2 API endpoints, auth format, collection querying
references/common-seo-bugs.md — Common Webflow SEO pitfalls and fixes===ME:webflow-seo-audit
1---2name: webflow-seo-audit3description: Run a comprehensive SEO audit on Webflow sites via API + live browser crawling. Checks meta tags, alt text, headings, schema, sitemap, technical SEO, and backlink opportunities.4---56# Webflow SEO Audit78Run a comprehensive SEO audit on Webflow sites via API + live browser crawling.910## Workflow1112### Phase 1: Install & Connect131. Test the API token via Webflow v2 API:14 `curl -sH "Authorization: Bearer <token>" -H "Accept-Version: 1.0.0" https://api.webflow.com/v2/sites`152. Identify Site ID, save to project env file163. Create project dir with README.md1718### Phase 2: Live Crawl (browser_navigate + browser_console)1920**Use browser_console JavaScript DOM extraction, NOT curl regex.** Webflow's compiled HTML is minified/injected and curl-based regex misses meta tags, OG tags, and canonical links.2122**Crawl sequence:** Extract metadata BEFORE navigating away — the previous page's DOM is gone after navigation.2324**Pages to crawl:**25- `/` (homepage), Main nav pages, `/privacy`, `/terms`26- CMS template pages (`/video/[slug]`, `/faq/[slug]`)27- Suspicious pages in sitemap (`/quiz`, `/call`, `/order`)2829**Browser console script for each page:**30```js31JSON.stringify({32 title: document.title,33 metaDesc: document.querySelector('meta[name="description"]')?.getAttribute('content') || 'MISSING',34 ogTitle: document.querySelector('meta[property="og:title"]')?.getAttribute('content') || 'MISSING',35 ogDesc: document.querySelector('meta[property="og:description"]')?.getAttribute('content') || 'MISSING',36 ogImage: document.querySelector('meta[property="og:image"]')?.getAttribute('content') || 'MISSING',37 canonical: document.querySelector('link[rel="canonical"]')?.getAttribute('href') || 'MISSING',38 h1count: document.querySelectorAll('h1').length,39 h2count: document.querySelectorAll('h2').length,40 images: document.querySelectorAll('img').length,41 imgsWithAlt: Array.from(document.querySelectorAll('img')).filter(i => i.alt && i.alt.trim()).length,42});43```4445### Phase 3: Technical Checks (terminal)46- `curl -sI https://<domain>` — HTTP headers, HSTS47- `curl -s https://<domain>/sitemap.xml` — sitemap48- `curl -s https://<domain>/robots.txt` — robots.txt49- `dig +short <domain>` — DNS50- Check sitemap URLs for orphaned/empty pages5152### Phase 4: CMS Data (Webflow API)53- Fetch collections: `GET /v2/sites/{id}/collections`54- Fetch items: `GET /v2/collections/{id}/items`55- Note CMS items with slugs but no dedicated page URL5657### Phase 5: Scoring & Report5859**Priority levels:**60- **P0 / Critical** — Multiple H1 tags, >50% alt text missing, sitemap issues, empty indexed pages, wrong titles61- **P1 / High** — No internal linking, FAQ without pages, schema gaps, broken social share62- **P2 / Medium** — Breadcrumbs missing, weak titles, hreflang, duplicate pages63- **P3 / Low** — Nice-to-haves6465**Common Webflow SEO bugs (check first):**661. Slider/lightbox sections rendered as `<h1>` instead of `<h2>`672. Images have `alt=""` by default in Webflow CMS683. Privacy/Terms pages get default titles694. CMS items have slugs but no dedicated page template705. Social share buttons link to `#`7172### Phase 6: Backlink Strategy73Suggest linkable assets based on content found: industry partnerships, scientific citations, local SEO, founder profile optimization.7475### Phase 7: Remediation76Most Webflow SEO fixes require **Designer access** — the API cannot change page settings, H1 tags, custom code, or page titles. Create tasks for the designer.7778**Webflow API limitations (Designer-only fixes):**79- Page SEO settings (title, meta desc, OG tags, canonical)80- Custom Code81- H1/H2 tag changes82- Image alt text83- Page creation84- Breadcrumb components8586**What you CAN do via API:**87- Read site info, collections, CMS items88- List pages in sitemap89- Token test9091### Phase 8: Report92Save report to project directory with date-stamped filename.9394## Reference Files95- `references/webflow-api.md` — Webflow v2 API endpoints, auth format, collection querying96- `references/common-seo-bugs.md` — Common Webflow SEO pitfalls and fixes===ME:webflow-seo-audit