The Complete On-Page SEO Checklist for Webflow Sites
Twenty-three checkboxes covering Webflow's built-in SEO controls plus the gaps you have to fill manually.
Webflow handles some SEO automatically. A lot of it you still have to do yourself. This checklist separates the two so you know exactly what needs your attention — and where in the Webflow UI to find it.
Twenty-three items. Work through them once on a new site and you'll have covered the things that actually move rankings.
Meta Tags (5 items)
1. Set a unique title tag on every page
Where: Page Settings → SEO tab → Title
Webflow defaults to your page name. That's usually not your target keyword phrase. Write a descriptive title under 60 characters that leads with the primary keyword.
For CMS collection pages, bind the title to a CMS field: in the SEO tab, open the field picker next to the Title field and select your title or name field. You can combine fields with static text: {{wf{...}}} | Site Name.
2. Write a meta description on every page
Where: Page Settings → SEO tab → Description
Keep it under 155 characters. Write it as a genuine description of the page — Webflow doesn't auto-generate one. For CMS templates, bind to a dedicated "SEO Description" plain text field in your collection.
3. Add OG tags via Custom Code
Webflow's built-in SEO tab does not add Open Graph tags. Add them in Page Settings → Custom Code → Inside <head>:
<meta property="og:title" content="{{wf{"path":"name","type":"PlainText"}}}">
<meta property="og:description" content="{{wf{"path":"seo-description","type":"PlainText"}}}">
<meta property="og:image" content="{{wf{"path":"main-image","type":"ImageRef"}}}">
<meta property="og:type" content="article">
For a full working snippet with CMS field tokens, see Webflow meta tags and OG tags.
4. Add Twitter Card tags
Same location as OG tags. Minimum required:
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Your Page Title">
<meta name="twitter:image" content="https://your-cdn-url/image.jpg">
5. Verify canonical tags are set correctly
Webflow adds a <link rel="canonical"> pointing to the current page URL by default. Check that it's present on your important pages and that it's pointing to the right URL (not a trailing-slash variant or www/non-www inconsistency).
For CMS filter views and pagination URLs, you may need to set a canonical pointing to the root collection page to avoid duplicate content signals.
Headings (3 items)
6. One H1 per page, leading with the target keyword
Webflow's Heading element lets you choose H1–H6. Every page should have exactly one H1. Check your CMS templates — if the post title is set as an H2 because of a visual style choice, change it to H1 and restyle it separately.
7. Use a logical heading hierarchy
H2s for major sections, H3s for subsections. Don't skip levels (e.g., H1 → H3 with no H2). Webflow doesn't enforce this, so it's easy to break when making visual adjustments.
8. Include the primary keyword in at least one subheading
Not keyword stuffing — just confirming relevance. If your H1 is "Webflow SEO Guide" and none of your H2s mention the topic, that's a missed signal.
Schema Markup (3 items)
9. Add Article or BlogPosting schema to blog posts
Webflow doesn't add this automatically. For CMS blog posts, you need to add a <script type="application/ld+json"> block in the collection template's Custom Code section, binding the relevant fields (headline, datePublished, author, image) to CMS field tokens.
See how to add schema markup to Webflow CMS collection pages for the exact implementation.
10. Add Organization or LocalBusiness schema to your homepage
This tells Google what your site is and who runs it. It's a one-time addition in Site Settings → Custom Code → Footer Code.
11. Validate any schema you add
Use Google's Rich Results Test or Schema.org's validator. A typo in a field token can produce malformed JSON-LD that silently fails. Validate after adding, and again after any template changes.
Images (4 items)
12. Add alt text to every content image
In Webflow's Designer, click any image element and add alt text in the Settings panel on the right. For CMS images, add an "Alt Text" plain text field to your collection and bind the image alt attribute to it.
Decorative images that shouldn't be read by screen readers can use an empty alt attribute (alt="").
13. Set hero images to Load = Eager
Where: Select the hero image element → Settings panel → Load
Webflow applies lazy-loading broadly. For the largest image visible in the viewport on page load, lazy-loading delays the browser's fetch and hurts your LCP score. Change the hero image's Load setting from "Lazy" to "Eager."
For the full explanation and other CWV items, see Webflow image SEO and Core Web Vitals.
14. Use descriptive file names before uploading
Webflow preserves the original file name in the CDN URL. hero-webflow-seo-guide.jpg is better than IMG_4823.jpg. Rename before upload.
15. Check image dimensions aren't massively oversized
Webflow generates responsive srcsets, but if you upload a 6000px wide image and your layout is 1200px wide, the generated sizes are all based on the original. A 1200px version of a reasonable photo should be under 200KB. Use a tool like Squoosh before uploading large hero images.
Sitemap and Indexing (3 items)
16. Confirm your sitemap is published
Visit yourdomain.com/sitemap.xml. Webflow generates this automatically. If you see a 404, your site may not be published to a custom domain yet, or Webflow publishing may have an issue. The *.webflow.io staging URL doesn't serve the sitemap the same way.
17. Submit your sitemap to Google Search Console
Log in to Search Console, go to Sitemaps, and submit https://yourdomain.com/sitemap.xml. Webflow doesn't do this for you.
18. Noindex pages that shouldn't rank
Where: Page Settings → SEO tab → "Exclude this page from search results"
Use this for thank-you pages, admin pages, duplicate landing page variants, and any page you don't want indexed. Webflow adds a <meta name="robots" content="noindex"> tag when this is checked.
For more on sitemap and robots.txt control, see Webflow sitemap and robots.txt.
Redirects (2 items)
19. Set up 301 redirects for any changed URLs
Where: Site Settings → Publishing → Redirects
If you've ever changed a page slug or restructured your URL hierarchy, set up 301 redirects from the old URLs to the new ones. Webflow supports basic wildcards. For full instructions on the interface and bulk import, see Webflow 301 redirects.
20. Redirect www to non-www (or vice versa)
Pick one canonical form. Webflow handles this in Site Settings → Hosting, where you can set the default domain. Make sure both www.yourdomain.com and yourdomain.com don't serve separate content.
Core Web Vitals (3 items)
21. Measure your LCP with PageSpeed Insights
Run your homepage and your most important landing page through Google PageSpeed Insights. A good LCP is under 2.5 seconds. If yours is over 4 seconds, the likely culprit is a large hero image. See Webflow image SEO and Core Web Vitals.
22. Check for layout shift (CLS)
Cumulative Layout Shift above 0.1 is a failing score. Common causes on Webflow sites: images without explicit width/height set, web fonts loading in and shifting text, and embeds (especially videos or ads) that resize on load.
23. Verify mobile performance
PageSpeed Insights runs both desktop and mobile. Mobile scores are often significantly lower. Check your mobile LCP and CLS separately — the recommendations may differ from desktop.
What Webflow Handles Automatically
To be clear about what you don't need to worry about:
- HTTPS / SSL — On by default.
- Responsive images and WebP — Webflow generates srcsets and serves WebP automatically.
- Sitemap generation —
/sitemap.xmlis always published. - Semantic HTML — Heading elements, paragraph elements, and list elements map to correct HTML.
- Fast hosting — CloudFront CDN is included on all plans.
<link rel="canonical">— Added by default on all pages.
These are real advantages. You don't need a plugin or configuration to get them.
The SEO for Webflow guide covers the full picture if you want context around any of these items. RankCrab's 80-check audit will surface which of these 23 items are missing or broken on any Webflow URL — run it before and after a site launch to confirm everything is in place.