Spring Sale! Save 30% on all books w/ code: PLANET24
Web Dev + WordPress + Security
Simple Ajax Chat Pro
SAC Pro: Unlimited chats.
Related Posts

Do You Have a Year-End Maintenance Ritual?

[ Image: inverted photo of a hard drive ]

Over the past several years working online, my year-end maintenance routine has evolved from simple website backups to a robust strategy involving many important and useful tasks. Some of the items on the list have indeed been performed multiple times throughout the year, but are included here to emphasize their importance. Additionally, many of these tasks are great for helping bloggers gain a clearer picture of their overall online empire, while attaining a sense of annual “closure” concerning the work of the previous year. So, let’s dig into my personal year-end strategy for cleaning things up and preparing for the new year..

Make complete backups of your work

Saving frequent, tested backups should be a part of any serious online strategy. At the end of the year, I create a complete backup of everything, including all site files (PHP, HTML, CSS, JavaScript, images, .htaccess, etc.), as well as all associated database content. I generally duplicate my entire set of files (for all domains), and then include duplicate database backups in their respective directories. I also take this opportunity to purge my email inbox of any “loose ends” by relocating them to their respective domain’s backup directory. I also do this for any loose files, configuration files, article backups, and anything else that goes with a particular domain. This works great at consolidating and organizing data that may be needed at some point in the future.

After I have consolidated everything worth keeping, I delete all other backups for the year and burn a permanent copy for the archives. Thus, as time goes on, I will have accumulated all the best bits of each year into a nice annual library of backup content. I can live with that :)

Synchronize your online and offline content

Working on your sites via FTP, Dreamweaver, or whatever, various file discrepancies will inevitably accumulate over time. Files may change on the server, local file edits may not have made their way online, and/or files on either side of the fence may have gone missing altogether. Don’t ask me how it happens, just trust me when I tell you that it does. Thus, it is a good idea to synchronize your offline files with your online files at least once a year. Fire up the transfer protocol of your choice, and carefully synchronize your files. Some directories are synced one way, while others the opposite — it all depends on the content, frequency of updates, and potential for change. However you decide to do it, it is key that you do. You may even want to do this before making your annual backups.

Visit your sites and give them an annual checkup

When was the last time you actually visited all of your sites? If you are like me, you have an array of sites that you just never find the time to visit and explore. Thus, at the end of each year, I like to take a few moments to visit each of my sites, surf around a bit, and give them a bit of a virtual checkup. I like to test login, search, and JavaScript functionality, while also digging around through archives and images to see if anything has been corrupted. More often than not, I am either reminded of something that needs to be done, or find myself fixing a few things that somehow had managed to go haywire. Keeping an annual eye on even your most distant sites is a good way to stay on top of your game.

Delete obsolete content, archive marginally useful content

As mentioned in the “backup everything” section, I like to clean up loose files and purge unwanted turds at the end of each year. Most of the time, the content that I deem worthy of outright deletion consists of half-baked project ideas, unfinished code experiments, and multiple draft versions of designs. So I go through the directories, deleting the chaff altogether and moving anything with future potential to the annual archives. This is always a great way to freshen things up and lighten the load for the new year.

Analyze site statistics, share the results with your readers

Sure, many of us are stats junkies, carefully monitoring our site’s visitors, hits, and downloads, but how often do we actually analyze the overall statistical picture? Once a year (at least) it is important to really dig in and examine your statistics in detail. Investigate the fringes — how have user agents changed over the last year; how have monitor sizes changed from month to month; and what about things such as visitor location, bounce rate, and repeat visitors? Studying such details will provide a greater understanding of your audience, enabling you to possibly rethink your strategy for the coming year.

You may also want to snap a few screenshots or create graphs of annual trends and other stats and share them with your readers. If I have time, I plan on doing this within the next day or so ;)

Complete or delete any lingering tasks on your to-do list

You know the ones: those persistent, “bottom-of-the-list” tasks that just won’t go away. I am talking about those painstaking, unlovable tasks that you never manage to finish (or even start). For whatever reason, you have deemed these tasks important enough to plague you every day, but somehow not quite important enough to justify actually doing them. Well, my friend, may I suggest that you take this annual opportunity to either commit to the immediate completion of such tasks, or liberate yourself by completely eradicating them from your life. Pick one, pick the other — but whatever you do, don’t keep these things hanging on for another year!

Wipe the blacklists clean, remove any temporary redirects

For those of us who enjoy blocking spammers, scrappers, scrapers, and bad bots, the list of blocked entities can quickly grow rather large. Unfortunately, oversized htaccess and PHP blacklists can slow down server performance and begin to hog precious system resources. At some point, the benefits of blocking unwanted scum are outweighed by the drawbacks of sluggish sites. Thus, once a year, I take a moment to backup my blacklists and then delete them, or at least a majority of them. While there are few bird holes that require constant banishment, I am willing to grant annual amnesty to a majority of offenders. In doing so, I get to wipe the slate clean, speed things up a little, and begin the process afresh for the new year.

Upgrade WordPress (or other software) and plugins

While it is a real chore to keep up with every single WordPress upgrade that is pushed off the shelves, it is important to stay current with key security improvements and other optimized features, database performance, error handling, etc. Generally, I like to take a moment at the end of each year and evaluate the upgrade options for each of my sites. Not all of them run WordPress, and not all of them require upgrading, however, for those that would benefit from such efforts, now is definitely a good time.

This is also a great time to check for upgrades for your favorite plugins. New versions of your best plugins are being rolled out more often than you would think. And, unless you are actively subscribed to every plugin author’s feed, you may be missing out on new features and better plugins.

Check for copyright violations and stolen designs/content

Scanning for plagiarized content is something that we should all do much more frequently. Although it crosses my mind once every few posts, checking the Web for stolen content is often shrugged off and relegated to the “later” bin.

Well, here at the end of the year, now is later. Fortunately, using my unofficial Authenticate plugin (not yet released), I have enabled a super-easy method of checking the web for ripped content. At the end of each article, I append a site-specific phrase that may be employed in a comprehensive search for any copyright violations. Then, I pull a few key phrases from a small collection of my popular posts and search for similar instances across the Internet. Additionally, I may use a free service such as Copyscape to assist in the process. Regardless of your technique, take this opportunity to check for stolen content.

Check your server logs, error logs, and other logs

Although I technically do this every week, it is important to do at least once a year, if nothing else. A thorough examination of your server access and error logs provides the critical insight necessary to repair errors, resolve conflicts, restore missing files, and understand your traffic. Hopefully, I am preaching to the choir here, but the point can’t really be overstated: the more exposure you have to your site’s log files, the better equipped you will be to ensure an optimal experience for your visitors.

Renew select domain names, drop or sell the turds

Actually, for tax purposes, renewing your domain names at the very beginning of the new year is better than doing it at the end of the year, however, it is a part of annual site maintenance, so I included it here as a reminder. Establishing a routine of renewing your domain registrations every year is a great way to ensure that they never expire. Relying on email notifications may fail you, and I believe that nobody actually spends the time to login to their registrar(s) every month to check the status of pending renewals. Thus, take a moment, get it on the list, and renew your domains after the first of the year.

Delete unnecessary social-networking accounts

With the explosion of social networking and bookmarking sites, it is easy to accumulate a cornucopia of unused online accounts. I generally sign up for a new site because of some review or recommendation somewhere, take a few minutes to login and check things out, and then logout and never return again. So, in order to keep a lid on the number of unused accounts I have roaming around out there online, I like to grab a cup of coffee and spend thirty minutes or so canceling the previous year’s worth of unwanted service accounts. You know, just to keep things simple and clean.

Close comments on old posts

Open comments on old posts provide spammers an excellent opportunity to hit your site with their crap. They just love those older, long-forgotten posts, and will do anything to take advantage of them. So, at the end of every year, I like to take the opportunity to close all comments on all posts from the previous year (minus a few of the most recent and/or popular). This is an excellent way to reduce spam and seal archived posts for the history books.

Change your passwords

Last but certainly not least: remember to change your passwords. Change as many passwords as possible, and use secure, strong passwords that include a hearty, random mix of numbers and mixed case alpha characters. Make ‘em strong, make ‘em secure. You have more passwords than you may realize, and chances are that a majority of them have not been changed in a very long time (if ever). Even if you don’t have time to dig in and change the passwords on obscure databases, definitely find the time to strengthen passwords on your blogs, local machines, file vaults, routers, and email accounts. Don’t think that it can’t happen to you!! If you only have time to do one maintenance task this year, this is it. It is that important.

And that about does it for me.. I generally spend the better part of the last day of the year (New Year’s Eve Day?) executing this annual maintenance strategy. Some of these tasks are indeed tedious, but I feel a genuine sense of completion upon finishing things up. It’s like, I get to step back, look at the big picture, and prepare to start fresh for the new year.

So, what about you? Do you have a particular set of routines that you make time for each year? I tried to think of everything, but surely I am overlooking something important.. What do you think?

About the Author
Jeff Starr = Designer. Developer. Producer. Writer. Editor. Etc.
GA Pro: Add Google Analytics to WordPress like a pro.

2 responses to “Do You Have a Year-End Maintenance Ritual?”

  1. I think a lot of people rarely make backups of their sites/blogs because most host guarantee that they do daily backups on all server. I just wanted to point out that whatever your host guarantees you, never trust them 100%. I always do full backups every month and keep them on my PC and also on my RapidShare account.

    As for the blacklist, I don’t really plan to give amnesty to any bad bots yet :) Without Akimset, Bad Behavior and Perishable’s Ultimate htaccess Blacklist my site would have died because of the bots.

    Anyways, thanks for yet another interesting article :D

    Happy New Year!

  2. Perishable 2008/01/01 9:34 am

    Good point about not relying on your host (or any other third-party service, for that matter) for something as important as backups. Also, that is a great idea to keep monthly backups both locally and at your online account.

    I totally don’t blame you for not wanting to open the floodgates to bad bots. I do it to a degree, however, I also get a kick out of scouring my logs and hunting them back down. At the end of each year, comparing the new list to the old list provides a fairly good idea of repeat scoundrels, etc.

    Great comment, Ibnu! — Happy New Year to you too! :)

Comments are closed for this post. Something to add? Let me know.
Welcome
Perishable Press is operated by Jeff Starr, a professional web developer and book author with two decades of experience. Here you will find posts about web development, WordPress, security, and more »
USP Pro: Unlimited front-end forms for user-submitted posts and more.
Thoughts
I live right next door to the absolute loudest car in town. And the owner loves to drive it.
8G Firewall now out of beta testing, ready for use on production sites.
It's all about that ad revenue baby.
Note to self: encrypting 500 GB of data on my iMac takes around 8 hours.
Getting back into things after a bit of a break. Currently 7° F outside. Chillz.
2024 is going to make 2020 look like a vacation. Prepare accordingly.
First snow of the year :)
Newsletter
Get news, updates, deals & tips via email.
Email kept private. Easy unsubscribe anytime.