David Attard – Web Design Ledger https://webdesignledger.com By Web Designers for Web Designers Mon, 11 Dec 2017 06:20:57 +0000 en-US hourly 1 https://wordpress.org/?v=6.4.3 https://webdesignledger.com/wp-content/uploads/2015/08/cropped-Web-Design-Ledger-512x512-Pixel-32x32.png David Attard – Web Design Ledger https://webdesignledger.com 32 32 What is a CDN and why does your website need it https://webdesignledger.com/what-is-a-cdn-and-why-does-your-website-need-it/ https://webdesignledger.com/what-is-a-cdn-and-why-does-your-website-need-it/#respond Tue, 05 Dec 2017 22:44:37 +0000 http://webdesignledger.com/?p=42222

Both as a web designer, and as a user of the internet, you know that a fast website is a good websiteSpeed of a website is something which you don’t notice, until it’s missing that is. Then it becomes frustrating. A bad user experience. A reason for bouncing off a website never to return. If […]

Read More at What is a CDN and why does your website need it

]]>

Both as a web designer, and as a user of the internet, you know that a fast website is a good websiteSpeed of a website is something which you don’t notice, until it’s missing that is.

Then it becomes frustrating. A bad user experience. A reason for bouncing off a website never to return.

If you want visitors to enjoy their experience on your website, you don’t need to think only about the design of the website, but how fast the website performs for ALL of your users!

Because good design is only one part of a good user experience.

After website design, the speed of page-loading is one of the most important factors which contribute to the success of a website. Besides that, it’s also a ranking factor.

Why is speed so important?

The necessity of having a fast website is a factor has been studied time and time again.

A negative experience is created in the mind of the user who is perceiving a site as being slow. A site’s conversion rate is also affected very negatively by slow performing websites.

Have a look at the graph below by research firm Soasta

Loading time vs conversion rate

Loading time vs conversion rate study

 

As can be clearly seen from the graph above, as load time of a page increases, the conversion rate drops drastically. The best conversion rates actually happen when pages take less than 3 seconds to load. Unfortunately, very few websites are actually able to provide such a fast user experience.

Is your website one of these slow-loading sites? Are you killing conversions and are not even aware of it?

But there are solutions which can help boost your website’s speed.

 

What is a CDN?

The term CDN is an acronym which means content delivery network. That is a fancy way of saying, a network of servers which are optimized to deliver the content (of your website) in the most optimal way.

But how does this content delivery network provide benefits to my website and how does it make the website load faster?

The CDN’s network of servers is an infrastructure which is designed to handle the load of traffic of a website better than that of generic hosting services.

Most hosting services, especially the ones aimed at generic websites are geared at creating a stable but generic environment, at a low cost to both the hosting service and the client. These websites typically run on generic environments, such as Apache, PHP, MySQL and other stacks of popular hosting frameworks.

However, the environment has not been specifically optimized and tuned for website speed. Shared hosting services are typically quite slow, particularly in their initial response. The fact that each environment is hosting multiple websites simultaneously means that they suffer from a resource bottleneck problem. Essentially, each website is hosted on the same server as many others, they are “sharing” the same resources. But while the term used is sharing, in reality, they are competing for the same resources. To keep costs low, this sharing creates a situation where each request sent to a website has to wait before it can be served. (Incidentally, if you are looking for a good share host, check out this review of Inmotion hosting – we really don’t complain much here)

Have a look at the below. One of my websites, which is aimed primarily for ecommerce (dronesbuy.net) is hosted on a shared hosting environment, without a CDN.

Have a look at the following waterfall graph:

Load time without CDN

Load time without CDN

 

Can you see the waiting time above of 1.26 seconds?

This is the time it is taking for the server to start “working” on the request sent to it. Essentially, at this point, my website is queued up, competing for resources with other sites hosted on the same server as mine.

This is an implicit delay in created by using a shared website hosting service

Bear in mind, that this delay is before the server event starts to send any kind of content back to the user.

With a delay of 1.26 seconds, you can forget having a page-speed load time of less than 3 seconds.

This is a problem. So how do we go about solving this problem?

On the other hand, a CDN’s primary function is to make websites load fast. Their actual infrastructure setup is designed such that they help deliver a lightning fast website.

But how does a CDN actually speed up my site?

 

How a CDN speeds up your site

There are a few reasons why a website can load slowly:

  1. the shared hosting server has a lot of websites (to keep the price cheap) and is thus overwhelmed. The response times are therefore slow.
  2. Images and other large content of the are not optimized and take a lot of time to download.
  3. The website has installed many different WordPress plugins which are generating many CSS and JS files and other resources
  4. The hosting server is located geographically far away from the actual visitors of your website (think website hosted in the US, with readers mostly in Europe)

There are other reasons, but these are the main ones which generate the largest loading time hits.

You can take mitigating steps to fix each of the above-noted problems individually, but we’ll focus mostly on the last two in this article.

Your shared hosting is overwhelmed and slow

Shared hosting servers are by their definition – slow, especially if they are cheap. It’s just the economics of it.

When a hosting company rents or buys a server, they need to share that cost with their clients.

Put simply, and for the sake of example, if your server costs $100/month and you want to price your plan at $10/month, you need to host 10 accounts to break even.

If you want to price your plan at $5/month, you need to host 20 accounts to break even.

You get the gist. The cheaper the plan, the more the accounts you’ll need to host on the same server.

If a hosting service is advertising itself as cheap, and you want your website to be fast – run a mile!

So what happens, on shared servers, each time somebody visits your website, the server is (at the same time) handling the websites of all of the other users / accounts on that same server.  

With shared hosting, it can take more than a whole second to even start working on delivering your website’s contents.

You can clearly see that delay on the screenshot above.

VPS vs Shared hosting environment

VPS vs Shared hosting environment

 

If you want to make a website fast, this delay of one second in response time is creating a serious issue for you.

Here are our first recommendations

  1. If your website is using WordPress as the CMS, choose from the best WordPress hosting companies, the ones with known good service and great reviews. Stay away from cheap hosts.
  2. Going for the highest plan you can afford, a Virtual Private Server is a good balance between a (cheap but slow) shared hosting site and a dedicated server (fast but expensive). With a VPS, your site will have plenty of resources to deal with the load and respond within a few milliseconds, rather than a whole second.

 

The images of your site are not optimized

Images are one of the primary reasons why websites can be slow to load. 

It’s always great advice to use images in your articles. They help to create a break in large pieces of text. Images are also great for readability.

“An image is worth a thousand words” or so they say.

But images can also create problems.

Primarily, images which are not optimized for speed can have a serious negative effect on the loading time of a website.

It’s actually quite a laborious process to remember to save each file in a speed-friendly format, and compressing them to a size which is small enough but which does not lose any of the quality of the image.

Besides being labor-intensive, some people are simply not aware of the need to optimize images.

So what’s the solution to this problem? We need to find a method which will automatically optimize images.

Here’s where a CDN comes to the rescue. CDNs are designed to address this problem without requiring any manual intervention

This is because image optimization (including lossless compression) is typically a built-in feature of most CDNs

That means you don’t have to worry about the images. While you handle the design and creation of a website with awesome imagery, the Content Delivery Network will automatically compress and optimize the images.

 

The website is using a lot of scripts

This is another factor which has a bad effect on the speed of a website.

Almost all plugins which are installed on a website have an impact on the loading time of your website – each plugin adds more and more assets to the site, making it slower and slower.

Each plugin which is used to create a specific piece of functionality is also slowing down the site.

Some plugins create more JS files, CSS files, and other assets, so some are worse than others, but all of them have at least a bit of an effect. The fewer plugins you install – the better. This is a golden rule.

Each plugin also adds overhead in the form of requests.

Have a look at the following screenshot from a site which has not been optimized for speed. You can see that the performance scores are very slow, whilst the fully loaded time is horrendous.

Slow loading time due to many requests

Slow loading time due to many requests

 

Thankfully, there are ways to mitigate these problems:

  1. Install as little plugins as possible on any website
  2. Combine the files created by all the plugins into a few files only
  3. Enable HTTPS and then HTTP/2 on your website for better overall loading times

Once again, a CDN can help with the combining the files into fewer files and delivering that content over HTTP2.

The CDN actually performs compression and minification of JS and CSS files; this makes the overall size of your site’s resources smaller and therefore, faster to load.

Setting up of HTTP/2 in also highly recommended. HTTP2 is something which is a whole topic of its own so we’ll recommend a couple of great articles on WebDesignerDepot and on CollectiveRay blog which we’ve already written.

HTTP/2 has been created specifically to make improvements in the loading time of websites. It is designed to address certain shortcomings which older technologies did not deal with.

CDN services typically can enable HTTP/2 on your website, simply through the flick of a switch. HTTP/2 requires that HTTPS has been enabled on your site. Once again, CDNs typically have built-in support to serve content over HTTPS. Thanks to the CDN, you can enable HTTPS without incurring the cost and complication which is associated with secure website certificates. A CDN is also able to improve the overhead associated with the SSL/TLS handshake (which is a heavy operation). This ensures that even with HTTPS enabled – the site incurs no overhead.

There’s still one problem which we haven’t addressed which can slow down the loading speed of your website.

What is it and how can we fix it?

 

The geographical location of your website server

There is one thing which can negatively your website’s loading speed, even after you’ve performed all sorts of speed optimizations mentioned above.

Have a look at the following diagram.

Hosting server location vs visitor location

Hosting server location vs visitor location

 

This shows the typical time it takes for web data to travel from the one side of the Atlantic to the other. You can see that loading a website hosted on a different continent that your website is visiting from, is a problem. If your website is hosted in the continental US, any visitor outside of the US will experience this problem.

Of course, this applies all over the world. It can even happen within continents if the visitor is located far away from the hosting server.

The distance your website’s content has to travel has a direct (and negative) effect on how fast your website loads.

If your website has a localized audience, choose a good hosting service which is physically close to your target audience. If you are targeting users in New York, choose to host your website on a good server in New York.

However, what do you do if your website caters to an international audience?

You can’t choose a server which is located close to the visitors of your website.

However, there is a solution. As you might have guessed, the solution involves a CDN, because a CDN service specifically addresses this problem.

Let’s see an updated version of the previous diagram, this time we see how the loading time is affected if we use the services of a CDN such as Incapsula CDN, one of the largest players in the CDN industry.

Without CDN vs with CDN

Without CDN vs with CDN

 

Just like we discussed at the beginning of this article, a CDN service is designed to shorten the distance that content has to travel to reach the visitors of a website.

A CDN service is set up by creating a network of hundreds of servers in different locations in multiple countries and geographies. These servers, known as caching servers or edge servers, each contain a local copy of the images and files which your website needs serve.

When a user accesses your website, these files are served from the nearest physical to your visitor.

This reduces the problem of distance and makes a website much faster to load compared to if a website was not using a CDN.

Have a look the following diagram, which shows the geographical distribution of caching servers around the world – making it possible to always serve content from a location which is physically close to your visitor.

CDN global server map

CDN global server map

 

How to set up a CDN for free

The great thing about CDN services is that they operate on a freemium model – typically they offer a free plan. This free plan provides the localized caching functionality we have shown above.

If your website grows beyond the limits of the free plan, you can then move to a higher plan which suits the needs of your website better.

The easiest way to implement a CDN does not even need a plugin, it’s done by what is knows as a reverse proxy.

This only requires you to perform some changes to the DNS settings of your domain. You’ll find exact guidance for most hosts from the CDN you will opt for, or you can ask for support from the CDN’s support staff.

You can see below how your website together will work together with the CDN to send content to visitors. The origin server is your website’s server.

CDN setup using proxy server

CDN setup using proxy server

The CDN server actually receives the hit when a user visits your website. It then sends the request to your site, such that any necessary dynamic content is generated. Once it gets a response, the CDN sends the dynamic content and all static resources to the visitor.

This removes a lot of load from your hosting server – making your website load faster and able to handle much more visitors simultaneously.

 

Conclusion – are you ready to make your website faster?

As we’ve seen in this article, setting up a CDN can start from the very cheap price of free! Besides not having to spend anything, the loading speed of your website will be much-improved giving your site’s visitors a better user experience for your visitors.

 

If you’re looking to have a fast website, a CDN is a must.

 

Read More at What is a CDN and why does your website need it

]]>
https://webdesignledger.com/what-is-a-cdn-and-why-does-your-website-need-it/feed/ 0
How To Boost Your Freelance Web Design Career By Building a Network https://webdesignledger.com/boost-freelance-web-design/ https://webdesignledger.com/boost-freelance-web-design/#comments Tue, 24 Jan 2017 17:01:46 +0000 http://webdesignledger.com/?p=39578

Hey there freelance web designer – you’re leaving money on the table! We all know about the struggles of starting a career in freelance web design. You’re probably not aware of the right places to look for work, you might be underselling your services – maybe even working for free to build up a nice […]

Read More at How To Boost Your Freelance Web Design Career By Building a Network

]]>

Hey there freelance web designer – you’re leaving money on the table!

We all know about the struggles of starting a career in freelance web design. You’re probably not aware of the right places to look for work, you might be underselling your services – maybe even working for free to build up a nice portfolio. You still have to build confidence to start charging a decent rate. It’s tough, but we keep at it to be able to succeed when we’ve built a good name for ourselves.

Eventually you learn – you start making good contacts and the work starts rolling in. If you’ve worked hard enough and made enough good contacts, you might now start to struggle in a different (much more positive) way.

You start to struggle to fit all of the work you have in your day. And this is the point where you start leaving money on the table – you start to refuse work simply because you don’t have enough time to service all of your clients.

Yet – it doesn’t have to be this way – there’s a little trick we’re going to show you today which will boost your freelancing web design revenue. At the same time, done right, you can possibly starting working less hours rather than more.

The dangers of refusing freelance web design work

If you’re in a position that you are struggling to keep up with work coming your way – well done! You’ve done such a great sales and marketing job, that clients are clamouring to get just a little bit of your time.

It’s a fantastic position to be in. One that most of your peers envy.

You’re not only filling all your hours – you can actually start choosing who to work with or the jobs you take.

If there is a client or a job which you don’t want to work on, do a little magic with the numbers when writing your web design proposal. Double or triple your rate – that way, your client will either get discouraged by the price. If they’re not sufficiently discouraged you’re going to get a nice windfall from that client or piece of work.

You’re not refusing outright a job which you’d rather not be working on. You’re just earning more money from it.

You can actually start charging better rates overall should you want to. That will automatically shrink your client base, because the ones who might have initially been attracted to your (cheaper) prices would now start shirking away.

There is a problem with both these approaches though.

They work well as long as there is a bounty of work. If times get tough, you will have alienated quite a few of your clients. These clients would by then have moved on and you’re unlikely to win them back. The fact that you snubbed them when you had better clients or jobs will be a turn off to them, even if you actually ask them very very nicely.

Let’s face it, they’ll think, if you snubbed them once, you’ll do it again.

So what’s a better approach?

Don’t refuse them – outsource the work to your own network of web design freelancers.

Establish your own network of web design / development freelancers

Whilst building your own network of clients, there is another piece of networking you should be doing – establishing a network of freelancers which operate in the same or similar niches as you do.

If you’re a web designer, you should network with:

  • Other web designers for when you are overwhelmed with work
  • Web developers for when you need to customize stuff
  • Designers for all creative work
  • Photographers / video or other online content providers

You get the idea.

Same goes for any content writer or anybody working in a niche related to the web design niche. Network with freelancers doing web design so that you’ll be able to take all of the work which comes along.

That way, when and if a client comes for the full package, you can provide them with the all of the services they need.

Heck you can even actually pitch a whole package if you see that your client has that specific need.

Stop doing the work you hate – start working on the things you love.

We’re in the day and age of digital workers. Freelance web designers have the luxury of working from anywhere – infact quite a few of them do. More than that, you can outsource the work to countries where labour is cheaper.

That gives you the opportunity to markup the work of others. To have a bit of an analogy, in essence, you will be the Quality Assurance manager in a factory of “manual labourers”.

Or the architect at a construction site. You won’t be dumping the concrete. You will, on the other hand, be testing that the quality of the concrete is good enough for your (web)site.

Rather than being the manual labourer yourself, you define the requirements and make sure these requirements are rigorously met, on time and at the right budget.

You’re simply the project manager of the jobs you’re unable to do, whilst still doing the jobs you enjoy doing.

Use the 80-20 rule as your guiding principle.

If you are able to spend 80% of your time doing the work you love and the other 20% of your time, managing your network of freelancers, you’re going to easily double the amount of hours you could be charging for.

This will drastically boost your revenue potential.

If you do freelance web design and enjoy designing pages, but don’t really like doing coding, you’ll need to have a bunch of WordPress developers ready for hiring. You can then outsource the development work to these designers and you can keep working on work you love doing best.

How to create a network of cheaper freelancer web designers

The biggest challenge in all of this is to actually build a reliable network of web design related freelancers.

Let me tell you a bit of story.

We tend to get quite busy publishing content at DART Creations – so when we do to need development work, we typically outsource to our trusted developers.

Yet finding reliable WordPress developers was not a pleasant experience for us.

We tried hiring developers first on a few of the most popular freelancing websites out there. We set up a project and a budget and waited for the offers to start pouring in. They did of course – from all sorts of people, the ones with great reviews and exorbitant prices and the ones with fewer reviews and more decent prices.

We chose somebody who seemed to be a good balance between good reviews and prices.

Our first hiree turned out to completely “borrow” code from another plugin.

Our second hiree wasn’t very responsive – although we agreed a timeline, we had to remind, nag and eventually beg for the code to be submitted.

The quality of the resulting code left much to be desired.

They had asked for payment outside of escrow services and trying to recover any money after that mess required chargebacks on credit cards. In a few words – too much hassle.

(Lesson learnt: never make payments outside of an escrow service – even if it’s more expensive, you’re protected against poor work)

The tried and tested way to hire freelancers

1. Physical networking

Working online has it’s benefits. Yet, there is something about meeting a person face-to-face where you can make an instant judgement on whether that person is reliable or not.

Get in touch with your peers in real-life as much as possible and network. Go to web design, WordPress and development conferences – and always network as much as possible.

Don’t stick to a single group of people with whom you “make friends”. Meet as much as possible with different people, always with a lookout to acquiring new contacts.

Attend local developer meetups with the same thing in mind. Wherever there is a gathering of people who operate in your niche, go and make contacts.

2. Online networking

Whilst physical networking is great – you should still network online. Find online groups of peers. Whether your favourite online hangout is Facebook, Google+, reddit, or some forum, always keep networking online. The more groups / conversations you join, the larger the possibilities of networking.

Give back to the online communities you join.

That way when you do stuff to network, you’ll be known as “the one who helps often”.

3. Vet freelance web designers and developers before going all out

You should never assign somebody to important jobs unless you’ve already tested them out on smaller jobs.

Essentially, if you don’t know a person, you really can’t be sure about the quality of work they provide, their timeliness, their communication efficiency.

Reviews can guide you, but you’ll find that quite a few reviews might be skewed and not provide a true picture of the actual skill set of the person you are hiring.

You’ll need to slowly get to know the person you are hiring by giving them a small task. This task should not be crucial to the success of a project. It should be a piece of work which you can afford to trash and give to somebody else.

4. If you’re in a hurry – hire multiple freelancers for the same job

When you’re pressed for time with a tight deadline for a piece of work and don’t have the time to vet a new hiree, there is a tried and tested way to mitigate your risk.

Rather than hiring a single developer, you should hire multiple developers (or whatever the task you need to do is).

You’re going to pay a premium for this, but you should see this as an investment in future projects. It is also a better guarantee of a good result.

Probable scenario – one hiree does not deliver or deliver sub-par work (work is thrown away, hire is abandoned). Second hiree provides good quality work.

Best-case scenario – both hirees provide excellent quality work. You’ll still have to throw away one of the results, but you’ve found two excellent freelancers for your network which you’ll be able to use in future projects.

Worst-case scenario – both hirees deliver poor quality work. You’ll have to abandon both hirees and their work and in all likelihood you’re going to have to perform some contingency planning.

A way to mitigate the worst case scenario is give the hirees a due date which is a week or two before the project deadline. That allows you some leeway to find a replacement, although you’re going to have to pay through the nose this time to make sure the quality is top-notch and the project is delivered on time.

Make hay while the sun shines

As long as you’ve got work coming in, creating a network of freelancers working around your web design is an excellent way to boost your freelancing web design revenue. Given that they are freelancers, with no fixed commitment, you’re not risking much in reality.

It’s a win-win situation for you.

Stop leaving money on the table. You never know when the good times will dry up.

 

Read More at How To Boost Your Freelance Web Design Career By Building a Network

]]>
https://webdesignledger.com/boost-freelance-web-design/feed/ 2