Manual · 13

Website import

With the import you take over an existing website – from Webflow, WordPress, Squarespace or static HTML – including page tree, HTML, CSS, JavaScript and media.

Process

1. Analyze. Import → enter the URL → Analyze. The CMS reads robots.txt and the sitemap. If there is no sitemap, it follows the links. Optional: Also follow all links finds pages that aren’t in the sitemap.

2. Select.

  • Target: Where the source’s home page is imported to. Suggested is a website whose domain matches the source or into which something has already been imported from there; an empty, untouched website; otherwise Create new website (always on a fresh installation without pages) – the source then becomes a separate website with its own page tree; name and domains are prefilled. For a test run, an empty subpage works too.
  • External files: From which hosts files are downloaded. Preselected are your own domain, site-builder CDNs (Webflow, Squarespace, Wix, Shopify …), web fonts (self-hosted is more GDPR-friendly) and library CDNs. Services such as analytics, YouTube, Maps or cookie banners stay external; they need to stay live.
  • Pages: The source as a page tree by URL path – each row shows source, title, target in IllusionCMS and status. The checkbox on a page with subpages cycles on each click: ☑ the page with all subpages (e.g. /news with all articles) → ▬ only the page → ☐ nothing. If you have toggled individual subpages by hand, it also shows ▬; the next click then selects everything again. Branches with many subpages are collapsed; levels without a page of their own in the source (/news/2024) appear as a group. The filter shows matches together with their parent pages. A * marks adjusted paths (lower case, umlauts, reserved names); links are rewritten accordingly.
  • Pages blocked via robots.txt are listed but deselected. When moving your own website, they usually belong to it – such as the legal notice or privacy policy. Select them too includes them.

3. Import. The import runs in the background with progress and a log. You can leave the page and come back later.

4. Result. An overview of new, updated and unchanged pages, of files and CSS/JS – with links into the editor.

What the import takes over

  • Page tree from the URL paths. Missing intermediate levels (e.g. /events for /events/berlin/x) are created as drafts; their subpages are reachable nonetheless.
  • Title, description, Head (meta tags, Open Graph …), HTML and attributes of <html>/<body>.
  • CSS/JS into the library. Whatever is identical on all pages becomes an inherited file on the target page; everything else stays exactly in its place (via asset_url) so that the load order is right.
  • Images, fonts, videos, PDFs into the file manager, folder Import <domain>. For images with srcset, only the largest version is downloaded; the CMS generates its own variants.
  • Links between the pages are rewritten to the new paths.
  • {{ … }} in the original is protected via verbatim.

Repeating imports

An import can be repeated at any time to pick up changes in the source – without duplicates:

Status in the selection Meaning
new will be created
will be synced already imported; updated if the source has changed, otherwise skipped
changed locally – stays edited in the CMS after the import; stays unchanged unless you check Also overwrite … edited in the CMS
overwrites an existing, never-edited page (e.g. the empty starter home page) is replaced
other import – stays the path belongs to a page that was imported from a different website – it is never overwritten. Usually “Create new website” is then the right target

Files and CSS/JS are recognized by their origin: unchanged ones are reused (for images, the CMS only checks with the server instead of downloading them again), changed ones are updated in place. CSS/JS files edited in the CMS are kept. The publication status of existing pages stays as you set it.

Updating a single page: In the editor under Settings → Update from source.

Limits

  • JavaScript apps (React/Vue without server-side rendering) deliver hardly any HTML – the analysis warns about this.
  • Forms, search, logins, shops of the source are taken over only visually.
  • Domain-bound services (cookie banners like Cookiebot, app frameworks like Wized) only work once the website runs under its real domain – in a test instance under localhost they stay empty.
  • Scripts that load further files at runtime relative to their own URL may need to be adjusted.
  • CMS content of the source (e.g. blog articles from the Webflow CMS) is imported as individual static pages, not as a Collection.

Checklist for moving

  1. Test run into an empty subpage or a test instance, check the result.
  2. The real import onto the home page – with all pages blocked via robots.txt that belong to the website.
  3. Click through important pages in the browser, check the Warnings in the result.
  4. Switch forms over to your own solution.
  5. Move header/footer into Snippets or components (step by step).
  6. Point the domain to the IllusionCMS server, set up HTTPS (see Operation), submit /sitemap.xml to the Search Console.