Duda SEO

A technical SEO guide to Duda — the agency-focused website builder. What Duda handles automatically (HTTPS, CDN, SSR, sitemap, canonical tags, llms.txt, IndexNow, Blog/Product schema), what you configure manually (titles, redirects, robots.txt, Local Business and FAQ schema, custom JSON-LD), and the hard limits no setting changes: locked canonical tags, a 1,000-page / 1,500-blog-post cap, single-location schema, and no X-Robots-Tag header. Plus Dynamic Pages for programmatic SEO and the agency/white-label workflow.

First published: Jun 27, 2026 · Last updated: Jul 25, 2026 · Advanced
demand #6 in Website Builders#40 in Platform SEO#243 in Technical SEO#330 on the site

Duda is a website builder for agencies and web pros, not DIY consumers — and that shows in its SEO controls. It handles the technical baseline automatically: HTTPS on an Amazon CloudFront CDN, server-side rendering, an auto-generated sitemap, self-referencing canonical tags, llms.txt on publish, IndexNow to Bing and Yandex, and automatic Blog and Product schema. Unlike most builders, it lets you edit robots.txt (via Site Configuration Files), manage 301/302 redirects in a built-in redirect manager with bulk CSV and wildcards, inject custom JSON-LD, and auto-generate hreflang for multilingual subdirectory sites. Its Dynamic Pages feature powers programmatic SEO for multi-location and franchise work. The hard limits: you can't override canonical tags, there's a 1,000-page and 1,500-blog-post cap per site, native LocalBusiness schema is single-location only, blog URL patterns are limited, and there's no X-Robots-Tag header (noindex goes through meta robots).

TL;DR — Duda is an agency-first builder, and its SEO surface reflects that. It auto-handles HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.', an Amazon CloudFront CDN, server-side renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM., an XML sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing., self-referencing canonical tagsA rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content., llms.txt on publish, IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. (Bing + Yandex, since Nov 2021), and automatic JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal. for Blog and Product. Unusually for a builder, it exposes real technical controls: a replaceable robots.txt via Site Configuration Files, a built-in redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. manager (301/302, bulk CSV up to 200, wildcards), custom JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal. injection, automatic hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. for multilingual subdirectory sites, and Dynamic Pages for programmatic SEOProgrammatic SEO (pSEO) is the practice of generating many pages from a single template plus a data source to target large sets of similar queries. It's powerful when each page genuinely answers its query with unique data, and spam when it just stamps a thin template across a shallow dataset.. The hard limits are specific: canonical tagsA rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content. can’t be overridden (locked by design), a 1,000-page / 1,500-blog-post cap per site (roughly 200 total pages once you add languages), single-location LocalBusiness schemaLocalBusiness schema (schema.org/LocalBusiness) is structured data — usually JSON-LD — that describes a physical business to search engines: its name, address, phone, hours, geo-coordinates, and price range. Google requires only name and address, consumes about a dozen recommended properties, and treats it as a corroborating signal, not a substitute for a Google Business Profile. only, limited blog URL patterns, and no custom HTTP response headers — so no X-Robots-Tag (noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. goes through meta robots). One caveat worth flagging: Google pulled the FAQ rich result from Search entirely as of May 2026, so Duda’s FAQ schema toggle no longer earns that SERP feature on Google, even though it still outputs valid markup. Duda’s own pitch is that “SEO isn’t a separate task — it’s part of the website-building process.”

Evidence for this claim The article's described duda-seo capabilities must be evaluated against the platform's current documentation rather than assumed to be search-engine behavior. Scope: Platform-specific capability documentation. Confidence: high · Verified: Duda: SEO overview Evidence for this claim Regardless of platform, Google needs crawlable URLs, accessible rendered content, descriptive metadata, and valid search directives. Scope: Google requirements independent of platform. Confidence: high · Verified: Google Search Central: SEO Starter Guide

Who Duda is actually for

Duda is positioned against WordPress-plus-agency-stack, not against Wix-for-grandma. More than 22,000 organizations manage over a million live sites on it. The platform ships a REST API, granular team and client permissions, a white-label editor, and a multi-site dashboard. When you evaluate Duda’s SEO, evaluate it the way you’d evaluate an agency tool: can it manage SEO metadata at scale across many client sites? Mostly yes — with a handful of hard ceilings worth knowing before you commit a portfolio to it.

What Duda handles automatically (zero config)

  • HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.' / SSL — free certificates, automatic, on every site.
  • CDN — Amazon CloudFront, global, with image optimization (responsive sizes, WebP serving, lazy loadingLazy loading defers loading of off-screen or non-critical resources — usually images and iframes — until they're about to enter the viewport. The native way to do it is the loading=\"lazy\" HTML attribute, which needs no JavaScript.).
  • Server-side renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM. (SSR) — every page renders server-side, so crawlersA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. get HTML and there’s no JavaScript-rendering dependency. This is a genuine technical edge over JS-heavy builders.
  • XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags. — auto-generated, including store and multilingual pages. You can upload a custom sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. to override it.
  • Canonical tags — auto-generated and self-referencing. You cannot override them (more on that below).
  • llms.txt — auto-generated on publish; lists live URLs and meta descriptionsThe meta description is an HTML head tag — `<meta name=\"description\" content=\"…\">` — that suggests a short summary of the page for the search snippet. It's not a Google ranking factor, and Google rewrites it the majority of the time, but a good one can still lift click-through. in a token-efficient format, and excludes noindex pages and drafts. Duda rolled this out across all of its published sites.
  • IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. — enabled for all sites since November 2021; submits to Bing and Yandex on publish or update. (Google has not adopted IndexNow, so this is a Bing/Yandex freshness signal, not a Google one.)
  • Blog schema — automatic JSON-LD for every blog post.
  • Product schemaProduct schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two. — automatic for active native-store catalog products.
  • Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data. tuning — templates and widgets are continuously optimized (ETag headers, bfcache, unused-CSS removal, WebP, lazy loading on top of the CDN and SSR). Duda reports 82% of its sites passed all three CWV metrics as of May 2025 — a platform-wide median, not a guarantee for your specific site.

What you configure manually

  • Meta titles and descriptions — per page; the AI Assistant can bulk-generate them, but you set and review the values.
  • H1 and heading hierarchy — entirely manual. Duda doesn’t auto-assign H1s.
  • Image alt textAlt text is the value of the `alt` attribute on an HTML `<img>` element — a short text substitute chosen for the image's purpose and context, not a literal description of what it shows. It makes images accessible to screen-reader users and helps search engines understand images, mainly for image search. — the AI suggests; you apply.
  • 301 / 302 redirectsA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. — via the built-in redirect manager UI or bulk CSV upload (up to 200 URLs at once). Wildcard rules (* and **) are supported. If you leave the type blank, it defaults to 301.
  • Page- and blog-level noindex — controllable per page and per blog post, plus a site-wide option. (Set via meta robots — there’s no header-level option.)
  • Open GraphOpen Graph (OG) tags are `<meta>` elements in a page's head, defined by the Open Graph protocol (ogp.me, created by Facebook), that describe a page as a shareable object — its title, description, image, URL, and type. They control how a link preview card looks when the page is shared on Facebook, LinkedIn, Slack, Discord, WhatsApp, and iMessage. They are not a direct Google ranking factor, though Google reads og:title, og:image, and og:site_name as inputs to how a result appears. tags — per page, manual.
  • Local Business schema — enabled through Content > Business Info; it auto-populates from your stored business data once activated.
  • FAQ schema — a per-widget toggle in the Accordion widget’s Content Editor. Worth knowing before you flip it on for the SERP payoff: Google narrowed FAQ rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. to a small set of authoritative government and health sites back in 2023, then removed the feature from Search results entirely starting May 7, 2026. The toggle still adds valid structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. other engines and AI parsers can read — it just won’t earn a Google rich result anymore.
  • Video schema — manual title, description, and upload date in the Video Content tab.
  • Custom JSON-LD — added via Header HTML injection on individual pages or site-wide. Duda warns that incorrect code will be stripped, and the head section only accepts <link>, <script>, and <meta> tags (no <img> or <iframe>).
  • robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. — you can replace the auto-generated default with a custom file via Site Configuration Files. This is the differentiator: most builders won’t let you touch robots.txt at all.
  • Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. — manual verification and integration; the GSC connection powers Duda’s “SEO Opportunities” suggestions.
  • Google Tag Manager — natively integrated through SEO & Site Settings, no-code.

Duda’s hard limits — what you cannot control

These aren’t settings you’ve missed; they’re platform constraints:

  • Canonical tag override — there isn’t one. Duda’s stated policy is that it sets canonicals correctly on your behalf so they “don’t get out of sync with the actual page URLs.” For the overwhelming majority of sites (self-referencing canonicals following the URL structureURL structure is how the parts of a web address — scheme, domain, path, query string, and fragment — are organized and formatted. It mostly affects crawling, usability, and how engines understand a page, not rankings directly.) this is a reasonable guardrail, not a problem. It only bites if you need a cross-domain canonical, a syndication setup, or any non-self-referencing pattern — and there, Duda simply can’t do it.
  • Custom HTTP response headers — not user-configurable. Most importantly, there is no X-Robots-Tag header, so noindex/nofollowrel=\"nofollow\" is a value of the HTML link rel attribute that tells search engines you don't vouch for a linked page and don't want to pass ranking signals to it. Since 2019–2020 Google treats it as a hint, not a directive — and it does not reliably block crawling or indexing. must be set via meta robots tags. Duda sets Vary: User-Agent automatically, and you can’t add your own Cache-Control or Vary headers.
  • Page and blog post caps — a maximum of 1,000 site pages and 1,500 blog posts per site (blog posts don’t count toward the 1,000-page limit). Dynamic Pages count against neither.
  • Single-location LocalBusiness schema — native Local Business schema at the site level supports only one location. Multi-location businesses have to inject manual JSON-LD per page or drive schema through Dynamic Pages.
  • Blog post URL patterns — limited customization compared to WordPress, and blog posts imported via RSS arrive as HTML only (the drag-and-drop editor doesn’t apply to imported content).
  • No third-party SEO plugin ecosystem — there’s no Yoast / RankMath / SEOPress equivalent. Everything goes through Duda’s native UI or its API.
  • No URL parametersThe `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO. for page routing — query-string routing isn’t supported. The upside: Duda’s native store can’t spin up the parameter-based faceted navigationFaceted navigation (faceted search, product filtering) lets visitors refine a list of products or content by attribute — price, color, size, brand, rating. The SEO problem: each filter combination can spawn a distinct crawlable URL, turning a small catalog into millions of near-duplicate pages that waste crawl budget and dilute ranking signals. that wrecks crawl budgetThe number of URLs an engine will crawl in a timeframe. on larger platforms. The downside: filtered states can’t be indexed.
  • Root-domain SSL — Duda issues SSL for the www version automatically; publishing to the bare root domain can cause SSL issues without careful DNS setup.
  • Multi-language page cap — a site with additional languages enabled tops out around 200 total pages, and it’s per-site, not per-language: if a site already has 100 pages, you can only add one more language before hitting the ceiling. Page titles, meta descriptions, and image alt text also aren’t auto-translated — you have to translate each of those manually per language, even though hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. tags themselves are generated automatically.
  • FAQ rich results are gone from Google — Google removed the FAQ rich result feature from Search entirely starting May 7, 2026 (after restricting it to authoritative government/health sites in 2023). Duda’s Accordion-widget FAQ schema toggle still works and still outputs valid markup, but it no longer buys you that SERP feature on Google.
TIP Audit the published Duda output, not the platform checklist

Duda’s SSR baseline is useful, but page titles, headings, directives, links, and injected schema still vary by site and template. This bounded crawl inspects raw HTML only and does not replace Duda’s authenticated settings or Search Console.

Sample up to 150 public pages with my free Scout Site Audit Free Free

  1. Start from the public root URL or the published XML sitemap.
  2. Group repeated findings by template, Dynamic Page type, or agency component.
  3. Fix the shared Duda setting or template, republish, and rerun the same sample.

Dynamic Pages: programmatic SEO on Duda

Dynamic Pages is where Duda’s agency DNA pays off for SEO, and it’s separate from the 1,000-page limit. You connect a page template to a data source — Duda’s internal Content Library, or an external collection like Google Sheets, Airtable, or your own database via API — and each row generates a unique page with its own URL, title, meta description, and OG image.

The SEO-relevant part: you can map title, meta description, Header HTML (for per-page custom schema), and noindex status to data fields, which means fully automated per-page SEO at scale. Agencies use this for multi-location landing pages, franchise sites, real estate and other listings, service-area pages, and staff directories. The third-party tool SEOmatic offers a deeper Duda integration for location- and keyword-targeted programmatic pages from structured data.

The agency / white-label workflow

This is the part generic builder reviews miss:

  • White-label editor — custom branding, a custom editor domain, and client-facing dashboards on the White Label plan.
  • Multi-site dashboard — every client site in one view with filters, labels, usage tracking, and permission controls.
  • REST API — programmatic control over accounts, sites, and content. The Pages endpoint exposes an SEO object for updating title, meta description, OG image, and index status — which makes CRM-to-website SEO sync and bulk metadata pushes realistic.
  • SEO Opportunities — Duda’s GSC-powered feature that surfaces prioritized optimization suggestions based on rankings and CTR.

Duda vs. WordPress for SEO

Honest version: it depends on the metric. Duda wins for Core Web VitalsWeb Vitals is Google's initiative (launched May 2020) for unified page-experience quality signals. Core Web Vitals — LCP, INP, and CLS — are the subset used in ranking; the rest (TTFB, FCP, TBT, Speed Index) are diagnostic, not ranking factors. out of the box (SSR + CloudFront + image optimization with no plugin tuning), fast launch, and agency multi-site workflows. WordPress wins for extensibility — custom canonical patterns, custom HTTP headers, log-file analysis integrations, and the Yoast/RankMath plugin ecosystem. If you need to override a canonical or set an X-Robots-Tag, that decision is made for you: Duda can’t, WordPress can.

Duda and AEO (Answer Engine Optimization)

Duda has leaned hard into AI searchAI search uses large language models and retrieval-augmented generation (RAG) to synthesize an answer from multiple sources rather than returning a ranked list of links. Examples include Google AI Overviews, ChatGPT Search, and Perplexity., rebranding its SEO hub to foreground AEO. Its native AEO surface is the llms.txt file, full structured-data support for AI parsing, IndexNow for freshness signaling, an “Area Served” schema field for service-area businesses, and a Site Audit “Blog Content FreshnessContent freshness is how recent or up-to-date a page is — by its original publish date, its last substantive revision, or the currency of the facts inside it. It only helps rankings when the query itself benefits from recent results (Query Deserves Freshness), and cosmetic date changes with no real update don't count.” theme that flags stale or missing blog content. Duda’s internal study (across 850,000+ sites and 69M AI crawler visits) reported that AI-crawled sites see 3.2× more human traffic than uncrawled ones — directional vendor data, but it points the right way: structured, fresh, well-marked-up content is what AI crawlersAI crawlers are bots from AI companies that fetch web pages to train language models, build AI-search indexes, or answer live user questions. They come in three categories, each with its own user-agent tokens and its own robots.txt controls. reward.

Worth keeping straight: llms.txt is a community proposal, not a confirmed Google ranking signal — Google’s own AI-search guidance names it as a tactic you can ignore for traditional rankings. Its value is for non-Google AI platforms that read it for content discovery.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.