One of the most common side effects of successful websites on the internet is not being able to handle the bandwidth.
This could be server processing power, actual server network bandwidth, payment processing bandwidth or simply people's time to manage the operations of it all.
If you just have your site on a cheap simple shared hosting, chances are if you ever get popular, the site will immediately choke and die, giving all of your visitors a nasty error message.
I'm here to help you not be that guy (or gal)...
First we are going to talk about actual server processing. If you intend on having hundreds of people on your site at once, you need ton consider a dedicated server or VPS servers with lots of ram.
Here are a few of the hosting places I've used and can recommend:
RimuHosting- I've been using these guys for over a decade. They have some of the best support in the biz.
LiquidWeb- These guys have several datacenters that are the real deal. Click the link and go to their website then click on 'Datacenters' to take a tour. Done right!
DigitalOcean- I've been using them for over a year and have never had any issues. Their VPS servers are the least expensive starting at just 5 bucks a month. Awesome for development.
If your site is getting thousands of people at the same time, you are going to need to invest in bigger server infrastructure. You should start to consider getting a load balancer and hosting the website on multiple servers so they can balance the load amongst themselves. For really big sites you can start to separate the http and database functions of the site onto different machines.
For all of these more advanced configurations you are probably better off hiring an expert who can handle these sort of things with no problem. it is very easy to get overwhelmed when you don't know what you're doing and when you are losing money because your website is down it is not a good feeling.
If you are hosting lots of static content such as images and videos, you are going to need network bandwidth. The best and cheapest way to get network bandwidth is by using a CDN.
A CDN is basically a cache. It takes the static files for your site and puts them on different servers scattered geographically around the world. When someone goes to pull one of those resources it grabs the media file from the server nearest to them. This frees up your server to do more important things such as make database calls or return http requests.
If you are doing anything with video, a CDN is a must have. The CDN that I have found to be the least expensive and has been reliable so far is:
The other thing I like about this company is they provide you with a shared ssl certificate for free. This comes in handy if you are doing anything with facebook apps which require all of your media to be loaded over ssl.
Not all CDN networks are created equal. Typically you get what you pay for in terms of server power. This one is a good balance of price & reliability for me.
So you think everything is working great, servers are holding up, payments are coming in, then you get the dreaded email. "Your merchant account has been frozen".
Don't worry, you are not the first. Basically if paypal or whatever payment procesor you are using sees a ton of activity on your account where there was once none, they may freeze the account and attempt to contact you so they can see what is going on, what you are selling, and assess the risk of your account.
If you are selling any kind of virtual goods with a 'card not present' setup, you are most likely considered a high risk merchant and you will need to let them hold a reserve. This means they keep a certain % of each transaction for a given amount of time just in case people start refunding.
Paypal is by far the most simple form of collecting money on the internet but there are many other ways to do it. Most typical merchant accounts cost a lot less in fees, but will usually require some form of programming in order to integrate them with your website.
When you grow even bigger, there are more advanced merchant accounts which allow you to put in multiple payment processors. What this does, is it allows you to attempt to process a card on more than one network in case it fails, in case there is a problem with one of the processors, or if you have hit your transaction limits. The last thing you want is unhappy customers who can't make a payment to you!
The last thing to take into account if you are running a successful website is people bandwidth. You may think you can do it all, but it's a lot of work.
You have to be an expert in so many areas to achieve this.
You have to be willing to pick up the phone and talk to reps at ad networks
You need to be technically proficient enough to setup the servers and be able to detect what's wrong when things are not working.
You need to have some sense of what's hot or what people want to know so you can actually provide relevant content for your audience.
You have to keep tabs on everything. Where is your traffic coming from? Did google slap you? Is your url blocked on facebook?
You need to be active on social media and know how to engage people. I believe this is key to being able to get your content out the the widest possible audience.
You need to be able to play the roll of a lawyer to read over contracts and agreements and be able to understand enough to negotiate deals and not get screwed over.
You need to be able to play the role of an accountant to keep your books in order so you know how much you have to pay in taxes (as almost all of the earnings come untaxed with 1099 forms, and you are expected to pay quarterly estimates). Mo money, mo problems... ;-)
Don't Give Up!
These are just some of the things you need to look out for as you grow your internet empire. It's not always easy, especially getting started, but once you have everything running, it's like having a money printing machine that you can just sit back and as traffic comes in, the site earns money for you. It's quite amazing to see it all in action.
Stay tuned to this blog for more useful tips. Don't forget to check out the links on the sidebar -->