Version Control For SEO [Level: Beginner]
This YouMoz entry was submitted by one of our community members. The author’s views are entirely their own (excluding an unlikely case of hypnosis) and may not reflect the views of Moz.
Have you ever spent hours creating a Word document only to find the file corrupt or inaccessible a few weeks later? Have you ever touched up or resized a photo on your computer and accidentally saved over it or lost your original? It can be a frustrating experience. A website works in a similar way.
Hiring an SEO company who uses a version control system (also known as revision control) can save you hours of hassle and heartache and can speed up the SEO ranking success of a website–saving a client big money. But, speeding up the progress of an SEO project is only one of the great benefits experienced when a developer uses version control.
"Version control" can be described as the practice or procedure of managing the access of–and changes to–files.
The Hard Way
In its simplest form, version control can be implemented by making a copy of a file whenever a significant change is made. For example, before editing a file named myFile.html, a copy is saved as myFile.old.html. With this method, over time, old files can get mistaken for current files as multiple revisions are made to the file.
Some web developers get a little fancier by adding a date to the file name like, myFile.2010-05-31.html and saving that file to a folder called backups. This method helps to clarify which files are the most current, but it still leaves room for confusion, as it does not intuitively describe why the file was changed. Some developers just pretend there's not a problem with tracking changes and storing files this way. They do nothing to improve their process, cross their fingers, and hope for the best. Keeping individual archived copies of each file is just not the most efficient or safest way to backup files any more.
The Easy Way
Both of those methods of manually controlling revisions have the potential of quickly becoming unmanageable or messy. A better way to implement version control into the workflow of a project is through the use of specialized software that silently automates the process of managing files. While using any system is better than not using a system at all, the best method is employed when the developer or programmer uses a modern system like Subversion or Git during the development of the website.
Examples of version control software that web developers use most include: Subversion, Sourcegear Vault, Mercurial, MS TFS, Bazaar, and Git
Low Learning Curve
Most version control software has a very low learning curve to get started. Some developers are put off by the wide range of features available, but there are only a few basic concepts that need to be grasped. Most systems have common attributes, and they are explained as follows. A "commit" represents a basic unit of work in a version control system. Whether the developer made one small change or several changes to the code of the website, they can check in as little or as much work as they want. For example, a whole day’s work can be committed with the click of a few buttons. Once their code has gone through a "commit", the code is safe. A backup exists, and there are no worries of ever losing that portion of code.
Along with the "commit", the developer can include a note. This short note can contain a message describing what changes were made and why they were made. These messages can be extremely valuable on projects involving a large team of designers, developers, and project managers, however, they can also be valuable to an individual developer when they have to pick up and dust off an old project. "Commit" messages help to bring back to the programmer's memory, why they made certain changes, or where the project was left off.
To a programmer, an exciting feature of version control software is the ability to "branch" a project when a significant change has occurred in the development of a project. Version control can be thought of in the context of a tree that has a trunk and branches. All branches lead back to the "trunk". A web developer might employ any number of strategies for branching, such as: per release version, per development stage, or per new feature. At any time in the website development process a branch can be merged back with the "trunk". In a situation that involves merging two files, sometimes a choice must be made regarding which changes should be kept and which should be discarded. For the task of merging files, and easily spotting the differences between two versions of a file, there are dozens of available programs; one such program can be found at www.kaleidoscopeapp.com.
How else can version control help in the SEO process?
Version control can also:
- give you a usable history of your website's evolution
- provide a foundation for establishing best practices and coding standards
- allow you to more easily generate project documentation
- be seamlessly implemented into bug tracking software
As you can see, there are many reasons why an SEO expert can benefit from using a reliable version control system. If efficiency, safety, and saving money sound good to you, talk to your team about version control today.
Knowing what you know now about version control, how does this make you feel about making changes to websites in the SEO process? Why do you feel this way?
Comments
Please keep your comments TAGFEE by following the community etiquette
Comments are closed. Got a burning question? Head to our Q&A section to start a new conversation.