5 Horrible Lessons I Learned Building an MMA Site

Photo credit: Sports Illustrated

Making a website is like trying to build the perfect woman for 10,000 virgins.  At the end of the day, nobody is going to be happy, and you're going to have to figure out what to do with all of the unnecessary holes you created.  When I first started Rough Copy, it was a simple blog with mostly funny articles.  It was powered by Drupal and I ran an MMA picks tournament using a fantasy football plugin that I modified.

A few years ago I decided I wanted to devote the entire site to the sport of mixed martial arts, so I decided to develop my own system to track events and fights.  I designed the database and wrote the code to power half a dozen features across the site.

The idea behind Rough Copy is pretty simple.  People can sign up, pick winners, and leave 1-5 star ratings for all of their favorite events and fights.  Unfortunately, explaining this concept to people on the internet is like standing on the side of an interstate shouting at oncoming traffic.  It's only shocking when thousands of other people are doing it, but then you become just another person blocking traffic and, wait a second, is that one chick naked?

Here are five lessons I learned while building this monstrosity.

1. Everything Becomes an Insane Labor of Love

Building a website from scratch requires supervillain levels of attention to detail.  The only difference is that instead of a singular hero attempting to destroy your Doomsday device, you have to worry about thousands of people surfing the web using offbrand tablets and 4k televisions.  Even if your fancy new webapp is whizzbanging along on modern platforms, what about the guy running IE7 with javascript disabled?  For every feature you add, you have to assume that 95% of your audience won't be able to figure out how to use it and that the other 5% will actively attempt to convert your code into an evil AI.  Before I make any decision, I first ask myself, "If I were the world's dumbest man or the world's smartest dolphin, what would I do here?"  And then I make sure that nothing self-destructs whenever an unsuspecting person or evil dolphin does the thing.

Take an event page for example.  An event requires several different components working together.  First you need a database to store all of the information you want to keep, and you're going to need to document everything so you know which table columns reference other tables.  For an event we display information about the event, fights associated with the event, fighters associated with the fights, reviews, videos, related news, and other important data.  Suddenly a simple event requires at least ten tables.

Now you need a way to manage all of this data.  This requires building a secure administration section to access, add, remove, and edit items.  You also need a user system with different levels of permissions for users.  Most content management systems make it simple to handle these tasks, you install, configure, and you're done, but you have to create all of this yourself without one.

All of the steps I have detailed so far just describe how to get and maintain data.  Once you have created the structure, you have to actually add the information.  As of this writing our database has over 3000 fighters and nearly 6000 fights.  All of these had to be researched and entered, which was an insane and tedious process.  Though we have all of the UFC fights, most of the Bellator fights, and all of the Invicta FC fights, this is still only barely scratching the surface of a sport with hundreds to thousands of local and regional promotions across the globe.  Actually displaying all of this data to users is yet another layer.  How will you show all of this stuff to users in a clean and concise manner?  What happens when there is none?  What happens when the system is expecting a number but someone enters potato?  These are legitimate concerns that turn what should be a fairly straightforward process into a long and winding one where each simple step requires 20 substeps.

2. Internet Marketing Is Its Own Convoluted Process

Early 2000s internet was a simpler time.  There were only like 200 websites and they all talked about the same grainy deer cam footage of some seedy producer rummaging around in Paris Hilton's vagina like a raccoon digging through the trash for old apple cores.  Search engines weren't very advanced yet and there wasn't much competition anyway, so virtually anything you published had a fairly good shot at hitting the front page of Google.  I once managed to briefly hit the top of Google for "celebrity sex tape" searches with an article and a few good links.

If you're unfamiliar with my writing history, I generally post something whenever I want before disappearing into the wilderness just like Brock Lesnar does between paychecks.  So far it has been an effective means of attracting a wide variety of maniacs, but modern advancements have made that lifestyle much more difficult to maintain.  Consistency with writing schedules has never been my strong point.

Today's internet consists of various social media platforms, each with its own unique approach allowing people with similar interests to tell each other that they should probably kill themselves.  Twitter allows you to shout into the abyss at anyone willing to listen and Facebook is where friendship goes to die.  As more and more brands compete for the limited availability in your various feeds, you have to constantly adapt to stay relevant.  I would rather spend my time writing articles and building new components for the site than being involved in a constant cycle of forever-changing self-promotion, but a large part of the process is asking for feedback and drinking to deal with the resulting abuse.

I've gotten hundreds if not thousands of emails from marketers spewing the same SEO garbage about how they can optimize conversions my website.  There are companies out there that exist only to write a simple article about a subject and feed it to a robot that spits out several thousand permutations of that article so that they can publish them on free accounts for the purpose of building backlinks to a website and strengthen it's search rankings.  Shady marketers will comment spam the shit out of your links on any forum or blogger site too lazy to set up security measures for these things.  

3. There's No Money in Internet Advertising for Small Sites

Gaining traffic to a website is a lot like finding your first job.  In the same way that you need experience to get a job but first need a job to gain experience, you need to first have an audience to attract a larger audience.  When I started this site, I never expected to become the next Scrooge McDuck, though I did come to enjoy a similar pants-free lifestyle.  If you're on the internet looking to become a millionaire, writing silly articles about beefy combat isn't going to get you there.  Most smaller to midsize sites are run by people with day jobs, myself included.  A lot of the work is done by volunteers, or contributors as they're called for wink wink nudge nudge legal and tax issues.  However, I did assume that throwing up a few banner ads would at least generate enough revenue for the site to run itself.  I was laughably wrong.

In order to make enough money to cover the cost of printing the check, you generally need at least two million page views every month.  Ad networks vary in payouts and how they work, so you have options ranging from using simple text links to turning your entire creation into a shrieking minefield of pop-ups, pop-unders, and auto-playing videos daring you to play pornographic video games or purchase some gold.  I decided to go with a few sidebar and content placements because I personally don't believe in selling someone digitial syphillis under the ruse of their genuine interests.

Remember that first job analogy a couple of paragraphs ago?  Well, the same holds true for producing content.  Producing lots of unique content consistently enough to get these views requires multiple people, and when you add other people the equation, your pet project is no longer an after hours hobby, it's an investment.  This is largely irrelevant though, because...

4. Low Effort Clickbait > Original Content

In recent news, Brazilian knockout king Vitor Belfort joked during an interview that he would like to face the 0-1 GOAT known as Phil "CM Punk" Brooks.  Within hours the internet was flooded with dozens of articles reporting on the fight as though he were serious, and social media was flooded with people complaining about the integrity of the sport being compromised with such an outlandish human sacrifice.  In reality, this fight wouldn't even be sanctioned in Brazilian soccer, and their referees sometimes get decapitated after stabbing the players.  The further away from an original source that you go, the less likely you are to find people who appreciate or understand nuance well enough to convey information accurately, especially when there is a language barrier involved.

Creating a news story is as easy as writing a paragraph citing a single word tweet and spewing enough hyperbolic diarrhea into a title to pique the interests of people in an already over-Buzzfeeded world.  If reporting on the latest Conor McGregor tweet is too much effort, you can always just blatantly steal content from other people.  Freebooting is the process through which people rip videos and upload them to Facebook.  Before the Mayweather-Pacquiao fight back in 2015, the folks over at Noober Gaming created a parody of it in the style of Mike Tyson's Punch-Out.  It was immediately ripped and sponsored across countless Facebook pages.  The video has five and a half million views on YouTube but lost hundreds of thousands to content mills who believe that black borders with three crying laughing emojis across them count as commentary and critique.  In other news, LMAO WHO DID THIS!?  Uploading... StarWars.mp4

The problem is that not only is this stuff encouraged but it's also actively rewarded.  The process for having content removed is long and convoluted for people without an army of lawyers on standby, and there are no real consequences for offenders.  If you push out enough crap, you can meet all of the technical qualifications to be included in Google's news carousel.  Technical in the sense being less a matter of technology and more in the sense that politicians use to describe their understanding of consensual sex.  Google's main concern regarding news is that you produce enough content with enough different verifiable authors.  You can get listed in this without ever doing a bit of original research and without adding much in the way of additional context.  As long as other people are willing to contribute to the human centipede of poor reporting it doesn't matter.  Then again, if you're the type of scumbag opportunist willing to profit off of dirt sheets and stolen material, you're probably still scratching your head back at the word "consensual."

A while back Ronda Rousey did a body pain spread for Sports Illustrated.  We embedded the video and ran an ad for it.  It was the most successful campaign we've ever run, as we only paid roughly $0.002 per click as thousands of people rushed boner first to see some near nudity.  After a certain point it just becomes an issue of economics.  Do you spend your money promoting highly researched articles that generate low click rates, or do you just flash some titty and call it a day?

5. Congratulations, People Hate You

Step one to being hated by thousands of people on the internet is existing.  There isn't really a step two, only different ways to exponentially increase that number.  One of my favorite and least favorite things about what I do is watching strangers hundreds of miles away react with hypothetical violence.  For example, if I were to say that Josh Koscheck fights like he enjoys making sweet love to sweaty armpits, I would likely have at least one angry person inform me that Kos could beat my pussy ass.  Both comments are true, but only one person in this instance doesn't understand how jokes work.  If I were to post this on twitter, I would just be a troll, but if I posted it in paragraph format, then I'm a sports writer.  Or analyst.  Or ESPN anchor.  Or supreme lord wordmaster.  Fuck it, be creative.

For every article you post, 80% of people won't acknoweledge it, 15% will click, and 5% won't click but will still argue with the headline in the social media comments.  This is because everybody on the internet is already the smartest person alive, and nobody needs to read something to tell strangers that they're wrong.  Sometimes my tone is silly, sometimes it's informative.  It just depends on how I feel about the subject matter.  I assume that most people are smart enough to differentiate between the two.  Five Stages of Cain Velasquez and the Reebok article are obviously tongue in cheek, while my Hits and Misses columns can be fun or cranky depending on how I felt about an event.  Sometimes you just run out of ways to say that something is unremarkable.

Like every sport, MMA has winners and losers, and its fanbase has subdivisions.  Writing anything negative about a fighter means having to deal with potential backlash from those fighters and fanbases.  Tess Munster has defended more belts than Conor McGregor and all she has to do is find a long enough snake willing to die for her pants, but don't tell that to anyone using an image of a soccer player as a profile picture.  Now that we've gotten all of the Europeans out of here, this is a great time to say that McGregor is the best thing to happen to the Irish alcohol industry since poverty.  You're not going to please everyone, and some people are just going to miss your point no matter what you do, so all you can do is push what you enjoy, see if people respond to it, and adjust as necessary.  At least that's what I'm going to do, and I'll see the rest of you in an angry DM later this evening.


  • No comments

Leave a comment

You must be logged in to leave comments.

A PHP Error was encountered

Severity: Core Warning

Message: Module 'sqlite3' already loaded

Filename: Unknown

Line Number: 0