On July 12th 2016 I started my own gaming and technology website, Fynestuff.com. The plan was to combine two things I think I'm really good at, writing and following e-sports and technology. So I got together with a bunch of my friends (with Shivendra, he might have been mentioned here once or twice) and over a 1AM coffee break literally at Linking Road Starbucks (sidenote: meme magic is real), we thought of how to go about it.
Problems We Faced
The first and most obvious problem we had was the name. I knew I wanted to write good quality articles on everything ranging from one of my most played games, Dota 2, to movie releases, TV shows and how Steve Jobs wouldn't like the new iPhone. Just a very 18-24 demographic-y set of articles catered towards people like me. The problem with the content writing and journalism industry is that it's saturated with mediocre and ineffectual listicles, rife with laziness and fake sensationalism. A lot of that has to do with the socio-political changes in the last half a decade or so, with the sensationalist, scaremongering titles propagated by websites like Buzzfeed and Scoopwhoop and needless division and racialism promoted by the Twitterati. I don’t want to get political.
I try to keep the sensationalism to a minimum on Fynestuff, but the problem is, it works. From a business perspective it makes sense to maximise clicks for the sake of a bit of integrity if your content itself isn't very serious, and let's face it, for videogames like Dota 2 and CS:GO, unless you approach it from a serious journalistic lens like Richard Lewis, it makes sense to make that trade-off.
We went through a lot of names that night, over spotty internet and half-asleep bodies rattling their brains to figure out a name that didn't sound too stupid and was also available as a domain. The only one that we thought fit that criteria was Fynestuff, so the next morning we did it.
Don't ask me about the site architecture or backend. I had no clue how any of this works; but I decided to give it a shot. Limited IT experience and a more than bad set of skills for being a sysadmin puts me in a position where I have to learn everything from scratch.
So here's How To Create a Wordpress Website:
1) Choose a hosting provider: I chose Amazon AWS
Amazon Web Services's Free Tier is basically a year of a free t2.micro instance, which is a virtual shared webserver where you can do pretty much whatever you want, including setting up a website. There's lots of other cool things you can do with 30GB of storage, 1GB of RAM and a good amount of computing power. It's enough to support around 50 simultaneous users on my website, though the fact that I choose to run it on a Windows server limits the efficiency somewhat.
I was having a huge amount of trouble setting up AWS's very own Wordpress AMI, which is made by Bitnami. It's basically a go-to, packaged, readymade Linux server that comes with everything you need for a Wordpress website pre-installed. The problem with that is its limited customization. We had a bit of trouble getting rid of the ugly "Bitnami" branding on the bottom left of every webpage we found. And running SSH into a Linux server from a Windows machine is slightly harder than if you're running Mac or Linux, because you have to install Putty or some other software, and can't connect straight through the command line. After being frustrated with the prebuilt Bitnami package, we tried going for an Amazon Linux AMI. There were problems with that too, but that’s mostly down to me being stupid and not finding a way to install Apache correctly. I also got confused between all the different languages; all the answers on Google pointed to using ‘yum’ packages to install Apache, PHP and Wordpress which is meant for CentOS/RHEL and not whatever Amazon’s Linux AMI is running. Huge pain, and after a day of trying to figure everything out, my friend Shivendra got Wordpress up and running through a WAMP stack on Windows Server 2012 in the meantime.
One of the better guides we were following is this. If you want your Wordpress hosted on Linux using an AWS instance free, this is the way to go.
What we learnt:
- AWS Free tier is free for only 15GB of Network Out; if you have a lot of traffic, you’ll have to pay for more bandwidth. We went over this limit in the first month because we were constantly moving files and didn’t have a CDN back then.
- A t2.micro instance is good for a small to medium website, but if you’re going over 50 concurrent users, considering switching to a paid VPS or controlled hosting. Or even a higher instance of AWS, if you’re so inclined.
- Make sure to follow all the steps to enable Elastic Load Balancing and an Elastic IP. Very important.
- Keep Cloudwatch alerts for things like when your website is under load (above 80%), when your cost goes above the Free tier allowance, or when
2) Why Windows?
There are some disadvantages to Windows servers over Linux based ones.
- Both perform about the same in low stress situations, but when the going gets tough, many people are visiting your website and it’s under high load, Linux usually outperforms Windows.
- Most of the internet is written for Linux based servers. This runs fine on Windows, but if you’re looking to do the opposite, like use .NET or VB software on a Linux server, you run into compatibility problems. By optimizing for Windows you’re probably being less efficient in the long run.
- Linux software is free? Windows isn’t. People keep throwing this around a lot but both are free under AWS Free Tier, so whatever.
However, none of these problems affect us because PHP and MySQL, which are the two things we need along with Apache/NGinx to run a Wordpress website, work great on both. We ran into SSH issues with our Linux platform after we gave up on Bitnami and installed Wordpress on Linux ourself.
The biggest advantage of a Windows server on AWS is the ability to RDP into your instance; you essentially get to use your server as a desktop like you were using Teamviewer. No SSH or command lines to deal with, and you don’t need FTP solutions as you can just drag and drop files between your desktop and the amazon instance. For noobs like us the convenience of not having to Google how to drop files into our server was great.
3) Setting up a web application stack.
On the second day of trying to set up a website from scratch, Shivendra managed to install WAMP server pretty easily. WAMP is what’s known as a “web application stack”, which is a set of software you need to run a server from a computer. WAMP stands for Windows, Apache, MySQL, PHP. There are other kinds of stacks, like MAMP stacks, which is the same but for Mac, LAMP stacks, for Linux, and others. If you’re running Wordpress on Windows it’s best to go with a WAMP server; you won’t need any additional functionality.
A few notes when using Windows and installing WAMP server:
- Don’t forget to rightclick Apache modules and checkmark the “rewrite_module” thing, because if it’s not ticked it won’t let you connect to Apache and you’ll get a Port 80 error.
- Follow the end of this guide again to get the DNS servers working correctly with Wordpress.
- Remember to change your “site address” and “wordpress address” URL in the wordpress settings.
4) Installing your Wordpress themes and plugins
This step is really easy and anyone who knows how to click a button or use the internet should know how to do both. There are a lot of great, free themes available out there, and if you want to customize something checking out the theme’s FAQ helps a lot. Plugins are the same. Here’s the plugins I use for Fynestuff:
- Yoast SEO: Integral to any sort of search engine optimization; probably the best plugin out there on Wordpress right now. It’s this plugin that makes switching to Wordpress worth it from any other platform. Customizability for how your website appears to the rest of the world is invaluable, and good SEO can get your website thousands, if not millions of extra clicks.
- WP Subtitle: We need a basic plugin to add subtitles
- Mashshare: Share buttons. Pretty cool.
- Mailchimp for Wordpress: for our mailing lists. Email marketing still has the highest engagement rates of any form of online marketing, even more than SMS and way moer than social media. If you can get a substantial mailing list, you have a very valuable resource for consistent engagement.
- WP QUADS: Helps us put in our Adsense ads in different places on the website. Quite customizable.
- UpdraftPlus: I got this recently after our website crashed and we lost the entire database. We had to reupload everything manually. If we had kept backups it would just be one click. This plugin automatically uploads all our website’s content, including the database, to Google Drive once a day. Always keep backups!
I’m not very good at writing, SEO, or running a website, but it’s a learning process for each of them. I’m looking to grow this website into something big, and I know that it’s an effort that requires quality and consistency. The graph you see spikes up from time to time when we have really popular posts, but most of the days have a dull number of viewers, and that’s fine. A content driven platform like mine requires a solid userbase and customer loyalty, and the only way to build that quickly without spending exorbitant amounts of money on online advertising is to be consistent and quality driven.