I’ve tried to build this site as efficiently as possible and to maximise re-use of code wherever I can. As a result most pages are constructed ‘on the fly’ on the server when a visitor requests to look at them, plugging in the parameters that the visitor has selected. For instance, there is no page within the galleries that shows, say, all the birds of Costa Rica. However, there is a page that will show all the [selection] of [location]. This single page is shown regardless of what the visitor chooses, and it is just the parameters that the visitor chooses that determine how that page is rendered, and which images they see. In order to make this possible it is necessary to pass parameters from one webpage to another. I chose to pass this data around in the URL. The benefit of this is that a visitor can copy or bookmark a URL at any page on the site, and have confidence that the page they are looking at now will be the same page that they are returned to at a later date if they input the same URL. The downside of this approach is that it can lead to some pretty lengthy URL strings (just spend a couple of minutes browsing Amazon and look at the URL as you browse!). I’ve been working my way through the site making changes to the way this data is passed around and to the way that URL strings are constructed. This is still ongoing but I hope to have it finished shortly. Regardless how long it takes, for the most part it shouldn’t impact the functionality of the site while I work on it.
*update* I think this work is now complete. Everything should be working as before, although URLs will look a little different in places.