How to export a CMS based webflow site to a static site

The webflow CMS is great. Sometimes, however, one has the case that the customer no longer wants to use the site as a CMS. How do you get to the content without rebuilding everything?

As a “producer” of conference websites, we often have this case. One year after the conference, the website is only stored as an archive - CMS functions are no longer required.

The following description refers to the working environment: Apple Mac OS and a terminal that can handle wget. If your terminal does not understand wget, you can install it via homebrew.

  • visit the project settings in webflow

  • deactivate CDN, minify and combine

  • open the terminal on your mac

  • check if wget is working (of not, you have to assure)

  • navigate to your planned target folder

  • use the following wget command:

    wget
    –mirror
    –page-requisites
    –convert-links
    –span-hosts
    –domains www.DOMAINXXX.org,daks2k3a4ib2z.cloudfront.net,uploads-ssl.webflow.com,uploads.webflow.com
    www.DOMAINXXX.org

  • „—span-hosts“ is important if files are outside of your own host (fonts, scripts, etc.)

  • „—domains“ regulates on which pages may be searched. Look in the source code of the Webflow page for the relevant URLs.
    IMPORTANT! If that is not set precisely, you will not get all the files - or - you’ll download half the internet :slight_smile:

  • Something gets wrong? You have to kill the command?
    killAll -9 wget

  • you probably get the *.js and *.css encrypted. Then just pull them from your webflow source code. This are only 2 files.

You should have the appropriate directories in your target directory after the download. The internal linking should also work.

Hope this helps :slight_smile:

tkwebreform

5 Likes

Dear tkwebreform,

Thanks for your post, we as an event organizer are actually in EXACTLY the same situation.

Unfortunately I could not get wget installed on my MacBook. Homebrew I got it, but wget I google for a way to install it and always ended up with some errors. :-/

Also the actual wget command I am not sure how that would work? Write it without line breaks? What are all these urls and the numbers [1], [2] and [3] representing?

Command would be something like that?

wget –mirror –page-requisites –convert-links –span-hosts –domains http://smartmicethailand.webflow.io

For now I got a work around by download the page from webflow and using the app Sitesucker + some manual code fixing.

Best,
Stefan

Hey @Idext, what manual coding did you implement with Sitesucker to get it to download the CMS content?

I desperately need to asses the file size of our site to remove unnecessary bloating.

Any help would be greatly appreciated :v:

I’ve successfully downloaded a CMS site via siteSucker but it’s likely smarter in the long run to use curl or wget if you’re a developer.
Using the guide as… a guide, i restricted SS to paths and added the regular paths that Webflow uses for resources (google api, webflow uploads, etc.).
https://ricks-apps.com/osx/sitesucker/archive/2.x/2.11.x/2.11/manuals/en/pgs/General.html

For siteSucker, set it up to localize files (that’s my flavor), then use the Paths feature:

Once that is setup, go to the Paths panel and enter in resource domains like this:


Tips:

  • Check the source of your test pages to make sure you’re grabbing all of the domains used in your project (fonts, jQuery, etc.)
  • Don’t forget to use the HTTP or HTTPS on your own URL if that’s how your Webflow test page is setup (https://test.webflow.io/ or http://test.webflow.io/)
  • When entering a URL, don’t forget the trailing slash

Good luck. For more information about things like this, you may need to dig deeper into Developer world, which is powerful but bottomless.

2 Likes

I managed to export a CMS site to static with the Udesly adapter: Webflow to Jamstack | Udesly.com . Hosting can even be free when hosting on Netlify, and CMS collections can be edited there.

1 Like

Could you explain more about this? Sitesucker says “Download failed with error code 403 (forbidden)”

You should try this :

It should “work” but all the javascript (slider, mousehover action, …) is broken, i don’t know why.