
I realised the other day that I’d missed my blog’s birthday. It probably wasn’t upset or anything, but made me think that it might be time for a fresh coat of paint…
Warning: This suddenly turned into a gigantic post. Make sure you have plenty of water, energy bars, change of clothing etc…
And so it began. I didn’t think it would take this long, but it’s finally finished, and I’m happy with the result. Here’s a list of things that I did, which broadly cover:
a. Setting up a test blog
b. Customizing the blog
c. Creating the ‘other pages’, like the home page etc.
d. Integrating the website and WordPress with PhotoShelter*
*also see edit at the end of this post!
I’ll run through the full process that I followed below. Feel free to tune out if this puts you to sleep! Hopefully it will be useful for someone out there…
a. Setting up the test blog…
I thought this customization thing would probably take a decent chunk of time. I’m not a programmer by heart, so taking a theme which includes php, css and js, and knowing that I was wanting to customize it reasonably heavily made me slightly nervous.
Enter the test blog. By setting up a brand new WordPress test database, a new WordPress installation on my web server, and an entirely separate directory structure, I was able to create a safe ‘sandpit’ where I could work on the design without any time-pressure. I followed the detailed instructions on the WordPress Codex (Famous 5 minute install) to get things working.
I also then used the WP Admin section to export all the posts from the ‘live’ blog, and import them into the ‘test’ blog, so that I had lots of posts / pages / comments etc to test with.
b. Customizing the blog…
Customizing the blog took the largest chunk of time. Stripping out everything that I didn’t need, and hard coding as much as possible into the php files so that it meant less database calls and (hopefully) better performance. Also stripping as much as possible out of the style-sheets without unintentionally killing anything, as well as combining multiple style-sheets into as few as possible.
My main aim with the new design was complete integration between all areas of the site, and simplicity. So I had some ideas in mind when I started the process. I completed things like swapping out image files, creating fresh title images etc, re-coding headers and general page layout, and generally getting things to a point where I like the look of them.
SEO was also taken care of at this point, using a number of resources from my last post on SEO for WordPress. Things like making sure <h1> tags had page titles in them, and making sure there weren’t duplicate <h1> tags etc.
Structuring the single navigation bar was important to me, as this was going to span the entire site. It landed up becoming a balance between creating WordPress pages that the theme navigation could use, and also adding in navigation menu items manually to ensure the order and placing that I wanted, especially for non-WordPress page links, as these needed to show up on every page’s navigation, regardless of whether they were housed in WordPress or not.
I then brought a few items over from the old blog, things like the RSS subscribe links, the PhotoBlog Awards ‘VOTE!’ link, and the search boxes. Also created the ‘Contact’ group of pages, where people can email me directly, or use an online contact form, or join the mailing list.
Another thing I brought across from the old blog was the social site sharing links – basically adding a filter into the functions of WordPress to make sure that the links for sharing on facebook, digg, stumbleupon and twitter are visible on the bottom of each post, complete with the specific url for the post.
Once I had reached this point, I was happy with the design, and made the blog section of the main site ‘live’ by copying over the modified theme directory from the test blog, to the live blog. I then made sure all the hard-coded items** were pointing to the correct blog.
There’s also a load of design information on the Photo Buyer Website Survey 2009, from PhotoShelter, which has a load of survey results showing things like ‘yes, you need a search section’, and ‘yes you need to put an email address on every page, in an obvious place’… and other useful information!
** yeah, depending on your view, hard-coding is a good thing and a bad thing. It means more work, and more hassle if things change down the road, but it means better performance in the interim – e.g. it prints the title of your blog ‘orange. blob. blog.’ instead of having to make a database call to find out the title, and then print it.
c. Creating the ‘other’ pages…
I wanted the home page to be completely different to a ‘blog’ look and feel, but to keep the same navigation and key elements to keep the uniformity. I also made the decision to keep the homepage outside of the WordPress installation, so that if anything happened to the database or the WordPress install at least some parts of the site would still work.
I used the exact same headers and footers, and then stripped out all the blog related content from the main content area, to be replaced with a single (no slideshow) picture. This is easy to rotate whenever I have the urge, and I kinda like the simplicity of the single stark image that I have up there currently. It’s also linked straight to the blog post about that particular image.
The other pages which needed some manual intervention were the portfolio pages. These individual galleries are the only pages on the site where the usual navigation gets dropped, in favour of 2 simple grey links in the top left corner – one leading back to the portfolios page, and one leading to the ‘contact’ page. Leaving the rest of the page simple enough so that people can enjoy the photos without navigation distractions, but also giving people the important options if they land on the page from a search engine or other external source.
At this point, I copied all the ‘other’ pages, from test file names, to the real file names so that they became live all at once. Now everything has the same look and feel throughout the site – apart from the PhotoShelter Archive.
d. Integrating the website and WordPress with PhotoShelter…
This is where the css and js got slightly intimate. I had a few choices here, and decided to go with probably the hardest one. Personally I think it’s the most resilient, and should hopefully hold up well!
Option 1. Use an <iframe> to embed the PhotoShelter archive into the ‘Image Archive’ tab on my website. This seemed pretty straightforward, and I actually built it and tested it like that initially. The thing that held me back was that if someone arrives at the PhotoShelter site directly, then it would look pretty bare, because it would be missing all the navigation that is housed on my website (which would be outside of the <iframe>. So the user would probably get totally confused. Well ok, not totally confused, but it would really bug me.
Option 2. Throw in the headers and footers from my website / the WordPress installation, to the manual customization section of the PhotoShelter admin pages.
So I went with option 2. This is where I found that a lot of the PhotoShelter styles overlapped with the WordPress theme styles. Styles like ‘nav’ and ‘header’ and a number of others were giving me overlap-grief.
The way forward was to copy a set of the style-sheets and the necessary java-script files over from the WordPress install, to a separate directory on my web-server. I could then edit those to change all the calls to the shared styles, to something different. e.g. from nav to differentnav. Or header to differentheader.
Luckily PhotoShelter makes this process pretty easy to test things, with a handy preview feature so that you can quickly take a note of where you’re at, without leaving the editing section. Headers and Footers were soon copied over to PhotoShelter and were no longer clashing with the WordPress / website install.
Next up, was to check through the different pages within the PhotoShelter site. Luckily all the PhotoShelter pages use the same headers and footers, so once I’d resolved all the css and js issues, the entire site worked almost right away with the new branding. Best of all, if someone went to archive.orangeblob.com directly, they see an exact match of all the navigation and branding from the main site. The ‘Image Archive’ tab is even highlighted, so you would only realise you’re not in the main site by looking at the url.
That’s it!! At that point, all the different components were up and running. I took a backup of the WordPress database, the installation directories and the entire home directory off-site, just for good measure. I also took the opportunity to further secure my WordPress installation as per the Smashing Magazine ‘securing WordPress’ link below.
Tools or resources that really helped:
1. Firebug – ‘helped’ isn’t the right word here. It would be like Bond with no Q. Or Holmes without a Watson. Totally essential for anyone wanting to hack html and css to pieces.
2. Smashing Magazine – for providing awesome design related articles. And they always send out some WordPress love from time to time, like this useful article on Securing your wordpress install / protecting the wordpress admin area.
3. VMWare – meant that I could test out the website (nothing too hairy, just checking the navigation works, and that the different pages and components display properly with the different style-sheets. I normally test with Mac OS-X (Firefox and Safari) and Windows (Firefox, Safari, Chrome, IE8, IE7, and the dreaded IE6).
Browsershots is an alternate method. It lets you supply a url, and then it shows you lots (and lots) of screen-shots of what that site looks like using a whole host of different browsers. You can’t really test the actual use of things like navigation menu drop downs though.
4. Website Grader or a similar tool. Once you’re done with everything, run this and let it check out your site… it’ll give you some useful pointers if you forget alt tags, 301 redirects, etc. A similar custom-grader for PhotoShelter is the SEO Grader which specifically looks through and checks your PhotoShelter archive setup, and gives you tips on where you need more attention.
thanks for reading!
tim
Edit: With exquisite timing, (the day after I completed my own WordPress and PhotoShelter integration) I got an email saying that PhotoShelter have actually developed a partnership with Graph Paper Press. Head over to the PhotoShelter info page to see more on integrating your PhotoShelter archive with Graph Paper Press WordPress themes.
Definitely worth taking a look through the link and the videos they provide if you’re looking for an easier way to do the integration (the PS page links to two videos, but if you click through to the Graph Paper Press vimeo site, they have a few more related to WordPress/PhotoShelter). They also have some sample sites which you can look at, as well as some funky looking customizations for the WordPress side of things, like embedding galleries and images on the blog without leaving the WordPress admin area. Looks really slick and probably simple to implement ‘off-the-shelf’.
However, with that said, I think even with this knowledge I would follow the same path that I did above, as I selected a very specific starting-point theme with the type of navigation and look and feel that I required, then customized it relatively heavily before applying it to the rest of my website, and integrating with the PhotoShelter archive. There’s also a number of steps above which can be applied to both methods, such as hard-coding php files for performance, streamlining css files, using a test blog setup, customizing headers and footers in the PhotoShelter admin pages etc.
Let me know about your experiences in the comments!
Related Posts:
PhotoShelter Review
PhotoShelter Featured Photographer
Flatiron Peak, NYC Photo
Continue Reading