Documentation

Deploy a site
Browse documentation

Troubleshooting

Find what you are seeing, then the fix. Messages are quoted the way the product shows them.

Start with these checks

Upload problems

“ZIP must contain an index.html file at the root level. If this is a React, Next.js, or Vue project, run its build command first and zip the build output folder instead.”Your homepage must be called index.html and sit at the top of the ZIP, or inside one folder at the top. Rename home.html or Index.html to index.html, move it up, and zip again.
“This is a React project, not a built site” — “Nothing was uploaded.”You uploaded source code. Run the build, then upload the folder it creates — usually dist or build. The commands for each framework are in Website hosting.
“This upload is 72 MB, more than the 50 MB of storage on the Free plan.”One ZIP or folder can be up to 50 MB on Free and 500 MB on Plus and Pro. Compress large images and videos, and leave out design files, old versions and node_modules — or split the site.
“hero.mp4 (64 MB) is over the per-file limit: each file can be up to 50 MB on the Plus plan.”Every file — inside a ZIP or folder too — can be up to 5 MB on Free, 50 MB on Plus and 100 MB on Pro. The message names the files: compress them (videos usually shrink a lot), or upgrade.
“Not enough storage: this needs 38 MB but your Free plan has 12 MB left of 50 MB.”Storage counts every site plus your Media Library images: 50 MB on Free, 500 MB on Plus and 5 GB on Pro. Delete a site or images you no longer need, or upgrade.
“ZIP contains 73 files, exceeding your free plan limit of 50 files”A ZIP or folder can hold 50 files on Free and 100 on Plus; Pro has no file limit for ZIPs and takes 500 files per folder. Remove files the site doesn't use, or upgrade.
“You've used every project slot.”All of your plan's sites are in use. A Free site that has gone offline still holds its slot until it is deleted. Delete a site you no longer need, or upgrade.
“Daily deploy limit reached”Deploys are limited to 15 an hour and 40 a day on Free, and 40 an hour and 150 a day on Plus and Pro. Only deploys that succeed count. Wait for the limit to reset.
“Another update of this site is running. Try again in a moment.”Another upload, restore or GitHub deploy is updating the same site. Wait for it to finish, then try again.
The name is refused because it “contains a restricted term”Names that could impersonate a bank, payment service, brand or sign-in page are blocked. Choose a name that describes your own site.
The address has extra digits at the endThe name you chose was taken, so digits were added. Addresses can't be renamed — publish again under a free name and delete this site if you need a different one.

The security scan blocked an upload

When a scan blocks an upload, nothing is published and the dashboard lists each flagged file with one of these reasons. Fix the file and upload again; if you think the scan is wrong, contact support with the site name.

Sign-in form detectedRemove the password field, or use a hosted auth provider's redirect flow instead.
Password field posting to another serverRemove the password field, or point the form at a supported form service.
Payment wording with a data-collecting formIf this is a real billing page, take payments through Stripe or PayPal rather than a raw form.
Reads like a brand account noticeReword the title and headings so the page doesn't read like an account or security notice.
Sends visitors away automaticallyUse a normal link, or redirect to a path inside your own site.
Hidden or encoded destinationIf this came from a bundler or packer, ship a standard production build instead of an obfuscated one.
Cryptocurrency mining scriptRemove the third-party script and check your dependencies for a compromised package.
Sends browser cookies off-siteRemove it. For visitor analytics, use the built-in Google Analytics integration.
Links to a flagged domainCheck the external links and third-party scripts in this file.
Triggers an executable downloadDistribute installers through a release host, or package them as .zip.
Stylesheet can execute codeRemove those declarations — modern browsers ignore them anyway.
Executable file typeRemove it from the folder, or package it as .zip if visitors need to download it.
SVG contains a scriptRe-export the SVG from your design tool, or strip the <script> and on* attributes.

The site doesn't look right

Images or styles are missingCheck the paths in your HTML. Use paths relative to the page, like images/logo.png — not C:\Users\… or file:///…, which only exist on your computer. Match capitals exactly: Logo.png and logo.png are different files online.
A file never arrivedFolder uploads keep web files only — pages, styles, scripts, images, fonts, audio, video, JSON, PDFs and similar — and leave out hidden files and program files. See Limits.
A blank white pageUsually framework source uploaded without building, or a build that expects to live in a subfolder. Build the project and upload the output folder; with Vite, keep the default base.
Refreshing a page of your app shows the homepage or “not found”Deep links work when the site is one HTML file plus JavaScript. With several HTML files, link to the real pages, or choose what missing pages show under Page Not Found.
Your 404.html isn't shown for broken linksIt isn't picked up automatically. Choose it under Page Not FoundOne of my pages.
An old version is still showing after an updateBrowsers keep pages for up to 5 minutes, images for 30 and scripts and styles for an hour. Hard-refresh, or give a changed image or script a new file name.
The Visual Editor won't let you change somethingIt can't add or remove elements, and content your scripts create is read-only there. Use Code Edit on Pro, or change the source and use Replace files.

The site is offline

“This site has expired”A Free site goes offline 3 days after it is deployed and is deleted 7 days after that. Upgrade to Plus before then and it comes straight back online; replacing its files doesn't restart the clock.
“Project Not Found”No site has this address: check the spelling, or the site was deleted.
The site was taken downSites that break the terms — phishing or malware, for example — can be removed. Contact us if you think it is a mistake.
Your custom domain doesn't loadCheck the domain still points at Dplooy — see Custom domains. The dplooy.com address keeps working either way.

Form problems

Nothing happens when you press SendThe form isn't posting anywhere. Its action must be your endpoint's address and method must be POST. Remove any onsubmit, event.preventDefault() or fetch code an AI added.
“Couldn't send your message”The endpoint turned the message away. Open it in Forms and read the banner: it may not be assigned to your site yet, it may be paused, or the form may be on another website — turn on Allow submissions from any website. It also appears once the monthly limit is reached, or after a downgrade freezes the endpoint.
The message is in Forms, but no email arrivedCheck your spam folder. Then check Email me new submissions and Notification address in the endpoint's settings. Messages caught as spam are never emailed.
“File uploads are not supported. Submit as application/x-www-form-urlencoded.”Forms accept text fields only. Remove the file input and enctype="multipart/form-data".
Test messages from the Site Builder don't arriveTest on the published site. The builder's preview and editor can't send messages.

Passwords and analytics

  • Visitors are locked out of a password-protected site — after 5 wrong passwords a visitor has to wait 15 minutes. Once in, they stay in for 24 hours.
  • Analytics look low or empty — only page loads count; bots and 404s never do. On Free only the overview is shown. Numbers differ from Google Analytics because the two count differently. See Analytics.

API problems

401 INVALID_API_KEYThe key is missing, mistyped or revoked. Send Authorization: Bearer dpk_live_…, or create a new key.
429 RATE_LIMIT_EXCEEDEDMore than 30 requests in a minute from one address. Wait a minute and retry.
429 DEPLOY_LIMIT_REACHEDThe hourly or daily deploy limit for your plan. Wait for it to reset.
409 DEPLOY_IN_PROGRESSAnother update of the same site is running. Retry in a moment.

Every code is listed in the API reference.

Account problems

  • No verification email — check your spam or junk folder, then use the resend button on the verification page.
  • Forgot your password — use Forgot password? on the sign-in page. The reset link expires after 1 hour.
  • Signed up with Google — sign in with Continue with Google. Your password is managed by your Google account, not by Dplooy.