One of the things I consistently see clients ask for is the ability to import data into websites. For example, when they have a lot of products that need to be added to a site. The problem, from my point of view, is that this practice is the completely wrong path in most cases. Here are some of the uses that people want with data importing.
1) Import Existing Data That Can Be Exported From An Existing System
In my opinion, this is the only proper use and reason to have the ability to import data into a site. You have an existing system where all the data is located and you need to move that data – either because you are building a new site or because you must maintain the existing system and need to have a way to move large amounts of data on a regular basis.
Note that this also requires the existing system to have the capability to export the existing data in a usable format.
However, if the data can be exported in a usable format, then that data already exists and is already formatted in a way that can be imported. This can save time. Saving time is the only reason that having a way to import data makes any sense.
All other reasons for using an import listed below are an anathema. In all of the following cases, using an import will create more work and take more time to use than would be spent if they were not used at all.
2) Prepare Data for a New Site Before the New Site is Competed
This is another reason given. The client wants to get all of their content together so that when the site is ready they can add it all in one fell swoop. While this, at first, might sound like a great idea, this is an incorrect assumption.
For one reason, more than likely, although everyone’s intention is to have all the content ready before the admin is ready to take in that content, this rarely happens in practice. I’ve been building websites for a very long time and can’t remember the last time that content was ready before I’ve built enough of the site that the content can be added directly to the site as it’s created.
Importing data is limited:
In many cases, you will not be able format the data the way it will be used on the site. Examples include: images in the content, bulleted lists, or anything more complicated than plain text in paragraphs.
To top it off, if the content must be generated as it’s entered (by humans, as apposed to being generated by a computer) more than likely, the data will contain errors in formatting or inconsistencies that cause the import to fail in some way. This means that you may need to go through several rounds of editing and importing to get it right.
It also means that every page and every bit of content will need to be reviewed and edited after the content is imported. In all cases, using the import will increase (and could double or triple) the amount of time and effort needed to publish your new site. First, you assemble all the content, then you import it, then you review it all and edit it all again, add images, add special formatting, etc.
When building a new site, the admin of the site will be ready before the front end is ready to display that content. There really isn’t any reason that content can’t be entered into the admin while your developer is working on the front end of your site. In fact, doing it this way will more than likely save the developer time. Why? Because when the developer is building the front end, they need data in the system so they can see how it looks and test the front end system. If real content is being entered, then they don’t need to spend time creating dummy content to test with.
One of the things brought up is usually: “But if the front end can’t display my content yet, how will I know what it looks like?”
Ask yourself this: Can you see what the content will look like on your new site while you’re entering it into a spreadsheet?
And really, the content, for the most part, will look just like it looks in the editor. Sure, the font might be a bit different, the white-space may be slightly off, but the fact is, your site is more than likely going to be responsive and the display will change based on how the visitor views it anyway. You’re never going to see a pixel perfect representation of how your site looks to every visitor. Content must be entered in a way that keeps this in mind.
3) Export, Edit, Import…Instead of Using the CMS
This is the reason that really makes me ask: “WTF!?”
The questions this raises are:
- Why did we bother to build the site in a CMS?
- If customization of the admin is needed, why am I bothering to try to make it user-friendly and intuitive?
- Is the work I’m doing a waste of time?
The steps involved in editing a site using the CMS:
- Open the item you want to edit
- Edit it
- Save it
The steps involved in doing export, edit, import:
- Export the content
- Edit each item in the spreadsheet
- Attempt to import, correct, repeat until it works
- Open each item that was imported
- Review, edit, format and correct
- Save it
All this managed to do is add additional, time consuming steps into the process. You’ll still need to look at every page on the site. Most likely, you’re still going the need to edit every page in the CMS. The only thing that this does is add complication and possible places for things to go wrong. Do you really want to create this kind of work for yourself?
If you are contemplating some type of data import for your new site, make sure that it’s for the right reason. Or the only thing you’ll end up doing is making your life more difficult and adding additional work to your life.