Frequently asked questions

Can I use dynamic pages without a Pro subscription?

No, you cannot use dynamic pages (PRO features) without a PRO subscription or lifetime license when using the cloud builder. To use PRO features for free, you would need to self-host the Webstudio builder (not just the site).

Do I need Pro subscription to use dynamic pages with CLI deployment?

Yes, dynamic pages are a Pro feature. To use Pro features for free, you would need to self-host the Webstudio builder (not just the site). The cloud builder requires a Pro subscription or lifetime license to access Pro features like dynamic pages, even if you're deploying via CLI to external hosting.

How can I handle different aspect ratios for Vimeo embeds?

Vimeo embed aspect ratios are defined in styles. For dynamic pages that need to handle both horizontal 16:9 and vertical 9:16 videos, you can conditionally show landscape or portrait instances based on CMS data. Add a field in your CMS to specify the video orientation, then use conditional visibility to show the appropriate embed configuration.

How can I hide the current blog post from related posts in WordPress integration?

To hide the current blog post from a collection of related posts, use the Show toggle with a binding condition. The expression should be: system.params.slug == Collection Item.data.slug ? false : true. This compares the current page slug with each collection item's slug - if they match, it hides the item (false), otherwise shows it (true). Apply this condition to individual collection items, not the entire collection.

How do I build directory/filter websites with dynamic URLs in Webstudio?

For directory websites with dynamic URLs and filtering:

  1. Use Webstudio's data variables feature for dynamic content,
  2. Check the YouTube videos about filters with Baserow as CMS,
  3. For filtering similar to Finsweet Attributes, you can implement JavaScript-based filtering through HTML Embed,
  4. Dynamic URLs can be generated using collection pages with URL parameters. This approach provides good SEO benefits for localized content.
How do I handle assets being picked up by root dynamic pages in Docker?

This is a limitation with the current router used for Docker deployments. Assets in _image/** routes can be incorrectly handled by root dynamic pages like :slug. As a workaround, use more specific paths like /blog/:slug instead of just :slug for your dynamic pages. This issue is recognized and may be addressed in future releases.

How do I set up dynamic pages with Sanity CMS in Webstudio?

For Sanity CMS dynamic pages:

  1. Create a general resource for all posts using the URL field (not expression editor): https://YOUR-PROJECT.api.sanity.io/v1/data/query/production?query=*[_type == "post"]{..., person->, mainImage{asset->{url}}},
  2. Create a single post resource using the expression editor: https://YOUR-PROJECT.api.sanity.io/v1/data/query/production?query=*[slug.current=="${system.params.slug}"][0]{..., person->, mainImage{asset->{url}}}. Use system.params.slug for URL parameters. Avoid multiple queries in GROQ within the URL as Webstudio may have issues with them.
What's the best approach for building blogs with Webstudio?

For blogs with Webstudio, you have several options: 1) Use headless CMS like Ghost, Directus, or Contentful for structured content management, 2) For smaller blogs (under 50 posts), consider designing individual pages and copying/pasting elements between them, 3) Use dedicated blog platforms like Hyvor Blogs or Zenblog that are designed for Webstudio integration, 4) Implement caching strategies to avoid API limits and improve performance. Choose based on your scale, technical requirements, and content management needs.

Why are image assets being handled by dynamic page routes in Docker deployments?

In Docker deployments, dynamic routes like ':slug' can intercept image asset requests (like '_image/**' routes), causing 404/302 errors when the slug is connected to a CMS. This is a limitation of the current router used for deployment. The workaround is to use more specific paths like '/blog/:slug' instead of root-level dynamic routes.

Last 30 days

Cloudflare logo
242.5M
Requests
Cloudflare logo
7.12 TB
Data served
Github logo
13
Issues closed
Github logo
24
Merged PRs

Built to scale

Total

Webstudio logo
166.6K
Projects
Github star
7.5K
GitHub stars
Discord logo
5.1K
Discord members
Webstudio logo
87.2K
Users
globe