Website Performance Optimization and Why It Matters
Superclean uses an array of benchmark and diagnostic tools to build and maintain websites. Some are free on the web and some we gladly subscribe to. The goal is to optimize websites for performance: load quickly and correctly for both people and robots.
This may sound straightforward, but it's not that simple when you consider how complex servers, routers, load balancers, caching layers, content delivery networks (CDN's or cloud computing), spam fighting, and browsing devices have become. It's all good, because websites offer so much more today.
How quickly your website loads and how valid, or properly structured and coded your site is, matters a lot to SEO. Optimizing for performance and Search Engine Optimization definitely shares some overlap. Google likes you if your fast. Google likes you even more when you are HTML5 valid. Google especially loves you when you have registered RSS feeds for their robots (as long has they are valid!) Bing and Yahoo! share these sentiments.
So what does it take?
Start with the server, as this is where your website lives. Just like you would want your storefront on a good stretch of street, you want to live on a good web server. There are all kinds of modifications and improvements that help web servers run faster and more efficiently. On our servers we employ a couple flavors of server-side caching technology that play well with Apache (open source server software), PHP (scripting language Drupal runs on), and MYSQL (database.)
*** A lot of website owners wind up on "shared" hosting, which is fine when you are starting out but your performance upside is very limited. There is definitely a ceiling to performance in a shared server environment. ***
We can also do a lot of things at the Drupal level to optimize your website's performance. There are several modules that help along with tweaks to key files within the site's driving code. We also utilize logs and analytic tools to chase down inefficiencies or performance problems that are nearly invisible.
Caching for performance
Caching is a very powerful way to enhance your site's performance and can be implemented at several different levels. Caching saves oft-used requests and scripts from having to be "thought out" by the server every time a browser makes a request. Think of a restaurant. Everyone places an order to their server, who takes the request to the kitchen… the kitchen cooks it up… and then the server brings it back out. This takes a lot of time and lot of work, and a restaurant can only handle so many customers at once.
If your web application (website) had to go through this process every time a visitor clicked on something, the kitchen will clog up!! The database won't be able to serve back the requests, and the site slows to a crawl. Caching is more like fast food…. the resulting pages of requests have already been saved as flat files, ready to render. Place your request, and the server just gives it back from their tray. They don't have to go to the kitchen.
So caching can be done at the server level and the Drupal level. It can also be done at the network level. Ever hear of Amazon's cloud computing services? That's what this is, and it's known as Content Delivery Network (CDN.)
Valid in the eyes of the internet gods
Proper markup on your website insures that your site is "valid," i.e. will load on a majority of devices/browsers correctly. Search engines will punish you if you have poor markup because the robots can't make sense of your content (even if it looks beautiful to the human eye.) Your markup is generated from the theme layer and also modules used on your website. Sometimes, a module needs to be modified or patched if it's spitting out invalid markup.
The skin layer (theme layer) of your website can have a lot to do with your website's actual performance. Think of your website as a content projector and the theme layer is the lens. That lens needs to make sure your website's content and features is rendering sharply for people on their many various devices but ALSO for robots spidering and indexing your website.