How to get & maintain a comprehensive blueprint of EVERYTHING that makes my site

This is an existential matter for a website. After you’ve spent thousands of hours on your sites, the more there is to lose on everything that puts it together. And in case something happens to a part of it (Wix Forum flashbacks) or to all of it, how can a Wix builder be best prepared/what are systems & best practices to ensure EVERYTHING is saved & can be rebuilt with minimal time & effort wasted?

As the site expands, so does this concern; that I have pretty much nothing, no independant backup with myself of all I’ve built & data of large complex sites. It’s all only with Wix. If anything were to happen to Wix/my data in Wix, so will go years of all my work, time, effort & money. After all that’s gone in to these sites, I can’t imagine what I’d do if something like this happens so being as much prepared is essential. On this matter, surely Wix understands its great responsibility to its users.

By everything I mean images/wireframes of each page, with all elements, their sizes, positions, layering, layouts, settings, text, tags, seo, datasets & their settings, filters, a page’s logic, connections & mechanisms, custom code, all such things in apps & cms data & broader architecture

Goal: Basically a comprehensive blueprint of how the entire site looks & works. An independent backup of as much as possible at a granular level.

Q: 1) For traditional devs building sites without web builders, is this done with Github? What’s this topic called? What are some sources to know about this & systems used for this?
2) Are there robust solutions within Wix for this? Or does Wix Studio have things?
3) 3rd party solutions for this?

GitHub is a Hub that stores Git repositories (as well as offers many other services for development).

Git is the tool used by most developers nowadays for version control and is the best thing ever. My own personal rule which I think anyone should take to heart is Never touch any code without Git

Git saves the procedural changes made to files between committed versions of the code, and allows viewing differences (i.e. what changed between version and version), jumping around between different points on the code’s timeline, branching out, and merging branches

If anything breaks functionality, you can always jump back and forth “in time”, to discover and correct the breaking changes; really, life-saving for development.
It is something very much worth looking into.
A few example pictures taken from a Git UI on certain repositories of mine:

Git graph, each node is a version of the codebase committed to history, one of the versions is selected and within it you can see three files were changed, along with how many lines were added/removed from each:

Changes to a file between two versions:


Wix itself has a GitHub integration, it sets up a Git repository for you, and allows you to code on your local machine, rather than the editor on site, testing code that does not persist on server, using your own custom coding tools, and of course - full control over the versioning of your code, far simpler rollback ability in case of errors

The main problem I ran into while using this integration is that the locally synced .wix types are not the same as the ones on the editor, which can be clumsy to work with

It does help a little with the UI, but not nearly as much as it could, and should:
The UI is only synced in the code as { uiVersion: number } in a json file, which does make rolling-back to a stable version simple enough to do.
However, it does not revert the editor, so one still has to identify and use the correct revision in Wix’s Site History feature (which does not have a convenient overlap with uiVersion) to restore past versions of the UI.
Moreover, since the UI is not saved as a text file (or, any file in the code repository, for that matter) - it cannot be differentiated or worked with freely.
What I do is describe to the best of my ability what exactly has changed in the UI between revisions, but other than that there’s not much I know of that can be done to properly version-control the site’s UI

The same goes for CMS, Wix does not offer a schematic to version control the database’s structure. I usually add a few files to the repo describing my table structure.

As for the data itself, that is no longer about code and site structure, but rather simple backups, I’m not sure what Wix offers in that matter, but many options are available to you based on your needs. Simplest would be extraction of the tables’ data into files and storage in a cloud provider

Thank you for that detailed, helpful response. Yes, I’ve peeked a little into Git & seen how everyone loves it. Thank you for detailing how it relates to Wix. The integration isn’t as seamless nor comprehensive but worth trying & considering. I’ll try your advise. Quite a lot to learn!

Q re UI. Seems you say it can’t be edited via code. 1) But does it save it in a way that the site’s appearance & layout can be previewed independently of Wix? (for eg if Wix is down/disconnected)
2) Does it show positions & sizes of elements? (this would be very useful)
3) Could you elaborate on how the UI data exists in the repository? You mentioned it’s in a JSON file, can this really not at least be viewed? And really not editable? Could it be that full UI code is not in the repo & only with Wix?

The GitHub integration is mainly for tracking/branching code you add to your site (Velo) - not the site code/UI itself.

At the moment, the closest thing to a log of your site is the Wix Site History - Viewing and Managing Your Site History | Help Center | Wix.com - but not currently possible to download site files (the code that makes up the site) since they’re specific to Wix itself and won’t run elsewhere

  1. Unfortunately no, once building a site on Wix, you are completely dependent on them for the UI, and it is only stored on their servers.
  2. I wish, but no, the only thing pertaining to UI that is stored in your code repository when using the GitHub integration is a little number telling Wix which uiVersion to use when deploying your site. Each time you press save in the editor that number bumps by one
  3. Yup

Thanks for the info @DeanAyalon & @noahlovell. If yall & other people come across better alternatives for this in the future for at least for recording UI info like element positions, please let us know here :folded_hands: