Appearance
Importing your site from elsewhere
The importer brings an existing static site onto an Imaginook subdomain from several sources — it's "bring your site from anywhere," not a single competitor. Open it from your dashboard (Import next to a site) or at /sites/<id>/import-site.
Importing replaces all current files on the site. Every imported file is screened by the upload allowlist and malware scan and counted against your storage quota. If anything is blocked, the whole import is rolled back and your site is left exactly as it was.
Sources
ZIP archive
Upload a .zip of your site (the same format as a site export). Entries are extracted with zip-slip / zip-bomb protections (path confinement, symlink rejection, entry-count / decompressed-size / compression-ratio caps).
Tar archive
Upload a .tar, .tar.gz/.tgz, or .tar.bz2 — a common static-host export format. The same entry-count and size caps apply.
Website URL (crawl)
Enter a public site's URL and the importer crawls it: it downloads same-origin pages and their assets and rewrites internal links/asset references to relative paths, so the imported copy is self-contained. Cross-origin references are left untouched.
SSRF protection: every URL fetched — the entry URL, every redirect it follows, and every asset — is checked first. Hosts that resolve to internal, loopback, link-local, private (RFC1918), or other reserved/CGNAT addresses are refused, including a public URL that redirects to an internal one, and the connection is pinned to the validated address so DNS can't rebind. The crawl is bounded by configurable caps: max pages, max depth, total size, per-file size, and redirect count.
Host export layouts
Archives are commonly wrapped in a single top-level folder, or publish from a subdirectory like public/, _site/, dist/, or build/. The importer detects this and maps the real site root automatically, so your site doesn't end up one level too deep.
Limits applied to every source
- Allowlist — only static web file types are accepted; executables/scripts (
.php, …) are rejected. (Imaginook serves all user content inert regardless.) - Malware scan — every file runs through the same scanner as a direct upload.
- Quota — the import must fit your storage quota; an over-quota import is rejected and nothing is written.
- Transactional — quota + scan + publish are one unit; a partial failure rolls back completely. Re-running the same import is idempotent.
Troubleshooting
- "…would exceed your storage quota" — the imported site is larger than your remaining storage. Free up space or import a smaller site.
- "… was flagged" — a file tripped the malware scanner; the import was rolled back. Remove the offending file and try again.
- "… is required for this source" — the uploaded file's type doesn't match the chosen source (e.g. a
.taruploaded to the ZIP source). - "resolves to a non-public address" — the URL (or a redirect from it) points at a private/internal host, which can't be crawled.
- "Too many redirects" / "too large" — the remote site exceeded a crawl cap.
Docs are reachable from the importer page and the docs index.