Technical

Site Updates Update!

update-graphic1

There have been several noticeable and several hidden updates to the BASS site these past few weeks. The biggest visible change you can see is that the color scheme and the graphics have changed. In the back end, I’ve updgraded Wordpress to the most recent version, removed and added plug-ins, tweaked the PHP, and incorporated several speed tweaks. I spent quite a bit of time (mostly while on the bus) writing notes (a page or two) on what I should do with the site.

BASS won last year’s SSA Best Website award. Hopefully we shall win again this year.The following are excerpts from my application for the Secular Student Alliance Best Website Award:

The key philosophy behind the BASS site is that of functionality. Does it do what we want it to do and does it do it well? This operates on two fronts. First, the site has to be easy to maintained and updated by BASS members. Second, people accessing the should be able to quickly find and obtain key information about BASS and its activities. I believe the BASS site accomplishes these two goals.

[...]

We have been using Wordpress for over a year now to run the BASS site and it has done its job fantastically. There have been several updates and changes to the BASS site recently. The main change would have to be updating Wordpress to its most recent version. While not visible to people going to the site, on the back end, there have been several refinements to the user interface design and usability and security patches. The several plug-ins running in the background have also been updated.
The main changes to the site are:
1. Upgrading to the latest Wordpress release
2. Changing the color scheme of the site and updating graphics
3. Several speed boosting tweaks
4. The BASS site has a special iPhone theme! If it is viewed on the iPhone (and a few other mobile phones) the formatting changes for easy reading and browsing.
5. Author names now link to the author page. I recently learned the required PHP code to accomplish this. Author names used to just be static, but now they link to a page showing the most recent posts by the author and an archive of their posts.

bass-mobile1

BASS site on the iPod Touch

Over the course of the year or so we’ve been using Wordpress for the BASS site I have learned a lot about Wordpress and the cogs and gears that make it work. I already go the core functionality right when I first installed Wordpress. This past year I’ve worked on refining and improving the site functionality. The main way I have done this was by utilizing speed tweaks in order to speed up page load, lessen load on the server, and lessen database queries to the server. I did this in several ways:
1. Upgraded to the latest Wordpress release – Whenever Wordpress is updated, speed tweaks and performance enhancing improvements are done, so it’s important to update the site whenever there is an update.
2. Upgrade plug-ins and remove unused ones – Plug-in updates also usually include speed enhancements. Removing unused plug-ins also reduces server queries and speeds up the site.
3. Minimize PHP and database queries – Wordpress is run on PHP. This means, whenever someone loads a page, queries are made to the server to generate the HTML file you ultimately see in your browser. Certain queries are unneeded. I went ahead and coded static HTML links into the PHP code. For example, every time the page loads, the header portion asks the database for what the site name is. Since the site name will not be changing, I removed the PHP query code for the site name and replaced it with just the text of the site name.
4.Optimizing and repairing the database – Wordpress runs on MySQL. Through time, errors can occur in the database. Plus, with all the rewrites and additions of data to the database, the data can be organized in an inefficient manner. Going in myPhpAdmin and optimizing the database table and correcting errors can speed up the site considerably.
5.Optimize image – We have just begun to implement this strategy. Images usually are the largest page elements to load. By making them the minimum size needed for viewing and optimizing them for web view helps decrease the file size and speed up loading times.
6.Caching – By utilizing a caching plug-in we lessen site load. Without caching, whenever someone accesses the site, a new web page has to be generated. This slows down the site a bit since the PHP code has to run to churn out the HTML page. With caching, a static HTML file of the site is generated and saved on the server. When someone accesses the site, they access this static HTML file and don’t run any PHP code to generate that page. After a preset time, the site will rerun the PHP code to generate a new HTML file. This ensures the site content remains up to date.

By utilizing these speed boosting tweaks, I managed to cut down the number of site queries by half and have it take about .5 seconds to do all these queries on average.The following is not an exhaustive list of the plug-ins active on the BASS site but a sampling of the most useful ones.

The plug-ins added to the BASS site really give it its power.
1. Event calendar – Probably the most important plug-in we have active, the event calender allows us to easily publish events on the BASS site. It event has a great sidebar widget that shows the calendar of events and even a list of upcoming events. It is very easy to post events. By just making a blog post about the event and putting the event date into a special field, the plug-in automatically publishes the event onto the event calendar.
2. WP-super cache – This plug-in is one of the speed boosting tweaks we use as described above.
3. WP-sticky – This is one of the more important plug-ins used in the site. Sometimes when we have announcements, we’d like to post them at the top of the homepage. However, whenever we make another blog post, that announcement post would be pushed down the page and the new post would take its place on top. Now, using the WP-sticky plug-in, we can keep the announcement post on top of the page even if we post new posts. It’s also nice because it has a timer feature where when a certain date is reached, the post will resume its normal post status and go back into chronological order with the other posts.
4. Fotoalbum – Having pictures on a site is a great way to show that there are real people behind the group and that these people have fun! It’s a great tool for making BASS more attractive. Before, we used the Photo Album plug-in that fetched images from the BASS flickr account. This however was rather cumbersome since we had to always upload pictures to the flickr account *and* also upload pictures to the BASS Facebook group. Now, with the Fotoalbum plug-in, we don’t even have to deal with flickr. Instead, the Fotoalbum plug-in fetches pictures from BASS albums from my Facebook account and beautifully creates photo albums of those pictures on the site. It even allows for a great side bar widget that shows 8 random picture from those albums. We also use the Lightbox plug-in in conjunction with Fotoalbum. When pictures are clicked on, they are displayed in a very nice way. Try it!
5. Contact Form 7 – Coding a contact form is a bother. This plug-in makes it easy to customize contact forms and forms in general and place them on any post or page on the site.
6. WPtouch iPhone Theme – With more and more people accessing the internet on mobile devices, I decided it’d be a good idea to make the site change its formatting when accessed by mobile devices in order to make it easier to read and browse through. When accessed by the Apple iPhone, Apple iPod touch, Google Android or Blackberry Storm the site will change itself to be more suitable for those devices.

[...]

All in all, I believe the BASS site is a very well rounded practical site that will serve BASS well in the coming months and years as it has been so far.

Last 5 posts by Roy Natian

1 Comment

speak up

Add your comment below, or trackback from your own site.

Subscribe to these comments.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*Required Fields