How To Offer Bulk Pricing On Your WooCommerce Online Store

WooCommerce is a very thoroughly designed software that allows you to manage your online wordpress store.  There are a host of features available in the base version but often times your store needs something extra.

This is exactly what happened with a recent client who I was building an ecommerce store for.  He wanted to be able to offer pricing on items based on quantity of items that a buyer adds to their shopping cart.

An example would be:

  • 1-10 items = $15 / each
  • 11-25 items = $14 / each
  • 26-50 items = $13 / each
  • 51 and above = $12 / each

WooCommerce doesn’t support something like this in the base version so I had to find another way to do this.

After doing some research I found a handy little WooCommerce Plugin called Woo Product Quantity Range Price.

Installing it was very easy.  You just install it like you would a regular wordpress plugin.  Once you’ve installed and activated it then you’ll see a few extra features when you’re adding or editing a product.

How to Setup The Item Based on Quantity

Scroll down to the section for “Product Data”.  In this case I’ll be using “Variable Product” since I have different sizes for the product.  This will work for other Product types too.

Then select “Variations”.

I have multiple sizes. Next to one of the sizes when your mouse go over it you’ll see three options on the right. There’s the drag and drop icon, the expand arrow and “remove” link.

Make sure that the “Sold Individually” in the “Inventory” section is NOT Checked.

woocommerce price by quantity range

Click on the expand arrow and you’ll see more options.

You’ll notice there is now a new section at the bottom for “Enable Product Quantity Range Pricing facility”.  Make sure it’s set to ON in green color.   There are 6 columns in the table.  The first is the Miniumum Quantity, then the Maximum Quantity, Price Type, Price, User Role, Action.

Product quantity range pricing

I’ve entered in some information above already.

  1. In the first row I’ve set it so that if the shopper adds between 1 to 19 items then the selling price is $8 / per item.
  2. In the second row I have it so that if the shopper adds between 20 to 300 items then the selling price is $7 / per item.

If you need to add more pricing then click on the “Add New Price” button above the table.

There are more options available in this plugin such as a price discount, percentage discount, which type of user to offer this pricing to.

In my case I have to apply it to every size. If your products don’t have any size or attributes then that’s fine.  This will work perfectly.

That’s it.  Just make sure to save your changes.  The pricing of this product will now change depending on how many items the customer adds to their shopping cart. Also a Pricing Table shows them all of the possible savings.

Quantity Pricing Table

I did have one issue but I think that was because of the WooCommerce theme that I was using. The issue is that the layout of the pricing table on the products page was a bit off. So I had to manually go in there and update the CSS.

Do you have an online store that you need designed or help with?  Contact me at or Call (281) 468-7690.

How I Increased My Google Pagespeed Insight Mobile Score To 88

In December 2018 I decided it was time for a new facelift for my website The original wordpress theme had been running for almost two years but I wanted to completely overhaul how it worked.  The goal was it make less distracting, less clutter some and faster!

After much research I purchased the Markesia Theme on themeforest.

After about two days of setting everything up I had the HTML version up and running.  The only issue that I faced is that the Google Pagespeed Insight speed was slow.  I think the score was around 50 somewhere for the mobile version.  With Google rolling out Mobile first I knew I had to get that up to 80 or more at the minimum.

Here’s what I did to speed up the score.

Step 1: Converting Images to Webp

WebP was originally released by Google in 2010 and it’s a great alternative to the usual jpg.  You can a size difference of 30% to 60% when using WebP.  Plus WebP supports transparent images if you’ve been using PNG’s.

Support is limited to the more newer versions of browsers but overall the good news is that most browsers do support it.

Have a look at the two images below.  The one on the left is JPG and the one on the right is WebP.

JPG Version (45 KB)

JPG Version of Website Design

WebP Version (24 KB)

To convert images to WebP you can do it manually or use a Photoshop Plugin.

The manual version is through the webbased tool from ezgif that’s aptly called Jpg to Webp (there’s png version there too!).

If you have photoshop then you can read up this tutorial by CSS-Tricks for how to use photoshop to save as WebP.

Step 2: Setup Browser Caching

Browser caching is basically the process where once you visit a website then the images, css files, javascript, fonts can be stored in cache.  That way the next time you request them again it’s already available.

In the htaccess file on your website you can setup how long you would like each type of file to have caching for. In other words how long should it use the cached version before requesting a new one.

And there will often be times when you need a script of update an image.  In cases like this setting expires allows you to let the browser know to expire the old image and use the new one.

There are two main ways to setup Browser Caching.

  1. If you have WordPress then you can use any number of plugins that are available that support browser caching. There are even all in one plugins that will provide a combination of tasks to speed your website in addition to just the browser caching. Two of the most popular plugins are WP & W3 Total Cache but you can compare more plugins and see which one is right for you.
  2. If you’re not using WordPress and have a custom made website then you can setup caching and expires through your htaccess file.  Always be careful to backup your htaccess file before making changes to it.  I used the below code which supports different font types and also the webp format.
AddType application/ .eot 
AddType application/x-font-ttf .ttf
AddType application/x-font-opentype .otf
AddType application/x-font-woff .woff
AddType image/svg+xml .svg

  ExpiresActive On

  # Images
  ExpiresByType image/jpeg "access plus 1 year"
  ExpiresByType image/gif "access plus 1 year"
  ExpiresByType image/png "access plus 1 year"
  ExpiresByType image/webp "access plus 1 year"
  ExpiresByType image/svg+xml "access plus 1 year"
  ExpiresByType image/x-icon "access plus 1 year"

  # Video
  ExpiresByType video/mp4 "access plus 1 year"
  ExpiresByType video/mpeg "access plus 1 year"

  # CSS, JavaScript
  ExpiresByType text/css "access plus 1 month"
  ExpiresByType text/javascript "access plus 1 month"
  ExpiresByType application/javascript "access plus 1 month"

  # Others / Font
  ExpiresByType application/pdf "access plus 1 month"
  ExpiresByType application/x-shockwave-flash "access plus 1 month"
  ExpiresByType application/ "access plus 1 year"
  ExpiresByType application/x-font-ttf "access plus 1 year"
  ExpiresByType application/x-font-opentype "access plus 1 year"
  ExpiresByType application/x-font-woff "access plus 1 year"
  ExpiresByType image/svg+xml "access plus 1 year" 

Step 3: Enable GZip Compression

When I implemented the caching above I specifically mentioned browser caching because this really is something that happens when YOUR browser first visits the website.  With GZip compression the changes occur on the server side so that when your browser requests a CSS file then it receives a compressed version, then your browser caches it until it expires.

GZip compression which won’t affect images but instead it’ll compress text based files such as css, html, javascript and other files that tend to have a lot of empty whitespace.

GZip compression can compress files by up to 70%.  And it’s very easy to enable.  You can use one of the plugins that I mentioned in step 2 or manually through your htaccess file.  Here’s the code below for gzip that I found over at GTMetrix Gzip Compression article.

  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml

  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent

Those are the main steps that I took to improve the my speed and thus my score.  You’ll see this score fluctuate up and down.  There are additional steps that you can take too which I’ll update below as soon as possible.

Do you have any tips on how to further speed Google Pagespeed Score? Post your comment below!

How Much Does It Cost To Design A Website?

That’s the million dollar question.  Don’t worry the answer isn’t a million dollars.

But asking how much a website costs is a lot like asking how much does a car cost.  There’s no right answer because it depends on what you want in a car.  Some cars have advanced features that’ll help you park your car and others have features that’ll help prevent accidents.

Let’s start with what you want or rather need.

What Do You Want In A Website?

Let’s assume that you want a 5-page business website.

Business websites are the most common types of websites that you’ll see online.  These are the type of websites that are used by local businesses from Doctors to Roofing Companies.

These websites will have web pages such as the main home page, about us, a page about services or products, pricing, frequently asked questions, request a quote, testimonials and contact us.  These are just the most popular types of pages because ultimately it’s up to the business owner to decide which of these they need.

They’re not limited to just 5 web pages, it’s just that the average is around 5.

Next we need to figure out if you want advanced features.

Remember that car that I mentioned that’s able to detect and stop in time so that you don’t get into accidents.  That’s an advanced feature but over time most cars will support them. Just as most cars now support power steering and power windows.

Which Website Features Do You Want? (or Need)

The most popular feature is known as CMS, known as Content Management System.  Over the past few years CMS systems have become very common, so more then likely most website design quotes will include it.  Just in case they don’t, just make sure to ask the web design firm about including a CMS option.

A CMS, such as WordPress, gives you a whole host of abilities such as:

Update Website
If you need to change information on the website after the website is complete then a CMS system will allow you to do this — easily.  That’s the operative word.  You just log into the CMS administration area, find the page, blog or product that you want to update and then make the changes.  Easy peezy.  No need to wake up your webmaster in the middle of the night.

Extra Features
Another great feature about CMS is the ability to add new Plugins.  Plugins allow you to add more functionality to your website within seconds.  Functionality can include features such as ability to SEO optimize your website, setup a shopping cart, ability to capture email addresses, social media sharing options, easily creating forms, increase security, setup website backup, set up an image gallery, setup a members area and so much more.

Plugins can also allow your website to connect to other websites using API. So if you need to access your Quickbooks then you can do that with the Quickbooks WordPress Plugin.

There are 1000’s of plugins that are available for almost any type of feature that you can think of.

Don’t Forget You’ll Need a .com name and Hosting
If you’ve already purchased a .com name and also a hosting then that’s fine.  If you haven’t then you need to make sure to include this in your cost.  Luckily website names are not pricey.  You can get one for around $15-$20 a yearly.

For hosting there are tons of options.  My experience with hosting is that it really comes down how you prefer to communicate.  Some people don’t mind using the online chat support, while others prefer talking to a real person. I prefer both depending on what type of website issue it is.

Luckily most of the hosting companies now have phone support that’ll be able to help you with any issues you have about your website.

My personal preference is a host that was voted the best hosting in 2018 because not only do they have great pricing and support, but they also have tons of self-help for WordPress CMS.

Let’s Talk Price

Now that you know what you want then it’s a question of shopping for quotes.  The more details you can provide to a web design firm the more likely they’ll be able to give you a more exact figure.

The best way to get the right price is to ask them to itemize everything so that you know exactly what costs how much.

Tip: Make sure to ask the web design company whether you’ll receive the full rights to the website after completion

As for pricing you’ll see prices ranging from $1,000 to $10,000.  Keep in mind just because a website is $10,000 does NOT necessarily mean its a lot better then the $1,000.

How Do You Decide Who To Go With?

First start by going through their Portfolio and visit some of those web sites.

If you visit a website in their web design portfolio then did that website do a good job of convincing to perform an action.  An action can be something like calling them, filling out the contact form, signing up for newsletter, etc.  If a website they’ve designed for someone else can’t convince you then how will the website they build for you be any different?

Next don’t make a decision based on price.  That doesn’t mean you shouldn’t consider your budget. Of course you’ll want to stay within your budget but at the same time you have to be willing to get the maximum value for it.

If you have a deadline for when the website needs to be launched then make sure to talk with the website firm BEFORE the quote.  That way you’re not surprised with extra fees for expedited websites.

Surprise — Not The Good Kind!

Speaking of surprises, make sure to let the webmaster know that if there are any additional fees then they need to run it by you for approval.  You don’t want an unexpected price surprise once the website is finished.

If you’re still not sure then speak with some of the past web design clients and see what they have to say.

Find out about their maintenance options.  What if you need some changes but you’re not comfortable making them then what type of fees would you be looking at?

If you don’t need too much maintenance then a pay-as-you-go hourly option might work. Keep in mind it might limit how fast the work will be done.

On the other hand if you setup a maintenance plan then there will be a dedicated amount of time setup for you so that your updates can be done fairly quickly.

The last step is to find out what are their payment, cancellation and return policy.   I’ve always offered my clients a step by step process.  So an initial payment, then design, then the next payment, website launch then the final payment.  Sometimes this differs a little bit depending on the size and scope of the project but overall it’s a process that’s worked well for me and my clients.

I would strongly advice AGAINST paying full amount up-front.

For cancellation it really depends on the why.  If you don’t like the design they’ve created or if it’s taking too much time then a refund or pro-rated refund will work.

A return policy is very difficult, almost impossible, after a website is complete.  The goal then is to never be in a position where you’ll need a refund.  Instead if you’re not comfortable with anything then make sure to let the website firm know.

Remember though that website design is a service, not an item.

Guarantees & Warranty

For guarantees, you’ll get anywhere from 30-day to 60-day or more to fix if something breaks on the website.

Overtime though software will get old, servers update, browsers change and new features are introduced.  So if anything happens after a certain amount of time then you’ll have to talk with your webmaster and find out how much it will cost to fix it and if possible prevent it from happening.

Don’t Loose Your Website

Make sure to have the website firm give you a copy of the website after the website is complete so that you have some type of backup.  In addition it would be a good idea to ask them to include the installation of a plugin that’ll backup your website and database.

Do you need an itemized quote for your business website design?  I can help. Contact me at Simple Web Design about a business website quote.

How To Keep Too Much Traffic Overload From Crashing Your Website

Most of you have probably seen a message at one time or another such as “Can’t connect to server” or “Too many Connections” or any of the other error message that can show up when your web site is experiencing too many traffic and visitors ie traffic surge.

As a webmaster I’ve had to deal with this issue first hand — this includes hours spent trying to find out all of the information about this issue and speaking with hosting companies directly.

One of my first experiences was where a client would send out 10’s of thousands of emails to his extremely large email list. The problem was that when he would send out a newsletter to all of them the web site would start getting a lot of traffic and within a few minutes it would crash. This would allow only some of visitors to actually access the web site while the remaining visitors would see error message.

This issue has to do with a server feature known as concurrent connections. Most web site hosting accounts offer a shared hosting account meaning you can get a lot of visitors over a period of time BUT if they all tried to visit at the same time then the web site would crash.

A good way of looking at this is to remember the last time you went to work in your car and used the freeway during rush hour. The reason for the traffic jam in morning and evening is because they are ALL trying to get to work or back to home at the same time. But if the traffic was spread out over the entire day then there wouldn’t be a traffic jam. It would still be the same amount of people driving BUT because it’s spread out during the day there wouldn’t be a traffic jam.

So how do we go about fixing or preventing traffic crashes?

One common solution is to switch from a shared hosting account which offers a few hundred concurrent connections at any given time to a virtual private service (VPS) which can offer thousands of concurrent connections. Now keep in mind that a Virtual Private Server is not completely your own server, it’s a virtual server and gives you access to the same resources.

If you’re still getting issues with traffic with your VPS then you need to consider a hosting account that can offer cloud hosting. A cloud hosting account is flexible because you get access to a whole different level of resources, not to mention a whole another level of costs.

Another possible solution is segmenting how you get your traffic. For example if you’re sending an email to 50,000 people then consider first emailing 10,000 then another 10,000 15 or 20 minutes later. This will help with the concurrent connections but not with bandwidth. But the good news is that only image and video heavy web sites will affect your bandwidth because webpages in general are very small in size. An image can be 100’s of times more bandwidth intensive then a webpage — and with videos that would increase to 1000’s of times more bandwidth intensive.

Now don’t confuse concurrent connections with bandwidth — they are not the same. Bandwidth is when you have a lot of visitors and it’s not crashing your shared hosting account BUT the amount of files that they download goes over your account’s bandwidth limit. This can also result in a crash or a bill for extra bandwidth used. Each shared hosting and VPS accounts offer different bandwidths and there are even some that offer unlimited bandwidth.

A good example of bandwidth is driving your car with gas. Once you run out of gas you can either get more or risk being stranded on the side of the road. With a hosting account they may have monthly limits so if your bandwidth limit runs out in just 10 or 15 days then you would have to wait until that month is over so that its renewed. If this is a common issue for you then you need to consider upgrading your account’s bandwidth, upgrading to VPS (if the VPS offers more bandwidth) or finding a better host.

If your issues are bandwidth related but not necessarily too much traffic related then a good solution for you is a service such as Amazon S3. Let’s say you’re a software development firm and you upload your software application and some training videos on your web site. Now keep in mind that neither of these take up much space because hosting companies tend to offer a lot of space now. The problem is when you start getting bandwidth issues once 10,000 people have downloaded it which means you’re maxed out on your bandwidth for that month.

In this case what you can do is, barring it meets your cost criteria, setup an Amazon s3 account, upload your software file and videos to your Amazon account and then link it on your web site. Your hosting bandwidth will not be affected by visitors downloading that software because the software is stored with Amazon S3. The best part is that S3 is very flexible and the service offers a pay-as-you-go pricing because it is based on their cloud. They even have a monthly calculator to find out what your costs would be before you try it out.

Keep in mind there are a few more variables involved and it depends on what type of site so as always do your research. Make sure to talk to your current hosting provider and Amazon S3 support.

My name is Sam Shah and I run a Houston based Web Design Agency. If you need help please request a consultation by messaging me directly at You can also reach me during business hours (Central Time Zone) at 281-468-7690.