Posts Tagged ‘website performance’

The Importance of the WordPress Expires Header

Thursday, December 15th, 2011

The importance of “expires header” is growing along with the web page designs which are becoming richer in scripts, images, Flash, etc.

As a result of the growing complexity of web designs, a web page takes longer to load, which is why the site needs an expires header. It simply makes all components such as stylesheets, images and others cacheable or, in other words, prevents unnecessary HTTP requests after the first page view and hence load time is reduced.

The “expires header” needs to have a date set up and it’s important that this date is a future one. The far future Expires header tells the browser how long to have a web page component cached. If a past date is set up then caching would simply not occur. Note that “expire headers” do not affect the load time of the website the first time the user opens it.

Here’s how to add a far future expires header in WordPress:

If the server is Apache, you can use “ExpiresDefault” directive. For example, [ExpiresDefault “access plus 2 months”] means that the expiry date of the file is two months from now.  The time period could be from seconds to years.

In order to add the header, however, you need to add the following code to the .htaccess file:

#Expire Header
<FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css|swf)$">
ExpiresDefault "access plus 2 hours"
</FilesMatch>

or

# Expire images header
ExpiresActive On
ExpiresDefault A0
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/ico A2592000
ExpiresByType text/css A2592000
ExpiresByType text/javascript A2592000

It’s important to remember that with the “expires header” the files are “saved” in the browser until the expiration date. Thus, you need to use the header on images, Flash and others that will not be changing until the expiry date. If you are, for instance, changing the pictures on the home page on a regular basis, it will not be a good idea to set up an expire header on them. The header will cache them for the period you have selected, and it’ll not be of any use to cache something that is going to change in a shorter period of time.

Here’s an expample:

In the results above we can see that the date is set in the past, which means that the search engines, proxy servers and browsers will always consider the page out of date and try to fetch a fresh copy. This can lead to unnecessary server load. To avoid this problem simply stick to the rule mentioned above and always set a future date.

To check the expiration date of any web page, you can use our free HTTP headers test. It will return the HTTP header (the initial response of a web page, invisible to the end user) where you can find the expiration date.

Service Code 503 – Service Unavailable

Tuesday, November 15th, 2011

The service code 503 simply implies that the server is unable to handle a request due to overloading or maintenance of the server. It is important to note that although this condition is temporary and simply causes some delay, some servers may refuse the socket connection, which will result in a different error code.

Here’s what happens when the browser tries to communicate with the web server:

  • The DNS (Domain Name System) looks up the IP address from the IP name of the web site;
  • The browser opens an IP socket connection to that particular IP Address;
  • It writes HTTP data stream through the socket;
  • It then receives an HTTP data stream back from the server, which contains status codes. They are then analyzed.

The 503 status code occurs in the last step described above – the server is functioning at a minimum meaning it does show the status code 503, but the website is completely unavailable. During that time it is expected that the experts are working on fixing the problem. To troubleshoot for this error, you can try the following, as per Microsoft Support:

  • Check if all services are running;
  • Ensure the services are running under the Local System account;
  • Mount the mailbox store and the public folder stores;
  • See if a registry key that exceeds 259 characters exists in the HKEY_CLASSES_ROOT registry hive;
  • Check whether Group Policy object exists – it will prevent the MSExchangeIS service from initializing;
  • Re-register the MDAC Components;
  • Verify the permissions for the HKEY_CLASSES_ROOT registry key.

Most of the time, status code 503 translates to “server not available, please come back in X hours”. Often webmasters return 503 on purpose. It is widely used during scheduled maintenance and website upgrades. This code is used to tell search engine agents that the content is not available, but it would be in a couple of hours (you can set any timeframe) and they should come back and crawl it then. This way webmasters make sure the web page will remain in the search engines’ index. It is also a technique used to take load of the server during peak periods.

One of the things you can do to protect your site from the much unwanted downtime is to monitor your server for free and test your website frequently. There are a lot of good practices to make your website and server work better, but there is nothing like a good remote monitoring service.

Protect Your Online Presence

Friday, September 30th, 2011

Google have recently come up with a new feature called “Authorship markup” which, they say, will connect the author to the particular content in order to give it more credibility.

The Authorship markup encourages quality content by helping out its authors to rank better in the search results, according to Sagar Kamdar, Google Product Manager. For this purpose, the markup connects the web content to a Google Profile of its author and then – back to the particular web page. This way the content shows up in the search results, the author is identified, and the reader even sees a photo of the author displayed alongside, when an image is available. Content then looks more trustworthy and credible, and the website content is more protected.

Google say Authorship markup is quite a new project, and is yet to be improved and simplified. Still, they claim to have made this feature “as easy to implement as possible”. Their first users of this markup have been The New York Times, The Washington Post, CNET and more. Google also claim to have gone even a step further by adding this Authorship markup to everything hosted by YouTube and Blogger. In the future, however, these two platforms will include this feature automatically.

While Google created a feature to protect your website content, WebSitePulse perfected its monitoring service to help you keep an eye on any type of server and network device connected to the Internet, and measure the performance and availability of your websites and applications. Give it a try!

Are You Looking at the Right Metrics?

Wednesday, August 17th, 2011

The most dangeours type of downtime is the one you don’t know about. It is discturbing how true that one line actually is. Should it occur, website/server downtime can and will cause problems and ripples throughout your organization. Before we get tarred and feathered for making such a bold statement, let us build our case.

The Problem

In this realworld situation, a business lost roughly 30% of their leads for July. Apart from their initial loss, they simply handed out a good portion of the market to their competitors, in high season. When the figures arrived, all hell broke loose. All major markets felt the downturn. In search for a logical explanation, hours of daytime were invested in finding the reason. After it was made clear that the traffic was stable, the management went on to search for answers somewhere down the line. The marketing team had to pull out detailed reports for their activities in the last three months. Seasonal sales people got numerous tests calls. A full-scale internal audit took place. This caused a ripple effect and the normal workflow was seriously disrupted.

Locating the Issue

Upon request, the IT department emailed external statistics on the webserver’s uptime. They had employed the services of a website monitoring service (not ours). According to their information, the server only went down for 20 minutes that month during the scheduled maintenance. What they failed to notice is that the service they used only gave them figures of the network availability of the hardware device, not the server software. The machine was available nearly all the time, but was doing what it was supposed to (serving web pages) only ~80% of the time. We were able to find that out only after we began tracking the server ourselves.

We were able to locate the problem, because the service we chose to test with, actually tested the website itself. We tried loading all major application forms from multiple locations over a given period of time. It wasn’t long before we got the first alert about a page not loading. It turned out that the server was failing to deliver the pages after a certain number of concurent connections. With some modest server upgrades and clever workarounds by the IT department, all website returned to normal. Simply the hardware couldn’t take the load and the server software decided to drop a number of queries in order to serve the rest.

The website service, employed by the business, worked exactly as it should. What was referred to as website uptime was actually server uptime.

Quick Tips

  • Network availability is only a prerequsite for a website to function properly. Even if the site loads sucessfuly it is not clear if the forms on the site will be 100% functional.
  • One good sign to look for, when trying to find the exact cause for problems with your traffic and conversion rate, are the traffic sources. If you notice significant decrease accross all mediums, then it is most likely that your website is not performing as expected.
  • Make sure you are using the service you need. You can test our range of website and server monitoring services completely free.

HTTP Archive

Friday, June 10th, 2011

I stumbled upon httparchive.org last month and I think anyone concerned with the performance of his website should take a look at it. It will give you a good idea of the current status of the web. There are some pretty interesting figures on it. The best way to describe the site is by quoting the title on their homepage “TheHTTP Archive tracks how the Web is built.” As simple as that.

The averages on that site are calculated by using raw data from all the sites listed in Alexa 500, Alexa US 500, Alexa 10,000, Fortune 500, Global 500 and Quantcast10K. To get accurate data each site is loaded 9 times. Then the data is fed and parsed to the database. What you get are some pretty interesting figures.

Httparchive.org provides intimate data for the most popular websites on the web. Not that the data is not available for anyone with the right toolset. It is just brought up pretty well. I personally enjoy the filmstrip tool, showing you how a site loads and what is visible through the different stages.

I am not too surprised to see that Steve Sounders is the person behind the website. For the few of you who haven’t heard of him, he is the guy who came up with YSlow and, yes, he works at Google.

Just to get a taste of the information on the site, take a look at the interesting stats. If you think you are using too much CSS or JS, look again. You might be surprised. The fact 56% of these sites doesn’t have cache control still keeps me awake at night.

There are usually two ways to learn good lesson:

Through your own mistakes
Through other peoples’ mistakes

Needless to say, the latter sounds better. On httparchive.org you can see what some of the top players did right, and where they went wrong. It is a great point of reference for web designers, web developers, system administrators and even business owners.

Browser emulation and a good part of the information there are sourced from webpagetest.org . You should definitely go on and check that site too. You can see how your website looks in different browsers and under different circumstances.

Website Performance – External Databases

Friday, May 27th, 2011

Every modern website relies on stable and well written databases. It is impossible to find a large-scale website not implementing one or more database systems.

This month, we’ve detected a high increase in response time for one of the sites we monitor. It is not a particularly large site; however it is one that relies on fast navigation. On average, the website used to load in about 3 seconds. One morning it went up to 10 seconds only for the site to begin to load. This is a good time to say that it is always advisable to test out new designs and functionality.

The website owner rolled out a new outlook combined with more functionality. Later on we found out that the site was rewritten from scratch – scripts, databases, supporting files, everything. The webmasters overlooked one single thing – they left the site working with the beta version of their database. They made multiple request to a database located on a completely different IP. This added up 5 seconds on top of their average loading times.

Having your database on a separate server is by no means a bad thing. Big sites have no other choice but to have dedicated servers powering their databases system. These servers are usually very well connected, and most of the times in close proximity to the hardware holding their web server. Smaller sites don’t usually need all this and have a single server or shared hosting providing everything they need. In this particular case, the database was on a server which was used for various tasks. It wasn’t their fastest one either.

So, imagine you request a page and then the web server requests data from the database that is located in a different city, running alongside many other services. Then the database generates the reply to the query and sends it back to the web server to process. This all happens before the actual transfer to your host starts.

We were able to act fast and let them know of the issue. They fixed it and shaved off a few valuable seconds. Luckily, it all happened in under a day. Monitor your website for 30 days, completely free, and let us know if our services helped you!

The Plugins That Work – Dropbox CDN and wp Time Machine

Friday, May 20th, 2011

There are two great WordPress plugins that everyone should know about. The first one is called Dropbox CDN. “Dropbox” as in “Dropbox – the personal file backup service, helping me work on my files from my PC and Mobile Phone”.

Dropbox CDN (Content Delivery Network) enables you to host your WordPress theme CSS, JS and images on Dropbox. This is huge! Setting up additional hosting space involves extra costs, time to manage, backups. A lot of hassle! With this plug in you enjoy all this for free. The reason why this is so great is that common bloggers can now have their blog load faster and be viewed by more people at once. Using CDN is listed as a great practice by Yslow, no matter the scale of you online presence. It is worth it to get a Dropbox account only for the sake of using this plugin. If you are not too happy with your hosting provider, or you are using a free service, this is a good moment to try out the plugin to increase your website’s performance.

Personal blogs rarely exceed 10GB of traffic per day, which is the limitation you get with Dropbox. I would say this is more than enough for any blog.

One thing still bugs me. What happened to Box.net? They had a great start, but came a few years before the mobile phone app hype. Maybe it is that, maybe it’s not. The fact is people out there are constantly coming up with new stuff and this little plugin really made my day.

The second plugin I would recommend is WP Time Machine. This one I heard about from a friend of mine, currently writing reconsideration letters to Google, after his WordPress got hacked. It took him 3 hours to recover. That is what happens when you don’t update and monitor your website. Guess who signed to the Free Trial earlier today :) . Back to the plugin. The reason I mention it here is because it is another plugin employing the services of Dropbox. This one lets you choose where to backup. You can use Dropbox, Amazon’s AWS S3 or a remote FTP of your liking.

Both plugins are compatible with the latest version of WordPress. If you like to be extra cautious with your site and not pay a single cent, try out our Free Service for Life and tell us what you think about it.

Custom Error Pages

Tuesday, March 22nd, 2011

As you most probably know, each year we have several seasonal report periods during which we monitor the leaders in the retailing industry to see if their online performance matches their reputation. This year is no different and last month we published the results for this Valentine’s day online retailer monitoring.

One of the interesting cases that caught our attention is the site of Victoria’s Secret. While at first glance their uptime does not strike the user with a 100% uptime percentage, the downtime recorded for their transaction happened regularly (every 2 days), always around 5 am and lasted usually for about 15 minutes. Since 5 a.m. is clearly not the busiest shopping time of the day, it was most likely a regular, scheduled site maintenance. However, this was not indicated either in their error message or elsewhere on their site. Instead, next to the picture of the stunningly beautiful Alessandra Ambrosio stood the awkward downtime excuse “We’re sorry, our site is temporarily unavailable.” .

This instance got me thinking about the importance of customizing the error pages which your customers will inevitably run into sooner or later, be it due to site maintenance or a navigation error. In the example above, if the company had simply changed the message and informed their customers that this was a planned maintenance, their uptime percentage will have reached the 100% limit.

Customized error pages help you retain your visitors and even help you attract new ones which have landed on your page by sheer force of chance and typing mistakes. Most visitors leave the site when they get to an error page, and only a handful will try a different URL. That is why the custom page should provide the clients with:
  • the correct page that they might be looking for,
  • a search engine that will help them find their required page
  • a sincere and/or fun explanation or image.

The customized error page is a great way to reassure your visitors that they have come to the right place. Furthermore, it gives your future prospects one more reason to remember your website and return to it and even recommend it later.

Aside from helping you save face, a customized error page can help you monitor your visitors behavior and see what kind of information the people are looking for on your website. All that you need to do is to set the error page to submit a broken link to the webmaster. In this way you will be able to fix and upgrade your website accordingly and in a timely manner. Another plus side is that custom 404 pages help the search engines consider these pages not as error pages when they are set to return a 200 OK response in the header. As a result they get indexed and appear in the SERPs. Keep in mind that this is not a very good practice as the 404 status should be indicated in the header in such cases.

Below you can see 15 original and fun examples of custom error pages. If you would like to see even more, we recommend clicking here and here.

 

clomid, synthroid, zithromax, accutane, celebrex

WordPress – Outgrowing Its Shoes

Wednesday, January 12th, 2011

WordPress only used to be a blog platform. It is evolving past that and is becoming the CMS of choice for a lot of small business projects and personal sites. Once installed, it will rarely cause your site to go down because of unexpected software related errors.

How did this happen? Why did this happen? It happened simply because it is a great-looking, user-friendly CMS and it is free. It allows you to alter templates, it is supported by numerous plugins and it gets the job done in no time. You can now use it as your personal blog and your business site. You can even sell products online, depending on the theme you purchase.

Apart from being free, it is also very well supported. It is a good time to remind you to install the latest security update. While being frequently updated and maintained, it still requires some attention from your part. The platform is light and can do more than just server updates about your latest travels and personal life. One particularly good framework I recommend you to checkout is Genesis, by StudioPress. Despite of being a very well organized and fairly customizable CMS it still can’t do the job osCommerce can, but then again osCommerce can’t do what WordPress can.

WordPress can meet most of your web publishing needs and we can make sure that everything you publish remains online. Do you run your business site on WordPress? WordPress might be great, but server uptime will never reach 100%. So why don’t let us keep an eye on it?

2010 Holiday Retail Performance and Uptime Report

Tuesday, November 23rd, 2010
With the holidays rapidly approaching, retailers are anxiously trying to think up of new ways to get the people to open up their wallets. And this situation is not surprising – the success of the entire year will be determined to a large extent on profits generated in the next two months. Although shoppers still remain a bit reluctant to loosen the stings of their wallets, market analysts and retailers alike are much more optimistic about the results than they were last year.

A recent report by Jefferey Grau, one of eMarketer‘s leading analysts, predicts a 14.3% rise in online sales over the same period last year. This growth is expected to boost season sales to $38.5 billion, up from $33.7 billion last year. Grau predicts that “This holiday season consumers will open their wallets more than they have the past two years, even though they will remain extremely price-focused. Online consumers have become savvy at finding coupons, comparing prices, locating cheaper product alternatives, and exchanging shopping tactics and information about bargains with peers through social media.”  The key to the hearts of the customers will be held by the retailers that manage to offer rich product information, easy return policies and friendly customer service representatives.

Here, at WebSitePulse, we are curious to find out how the online retailers will handle the holiday pressure and the high loads of traffic. That is why between November 22, 2010 and January 5, 2011 we will be monitoring ten of the most popular online shopping destinations for the 2010 Holiday Season. The detailed results will be available here and, if you are feeling lucky, you can venture a guess as to who will end up on the top of the uptime table this year.

May the holiday race begin!