Common Issues
Deployment Issues
Site shows "No content" or blank page
Cause: Missing or invalid manifest.json, or no index page.
Solution:
- Ensure your package has a
manifest.jsonin the root - Verify your manifest has a
"/"page entry pointing to an existing file - Check that the HTML file exists at the path specified in the manifest
// manifest.json must have at minimum:
{
"name": "My Site",
"pages": {
"/": { "file": "pages/index.html", "title": "Home" }
}
}
Changes not appearing after deploy
Cause: Browser cache, CDN cache, or deploy didn't complete.
Solution:
- Hard refresh your browser (Cmd+Shift+R or Ctrl+Shift+R)
- Check the deployment completed in your dashboard
- Wait 1-2 minutes for CDN cache to clear
- Try viewing in an incognito/private window
GitHub deploys but site doesn't update
Cause: Webhook not firing, wrong branch, or package validation failed.
Solution:
- Check Settings → GitHub - ensure the webhook shows as "Active"
- Verify you're pushing to the connected branch
- Check for validation errors in the deploy logs
- Disconnect and reconnect the repository if webhook is missing
CMS / Content Issues
CMS content not showing on pages
Cause: Template tokens not matching field slugs, or template not configured.
Solution:
- Check your template uses exact field slugs:
Common IssuesnotCommon Issues - Verify the CMS template is configured in Settings → CMS Templates
- Ensure the collection has published items (not just drafts)
// Common token mistakes:
Common Issues → Should be Common Issues
→ Should be Deployment Issues
Site shows "No content" or blank page
Cause: Missing or invalid manifest.json, or no index page.
Solution:
- Ensure your package has a
manifest.json in the root
- Verify your manifest has a
"/" page entry pointing to an existing file
- Check that the HTML file exists at the path specified in the manifest
// manifest.json must have at minimum:
{
"name": "My Site",
"pages": {
"/": { "file": "pages/index.html", "title": "Home" }
}
}
Changes not appearing after deploy
Cause: Browser cache, CDN cache, or deploy didn't complete.
Solution:
- Hard refresh your browser (Cmd+Shift+R or Ctrl+Shift+R)
- Check the deployment completed in your dashboard
- Wait 1-2 minutes for CDN cache to clear
- Try viewing in an incognito/private window
GitHub deploys but site doesn't update
Cause: Webhook not firing, wrong branch, or package validation failed.
Solution:
- Check Settings → GitHub - ensure the webhook shows as "Active"
- Verify you're pushing to the connected branch
- Check for validation errors in the deploy logs
- Disconnect and reconnect the repository if webhook is missing
CMS / Content Issues
CMS content not showing on pages
Cause: Template tokens not matching field slugs, or template not configured.
Solution:
- Check your template uses exact field slugs:
{{name}} not {{title}}
- Verify the CMS template is configured in Settings → CMS Templates
- Ensure the collection has published items (not just drafts)
// Common token mistakes:
{{title}} → Should be {{name}}
{{body}} → Should be {{content}}
{{image}} → Should be {{featuredImage}}
Rich text losing formatting / showing raw HTML
Cause: Using double braces instead of triple braces for rich text fields.
Solution: Use triple braces {{{content}}} for rich text (HTML) fields:
// ❌ WRONG - escapes HTML
{{content}}
// ✅ CORRECT - renders HTML
{{{content}}}
Relation field showing UUID instead of name
Cause: Displaying the relation field directly instead of accessing the related item's properties.
Solution: Use dot notation to access the related item's fields:
// ❌ WRONG - shows the UUID
{{author}}
// ✅ CORRECT - shows author's name
{{author.name}}
// ✅ Show author's photo
<img src="{{author.photo}}">
Items not appearing in collection loops
Cause: Items are drafts (not published), or using wrong collection variable name.
Solution:
- Publish your items (set a publishedAt date)
- Use the correct variable name in loops - it's the collection slug in plural form:
// For "blog" collection:
{{#each blogs}}
<h2>{{name}}</h2>
{{/each}}
// For "team" collection:
{{#each teamMembers}}
<h3>{{name}}</h3>
{{/each}}
Image / Asset Issues
Images not loading
Cause: Images not in the public/ folder, or wrong path in HTML.
Solution:
- Place all images in the
public/ folder (e.g., public/images/logo.png)
- Reference them from root:
/images/logo.png (not public/images/logo.png)
// File structure:
public/
images/
logo.png
hero.jpg
// In HTML:
<img src="/images/logo.png">
<img src="/images/hero.jpg">
CSS/JS files not loading
Cause: Same as images - files must be in public/ and referenced from root.
Solution:
// File structure:
public/
css/
styles.css
js/
main.js
// In HTML:
<link rel="stylesheet" href="/css/styles.css">
<script src="/js/main.js"></script>
Form Issues
Forms not submitting / not captured
Cause: Missing data-form attribute or incorrect form setup.
Solution:
- Add the
data-form attribute with a form name
- Set
method="POST"
- Ensure all inputs have
name attributes
<form data-form="contact" method="POST">
<input type="text" name="fullName" required>
<input type="email" name="email" required>
<textarea name="message"></textarea>
<button type="submit">Send</button>
</form>
Form success message not appearing
Cause: JavaScript error or missing success element.
Solution: Check browser console for errors. The default behavior replaces the form with a success message. For custom messages, add a hidden element:
<form data-form="contact" method="POST">
<!-- fields -->
</form>
<div class="form-success" style="display: none;">
Thanks! We'll be in touch.
</div>
Custom Domain Issues
Domain not verifying
Cause: DNS records not propagated or incorrect values.
Solution:
- Double-check the DNS record values exactly match what Fast Mode provided
- Use dnschecker.org to verify propagation
- Wait up to 48 hours for full DNS propagation
- If using Cloudflare, set proxy to "DNS Only" (gray cloud)
"Too many redirects" error
Cause: Cloudflare SSL mode conflict.
Solution: In Cloudflare, go to SSL/TLS and set mode to Full or Full (Strict), not "Flexible".
SSL certificate not provisioning
Cause: Domain verification incomplete or CAA record blocking.
Solution:
- Ensure domain shows as "Verified" in Fast Mode settings
- Wait a few minutes after verification
- If you have CAA records, add one allowing
letsencrypt.org
API Issues
401 Unauthorized errors
Cause: Invalid or expired API key.
Solution:
- Verify your API key is correct (check for extra spaces)
- Ensure you're using the
X-Api-Key header, not Authorization: Bearer
- Check the key hasn't been revoked in Settings → API Keys
403 Forbidden errors
Cause: API key doesn't have access to the requested resource.
Solution: Each API key is tied to one project. You can't access other projects with it.
429 Rate Limited
Cause: Too many requests (limit: 100/minute).
Solution: Add delays between requests. If you need higher limits, contact support.
Zapier Issues
Zaps not triggering
Cause: Zap is off, wrong trigger selected, or connection issue.
Solution:
- Ensure the Zap is turned ON
- Test the trigger in Zapier's editor
- Reconnect your Fast Mode account if needed
- Check you selected the correct site when connecting
MCP Server Issues
For MCP-specific issues, see the dedicated MCP Troubleshooting guide.
Still Stuck?
If you're still having issues:
- Email: [email protected]
- Include: Your site URL, what you expected, what happened, and any error messages
Related Docs
- MCP Troubleshooting — MCP server specific issues
- CMS Overview — Understanding collections and templates
- Manifest Reference — Package structure requirements
→ Should be
Rich text losing formatting / showing raw HTML
Cause: Using double braces instead of triple braces for rich text fields.
Solution: Use triple braces Cause: Missing or invalid manifest.json, or no index page. Solution: Cause: Browser cache, CDN cache, or deploy didn't complete. Solution: Cause: Webhook not firing, wrong branch, or package validation failed. Solution: Cause: Template tokens not matching field slugs, or template not configured. Solution: Cause: Using double braces instead of triple braces for rich text fields. Solution: Use triple braces Cause: Displaying the relation field directly instead of accessing the related item's properties. Solution: Use dot notation to access the related item's fields: Cause: Items are drafts (not published), or using wrong collection variable name. Solution: Cause: Images not in the Solution: Cause: Same as images - files must be in Solution: Cause: Missing Solution: Cause: JavaScript error or missing success element. Solution: Check browser console for errors. The default behavior replaces the form with a success message. For custom messages, add a hidden element: Cause: DNS records not propagated or incorrect values. Solution: Cause: Cloudflare SSL mode conflict. Solution: In Cloudflare, go to SSL/TLS and set mode to Full or Full (Strict), not "Flexible". Cause: Domain verification incomplete or CAA record blocking. Solution: Cause: Invalid or expired API key. Solution: Cause: API key doesn't have access to the requested resource. Solution: Each API key is tied to one project. You can't access other projects with it. Cause: Too many requests (limit: 100/minute). Solution: Add delays between requests. If you need higher limits, contact support. Cause: Zap is off, wrong trigger selected, or connection issue. Solution: For MCP-specific issues, see the dedicated MCP Troubleshooting guide. If you're still having issues:{ for rich text (HTML) fields:Deployment Issues
Site shows "No content" or blank page
manifest.json in the root"/" page entry pointing to an existing file// manifest.json must have at minimum:
{
"name": "My Site",
"pages": {
"/": { "file": "pages/index.html", "title": "Home" }
}
}Changes not appearing after deploy
GitHub deploys but site doesn't update
CMS / Content Issues
CMS content not showing on pages
{{name}} not {{title}}// Common token mistakes:
{{title}} → Should be {{name}}
{{body}} → Should be {{content}}
{{image}} → Should be {{featuredImage}}Rich text losing formatting / showing raw HTML
{{{content}}} for rich text (HTML) fields:// ❌ WRONG - escapes HTML
{{content}}
// ✅ CORRECT - renders HTML
{{{content}}}Relation field showing UUID instead of name
// ❌ WRONG - shows the UUID
{{author}}
// ✅ CORRECT - shows author's name
{{author.name}}
// ✅ Show author's photo
<img src="{{author.photo}}">Items not appearing in collection loops
// For "blog" collection:
{{#each blogs}}
<h2>{{name}}</h2>
{{/each}}
// For "team" collection:
{{#each teamMembers}}
<h3>{{name}}</h3>
{{/each}}
Image / Asset Issues
Images not loading
public/ folder, or wrong path in HTML.
public/ folder (e.g., public/images/logo.png)/images/logo.png (not public/images/logo.png)// File structure:
public/
images/
logo.png
hero.jpg
// In HTML:
<img src="/images/logo.png">
<img src="/images/hero.jpg">CSS/JS files not loading
public/ and referenced from root.// File structure:
public/
css/
styles.css
js/
main.js
// In HTML:
<link rel="stylesheet" href="/css/styles.css">
<script src="/js/main.js"></script>
Form Issues
Forms not submitting / not captured
data-form attribute or incorrect form setup.
data-form attribute with a form namemethod="POST"name attributes<form data-form="contact" method="POST">
<input type="text" name="fullName" required>
<input type="email" name="email" required>
<textarea name="message"></textarea>
<button type="submit">Send</button>
</form>Form success message not appearing
<form data-form="contact" method="POST">
<!-- fields -->
</form>
<div class="form-success" style="display: none;">
Thanks! We'll be in touch.
</div>
Custom Domain Issues
Domain not verifying
"Too many redirects" error
SSL certificate not provisioning
letsencrypt.org
API Issues
401 Unauthorized errors
X-Api-Key header, not Authorization: Bearer403 Forbidden errors
429 Rate Limited
Zapier Issues
Zaps not triggering
MCP Server Issues
Still Stuck?
Related Docs
}
// ❌ WRONG - escapes HTML
Deployment Issues
Site shows "No content" or blank page
Cause: Missing or invalid manifest.json, or no index page.
Solution:
- Ensure your package has a
manifest.json in the root
- Verify your manifest has a
"/" page entry pointing to an existing file
- Check that the HTML file exists at the path specified in the manifest
// manifest.json must have at minimum:
{
"name": "My Site",
"pages": {
"/": { "file": "pages/index.html", "title": "Home" }
}
}
Changes not appearing after deploy
Cause: Browser cache, CDN cache, or deploy didn't complete.
Solution:
- Hard refresh your browser (Cmd+Shift+R or Ctrl+Shift+R)
- Check the deployment completed in your dashboard
- Wait 1-2 minutes for CDN cache to clear
- Try viewing in an incognito/private window
GitHub deploys but site doesn't update
Cause: Webhook not firing, wrong branch, or package validation failed.
Solution:
- Check Settings → GitHub - ensure the webhook shows as "Active"
- Verify you're pushing to the connected branch
- Check for validation errors in the deploy logs
- Disconnect and reconnect the repository if webhook is missing
CMS / Content Issues
CMS content not showing on pages
Cause: Template tokens not matching field slugs, or template not configured.
Solution:
- Check your template uses exact field slugs:
{{name}} not {{title}}
- Verify the CMS template is configured in Settings → CMS Templates
- Ensure the collection has published items (not just drafts)
// Common token mistakes:
{{title}} → Should be {{name}}
{{body}} → Should be {{content}}
{{image}} → Should be {{featuredImage}}
Rich text losing formatting / showing raw HTML
Cause: Using double braces instead of triple braces for rich text fields.
Solution: Use triple braces {{{content}}} for rich text (HTML) fields:
// ❌ WRONG - escapes HTML
{{content}}
// ✅ CORRECT - renders HTML
{{{content}}}
Relation field showing UUID instead of name
Cause: Displaying the relation field directly instead of accessing the related item's properties.
Solution: Use dot notation to access the related item's fields:
// ❌ WRONG - shows the UUID
{{author}}
// ✅ CORRECT - shows author's name
{{author.name}}
// ✅ Show author's photo
<img src="{{author.photo}}">
Items not appearing in collection loops
Cause: Items are drafts (not published), or using wrong collection variable name.
Solution:
- Publish your items (set a publishedAt date)
- Use the correct variable name in loops - it's the collection slug in plural form:
// For "blog" collection:
{{#each blogs}}
<h2>{{name}}</h2>
{{/each}}
// For "team" collection:
{{#each teamMembers}}
<h3>{{name}}</h3>
{{/each}}
Image / Asset Issues
Images not loading
Cause: Images not in the public/ folder, or wrong path in HTML.
Solution:
- Place all images in the
public/ folder (e.g., public/images/logo.png)
- Reference them from root:
/images/logo.png (not public/images/logo.png)
// File structure:
public/
images/
logo.png
hero.jpg
// In HTML:
<img src="/images/logo.png">
<img src="/images/hero.jpg">
CSS/JS files not loading
Cause: Same as images - files must be in public/ and referenced from root.
Solution:
// File structure:
public/
css/
styles.css
js/
main.js
// In HTML:
<link rel="stylesheet" href="/css/styles.css">
<script src="/js/main.js"></script>
Form Issues
Forms not submitting / not captured
Cause: Missing data-form attribute or incorrect form setup.
Solution:
- Add the
data-form attribute with a form name
- Set
method="POST"
- Ensure all inputs have
name attributes
<form data-form="contact" method="POST">
<input type="text" name="fullName" required>
<input type="email" name="email" required>
<textarea name="message"></textarea>
<button type="submit">Send</button>
</form>
Form success message not appearing
Cause: JavaScript error or missing success element.
Solution: Check browser console for errors. The default behavior replaces the form with a success message. For custom messages, add a hidden element:
<form data-form="contact" method="POST">
<!-- fields -->
</form>
<div class="form-success" style="display: none;">
Thanks! We'll be in touch.
</div>
Custom Domain Issues
Domain not verifying
Cause: DNS records not propagated or incorrect values.
Solution:
- Double-check the DNS record values exactly match what Fast Mode provided
- Use dnschecker.org to verify propagation
- Wait up to 48 hours for full DNS propagation
- If using Cloudflare, set proxy to "DNS Only" (gray cloud)
"Too many redirects" error
Cause: Cloudflare SSL mode conflict.
Solution: In Cloudflare, go to SSL/TLS and set mode to Full or Full (Strict), not "Flexible".
SSL certificate not provisioning
Cause: Domain verification incomplete or CAA record blocking.
Solution:
- Ensure domain shows as "Verified" in Fast Mode settings
- Wait a few minutes after verification
- If you have CAA records, add one allowing
letsencrypt.org
API Issues
401 Unauthorized errors
Cause: Invalid or expired API key.
Solution:
- Verify your API key is correct (check for extra spaces)
- Ensure you're using the
X-Api-Key header, not Authorization: Bearer
- Check the key hasn't been revoked in Settings → API Keys
403 Forbidden errors
Cause: API key doesn't have access to the requested resource.
Solution: Each API key is tied to one project. You can't access other projects with it.
429 Rate Limited
Cause: Too many requests (limit: 100/minute).
Solution: Add delays between requests. If you need higher limits, contact support.
Zapier Issues
Zaps not triggering
Cause: Zap is off, wrong trigger selected, or connection issue.
Solution:
- Ensure the Zap is turned ON
- Test the trigger in Zapier's editor
- Reconnect your Fast Mode account if needed
- Check you selected the correct site when connecting
MCP Server Issues
For MCP-specific issues, see the dedicated MCP Troubleshooting guide.
Still Stuck?
If you're still having issues:
- Email: [email protected]
- Include: Your site URL, what you expected, what happened, and any error messages
Related Docs
- MCP Troubleshooting — MCP server specific issues
- CMS Overview — Understanding collections and templates
- Manifest Reference — Package structure requirements
// ✅ CORRECT - renders HTML
{Deployment Issues
Site shows "No content" or blank page
Cause: Missing or invalid manifest.json, or no index page.
Solution:
- Ensure your package has a
manifest.json in the root
- Verify your manifest has a
"/" page entry pointing to an existing file
- Check that the HTML file exists at the path specified in the manifest
// manifest.json must have at minimum:
{
"name": "My Site",
"pages": {
"/": { "file": "pages/index.html", "title": "Home" }
}
}
Changes not appearing after deploy
Cause: Browser cache, CDN cache, or deploy didn't complete.
Solution:
- Hard refresh your browser (Cmd+Shift+R or Ctrl+Shift+R)
- Check the deployment completed in your dashboard
- Wait 1-2 minutes for CDN cache to clear
- Try viewing in an incognito/private window
GitHub deploys but site doesn't update
Cause: Webhook not firing, wrong branch, or package validation failed.
Solution:
- Check Settings → GitHub - ensure the webhook shows as "Active"
- Verify you're pushing to the connected branch
- Check for validation errors in the deploy logs
- Disconnect and reconnect the repository if webhook is missing
CMS / Content Issues
CMS content not showing on pages
Cause: Template tokens not matching field slugs, or template not configured.
Solution:
- Check your template uses exact field slugs:
{{name}} not {{title}}
- Verify the CMS template is configured in Settings → CMS Templates
- Ensure the collection has published items (not just drafts)
// Common token mistakes:
{{title}} → Should be {{name}}
{{body}} → Should be {{content}}
{{image}} → Should be {{featuredImage}}
Rich text losing formatting / showing raw HTML
Cause: Using double braces instead of triple braces for rich text fields.
Solution: Use triple braces {{{content}}} for rich text (HTML) fields:
// ❌ WRONG - escapes HTML
{{content}}
// ✅ CORRECT - renders HTML
{{{content}}}
Relation field showing UUID instead of name
Cause: Displaying the relation field directly instead of accessing the related item's properties.
Solution: Use dot notation to access the related item's fields:
// ❌ WRONG - shows the UUID
{{author}}
// ✅ CORRECT - shows author's name
{{author.name}}
// ✅ Show author's photo
<img src="{{author.photo}}">
Items not appearing in collection loops
Cause: Items are drafts (not published), or using wrong collection variable name.
Solution:
- Publish your items (set a publishedAt date)
- Use the correct variable name in loops - it's the collection slug in plural form:
// For "blog" collection:
{{#each blogs}}
<h2>{{name}}</h2>
{{/each}}
// For "team" collection:
{{#each teamMembers}}
<h3>{{name}}</h3>
{{/each}}
Image / Asset Issues
Images not loading
Cause: Images not in the public/ folder, or wrong path in HTML.
Solution:
- Place all images in the
public/ folder (e.g., public/images/logo.png)
- Reference them from root:
/images/logo.png (not public/images/logo.png)
// File structure:
public/
images/
logo.png
hero.jpg
// In HTML:
<img src="/images/logo.png">
<img src="/images/hero.jpg">
CSS/JS files not loading
Cause: Same as images - files must be in public/ and referenced from root.
Solution:
// File structure:
public/
css/
styles.css
js/
main.js
// In HTML:
<link rel="stylesheet" href="/css/styles.css">
<script src="/js/main.js"></script>
Form Issues
Forms not submitting / not captured
Cause: Missing data-form attribute or incorrect form setup.
Solution:
- Add the
data-form attribute with a form name
- Set
method="POST"
- Ensure all inputs have
name attributes
<form data-form="contact" method="POST">
<input type="text" name="fullName" required>
<input type="email" name="email" required>
<textarea name="message"></textarea>
<button type="submit">Send</button>
</form>
Form success message not appearing
Cause: JavaScript error or missing success element.
Solution: Check browser console for errors. The default behavior replaces the form with a success message. For custom messages, add a hidden element:
<form data-form="contact" method="POST">
<!-- fields -->
</form>
<div class="form-success" style="display: none;">
Thanks! We'll be in touch.
</div>
Custom Domain Issues
Domain not verifying
Cause: DNS records not propagated or incorrect values.
Solution:
- Double-check the DNS record values exactly match what Fast Mode provided
- Use dnschecker.org to verify propagation
- Wait up to 48 hours for full DNS propagation
- If using Cloudflare, set proxy to "DNS Only" (gray cloud)
"Too many redirects" error
Cause: Cloudflare SSL mode conflict.
Solution: In Cloudflare, go to SSL/TLS and set mode to Full or Full (Strict), not "Flexible".
SSL certificate not provisioning
Cause: Domain verification incomplete or CAA record blocking.
Solution:
- Ensure domain shows as "Verified" in Fast Mode settings
- Wait a few minutes after verification
- If you have CAA records, add one allowing
letsencrypt.org
API Issues
401 Unauthorized errors
Cause: Invalid or expired API key.
Solution:
- Verify your API key is correct (check for extra spaces)
- Ensure you're using the
X-Api-Key header, not Authorization: Bearer
- Check the key hasn't been revoked in Settings → API Keys
403 Forbidden errors
Cause: API key doesn't have access to the requested resource.
Solution: Each API key is tied to one project. You can't access other projects with it.
429 Rate Limited
Cause: Too many requests (limit: 100/minute).
Solution: Add delays between requests. If you need higher limits, contact support.
Zapier Issues
Zaps not triggering
Cause: Zap is off, wrong trigger selected, or connection issue.
Solution:
- Ensure the Zap is turned ON
- Test the trigger in Zapier's editor
- Reconnect your Fast Mode account if needed
- Check you selected the correct site when connecting
MCP Server Issues
For MCP-specific issues, see the dedicated MCP Troubleshooting guide.
Still Stuck?
If you're still having issues:
- Email: [email protected]
- Include: Your site URL, what you expected, what happened, and any error messages
Related Docs
- MCP Troubleshooting — MCP server specific issues
- CMS Overview — Understanding collections and templates
- Manifest Reference — Package structure requirements
}
Relation field showing UUID instead of name
Cause: Displaying the relation field directly instead of accessing the related item's properties.
Solution: Use dot notation to access the related item's fields:
// ❌ WRONG - shows the UUID
// ✅ CORRECT - shows author's name
// ✅ Show author's photo
<img src="">
Items not appearing in collection loops
Cause: Items are drafts (not published), or using wrong collection variable name.
Solution:
- Publish your items (set a publishedAt date)
- Use the correct variable name in loops - it's the collection slug in plural form:
// For "blog" collection:
{{#each blogs}}
<h2>Common Issues</h2>
{{/each}}
// For "team" collection:
{{#each teamMembers}}
<h3>Common Issues</h3>
{{/each}}
Image / Asset Issues
Images not loading
Cause: Images not in the public/ folder, or wrong path in HTML.
Solution:
- Place all images in the
public/folder (e.g.,public/images/logo.png) - Reference them from root:
/images/logo.png(notpublic/images/logo.png)
// File structure:
public/
images/
logo.png
hero.jpg
// In HTML:
<img src="/images/logo.png">
<img src="/images/hero.jpg">
CSS/JS files not loading
Cause: Same as images - files must be in public/ and referenced from root.
Solution:
// File structure:
public/
css/
styles.css
js/
main.js
// In HTML:
<link rel="stylesheet" href="/css/styles.css">
<script src="/js/main.js"></script>
Form Issues
Forms not submitting / not captured
Cause: Missing data-form attribute or incorrect form setup.
Solution:
- Add the
data-formattribute with a form name - Set
method="POST" - Ensure all inputs have
nameattributes
<form data-form="contact" method="POST">
<input type="text" name="fullName" required>
<input type="email" name="email" required>
<textarea name="message"></textarea>
<button type="submit">Send</button>
</form>
Form success message not appearing
Cause: JavaScript error or missing success element.
Solution: Check browser console for errors. The default behavior replaces the form with a success message. For custom messages, add a hidden element:
<form data-form="contact" method="POST">
<!-- fields -->
</form>
<div class="form-success" style="display: none;">
Thanks! We'll be in touch.
</div>
Custom Domain Issues
Domain not verifying
Cause: DNS records not propagated or incorrect values.
Solution:
- Double-check the DNS record values exactly match what Fast Mode provided
- Use dnschecker.org to verify propagation
- Wait up to 48 hours for full DNS propagation
- If using Cloudflare, set proxy to "DNS Only" (gray cloud)
"Too many redirects" error
Cause: Cloudflare SSL mode conflict.
Solution: In Cloudflare, go to SSL/TLS and set mode to Full or Full (Strict), not "Flexible".
SSL certificate not provisioning
Cause: Domain verification incomplete or CAA record blocking.
Solution:
- Ensure domain shows as "Verified" in Fast Mode settings
- Wait a few minutes after verification
- If you have CAA records, add one allowing
letsencrypt.org
API Issues
401 Unauthorized errors
Cause: Invalid or expired API key.
Solution:
- Verify your API key is correct (check for extra spaces)
- Ensure you're using the
X-Api-Keyheader, notAuthorization: Bearer - Check the key hasn't been revoked in Settings → API Keys
403 Forbidden errors
Cause: API key doesn't have access to the requested resource.
Solution: Each API key is tied to one project. You can't access other projects with it.
429 Rate Limited
Cause: Too many requests (limit: 100/minute).
Solution: Add delays between requests. If you need higher limits, contact support.
Zapier Issues
Zaps not triggering
Cause: Zap is off, wrong trigger selected, or connection issue.
Solution:
- Ensure the Zap is turned ON
- Test the trigger in Zapier's editor
- Reconnect your Fast Mode account if needed
- Check you selected the correct site when connecting
MCP Server Issues
For MCP-specific issues, see the dedicated MCP Troubleshooting guide.
Still Stuck?
If you're still having issues:
- Email: [email protected]
- Include: Your site URL, what you expected, what happened, and any error messages
Related Docs
- MCP Troubleshooting — MCP server specific issues
- CMS Overview — Understanding collections and templates
- Manifest Reference — Package structure requirements