Note: This is old content from GarrettMickley.com. I am no longer pursuing a digital marketing career, but I didn’t want the content to go to waste, so I’m relocating it here. I hope the Dev.to community finds it useful.
0. Table of Contents
2. What is SEO?
3. Why SEO is important to your coding
4. What color is your hat?
5. Keyword Research
6. Metadata is still important
6.1. Why optimize the metadata
7. Optimizing your page titles
8. Optimizing your page description and keywords
8.1. Optimizing meta keywords
9. Optimizing page titles and URL
9.1 Optimizing the page title
9.2 Optimizing the page url
10. Optimizing the text content of your pages
10.1. Word count isn’t terribly important
10.2. Make sure your keyword is used throughout your text content
10.2.1 Also include your game name here and there as well
10.3. Add visual interest to your text content
10.3.1 Use subheaders to break up sections
10.3.2 Don’t let your paragraphs get too long
11. Optimizing images for even more discoverability
12. Optimizing self hosted media files
12.1 Optimizing Audio Content
13. That's all you need to know about SEO to get started right now!
It's come to my attention that a lot of developers don't know about SEO.
They don't even know what SEO is...and that's okay! You're going to learn it.
Most of my past experience is actually in SEO, so this was an easy guide for me to write.
Note that in this post, it applies to all developers, but I will be using game developer related examples. The content will still apply to any type of developer. And really, any designers, or musicians, authors, painters, businesses, etc. Anyone can use this info.
SEO stands for Search Engine Optimization. That’s easy enough to remember, so we’re going to continue calling it SEO. It’s shorter, and this post is like 4000 words long already.
When you search for something in Google, Bing, or whatever search engine you use (I prefer DuckDuckGo), do you ever wonder how they decide what comes up first, second, third, etc.? How did they pick the websites and the order they appear in?
Very few people know the actual algorithm that sorts all of the websites on the internet, but we do know some of it.
We know enough that we can use that little bit of knowledge to optimize our websites for the search engines to rank higher, thus bring in more traffic for specific keywords.
When people want or need something they just search for it online. That goes for programmers, too.
It's pretty common for people to search for programmers to hire. They might search “front end developer” if they're looking for a front end developer, or “python developer“ if they need one for a specific programming task.
You need to be in the search engines where potential clients are looking for your talents.
Of course, you have to have a website first. I’ve seen a few programmers who only use free pages like GitHub, but not the actual GitHub Pages. GitHub is a great place to share code, but you also need to set up a GitHub Pages page to act as your website, if you don’t have one somewhere else.
You need to have a dedicated website.
Having a website that is dedicated to just you and your coding will give the search engines something to index with your name on it. You can also optimize it for certain keywords, such as “python game developer” or “Unity developer”. When using GitHub (not GitHub Pages) or other free website services, you won’t be able to customize enough to fully optimize your page. Having control of your platform is extremely important in this case (and many other cases).
Once you have your dedicated website and optimize it properly for the search engines, you’ll have the opportunity to promote it offline as well. Set up a personal email that looks professional (no more @gmail.com), put it on your business card, and hand it out at conferences.
When you first start searching the internet to learn about SEO, you’ll probably see information about people talking about white hat, grey hat, and black hat SEO.
You won’t be required to purchase or wear any sort of hats to market your talents, I promise.
White, grey, and black hats are terms used to describe the ethical techniques a particular Search Engine Optimizer (also referred to as “an SEO” for short) may take to reach higher rankings search engines.
You will never hear me teach you a black hat technique. Those are the “bad” or unethical techniques, and they run a high risk/high reward sort of thing.
Frequently, they will skyrocket a website to the top of google for a short period of time. Then the site either tanks because it’s been busted doing something unethical, or it drops because black hat techniques aren’t sustainable.
Then, they try another black hat technique that gets them boosted back up for another short period of time. This is a lot of work and too risky.
Many search engines will blacklist your website entirely if they catch you. This is called “sandboxing”.
There’s almost no recovery from that. You have to make an appeal directly to the search engine and hope that they take pity on you. Many websites and businesses have gone out of businesses because of this.
White hat takes a lot slower to get high rankings, but they’ll last a lot longer (theoretically forever). You also will run zero risk of getting black listed by search engines. In fact, most white hat techniques come straight from the search engines themselves. This is the way to go.
Grey hat is sort of in between, and hard to classify. We’ll leave it at that for now.
In search engine optimization (SEO), keywords are very important. You need them for your meta title, description, and in the content. That makes keyword research one of the most important things you can do.
Note that a keyword may actually be keyword_S_ or a keyphrase. It's easier to just call them all keywords, regardless of how many words are in it, so that's what we'll do for the rest of this guide.
So, how do you pick out what keywords are best for you?
Most of the time, you can get a lot of your keyword ideas just with common sense.
If you're a game designer, a good place to start is with the keyword "Game Designer." That keyphrase gets over 100,000 searches per month.
Of course, if you're doing work locally, you'll want to add in what's called a "location modifier", which is a part of your keyword that is a specific location.
For example, "game designer in Miami, Florida." It's unlikely you really need that, though. Most of what we do is online, right?
You'll need to know the right keywords for every page on your site. Once you're done with that, you can use your keyword research to figure out what your blog posts and other pages should be.
There are tons of keyword research tools out there, so I'm only going to show you the ones that I use.
First, let's talk about UberSuggest.
UberSuggest is just a basic keyword suggestion tool, but it's one of the better free ones I've found.
Basically, just type in your main keyword, and it will spit out a group of top suggestions, and then a bunch of other suggestions which will be organized alphabetically.
I typed in "game designer" and the top suggestions were:
- game designer salary - 9,900 searches /mo
- game designer - 135,000 searches /mo
- game designer jobs - 4,400 searches /mo
- game designer degree - 1,300 searches /mo
- game designer colleges - 2,400 searches /mo
- game designer education - 320 searches /mo
- game designer schools - 2,900 searches /mo
- game designer job outlook - 140 searches /mo
- game designer skills - 260 searches /mo
- game designer resume - 320 searches /mo
If you use their KeywordsEverywhere plugin (mentioned below), there is also monthly volume, cpc, and competition for each of the keywords.
- Monthly volume is approximately how many searches the keyword gets.
- CPC is cost per click, which is and estimated how much it costs per click on an ad, were you to purchase ads.
- And competition is a number scale from .01 to 1, where the closer to 1 it gets, the harder the competition.
We can see that a lot of the keywords here refer to game designer education. If you didn't go to school for game design, you'll probably not have anything to say about that, and thus a lot of these keywords aren't relevant to you and your website.
That's no problem. Don't worry about it.
You'll need to use your own best judgment when selecting keywords. You know what makes sense, so use those keywords.
But, you could also take those "useless" keywords and turn them into something useful.
To fit this example, you could write a blog post about why you didn't go to college for game design. Try to come up with ways you can use these keywords and still provide value to your readers.
Some of the other keywords here are useful, too.
"Game designer skills" has decent competition, but it wouldn't be hard to write up a blog post about your recommended skills a game designer should have, and why. Plus, it would provide value to those who are looking to become game designers.
Teaching what you know is a great way to build a following.
Another keyword there that can be turned into a blog post that would benefit those who are learning to become game designers is "game designer salary."
You might be thinking "I can't use that keyword because I don't have a salary. I work alone; my income fluctuates."
So what? That's your blog post right there. Keyword it "game designer salary" and then talk about how there may be no such thing. Or, if you've been a game designer for a big AAA company where you did collect a salary, talk about that.
The most important thing about keyword research isn't finding what keywords will work for you, but to find what keywords people are searching for and make them work for you.
While UberSuggest is great for looking up lots of keywords, if you just want to get some quick info on a keyword, I suggest a Chrome/Firefox plugin Keywords Everywhere.
With Keywords Everywhere, you just go to Google.com and type in your keyword. At the top, it'll show you quick info on search volume, cpc, and competition rating.
At the bottom, it'll show you Google's quick suggestions, and their search volume, cpc, and competition rating.
If I just need to look at something quick, this is what I use. It's a lot faster than trying to run a keyword through UberSuggest, which sometimes takes a few minutes.
Entire books have been written on this subject, but we’re going to take a look at two specific things: the meta data, and basic page SEO.
Meta data is what the search engines use to categorize and understand your web page. You need to do this with every single web page on your website. The good news is, once you set the meta data, it likely won’t need changed unless you’re tweaking it for better rankings.
There are three parts to the meta data that you need to know about today: title, description, and keywords.
If your webpage functions without using a content management system (CMS) like WordPress, it’s likely you’ll have to learn the HTML (or have your web designer add the meta data). If you use WordPress (recommended), you can use various plugins to handle it for you (I recommend the Yoast SEO plugin).
The meta title is the title of your webpage. It will appear in the respective tab of your browser, the title area of the search engine results, as well as in social shares such as Facebook.
Moz, a resource on learning SEO and digital marketing, recommends you use the following format:
Primary Keyword – Secondary Keyword | Brand
Our primary keyword will be the game type, and the secondary keyword will be the name of the game.
So, for example, you could have:
Mobile Roguelike RPG – Roguelikes Aren't Overdone by Cool Game Dev
This specific format isn’t necessarily the best nor the only format you should use, however, you should stick to the basic principles of the format.
The page its self would have content specifically about your mobile roguelike RPG.
It’s important that the primary keyword be unique to that page in that there is only one page dedicated to that primary keyword, and thus only one meta title with that primary keyword. The page content should reflect that and be exclusively about that particular subject.
The brand can be the name of an individual (the designer/developer) if that’s the name they do business as.
A common format for location based businesses is to have the keyword, then the location, then the brand:
Video Game Design in Miami, FL | Cool Game Dev
This isn't really necessary for most gamedev because we operate online, but it's good to know anyway. It’s useful if you’re trying to get a job in an office locally.
Whatever you decide to go with, make sure that your format is consistent through your entire website.
Some people prefer a format that only has the primary keyword. Some prefer not to have their brand in the title. These are okay; you have to figure out what work best for your site and adjust it in the future.
The length should be under 55 characters, but that is not a hard rule. Having a longer meta title isn’t going to hurt you unless it’s ridiculously long. The important part is that people, viewing in the search results or in social media, can see by the title what your page is about.
Keep the important information first. If your brand name at the end runs over the character limit, that’s okay.
For a blog post, your title will be the title of the blog post, rather than a main keyword, with the brand name at the end. If the title is too long to include the brand, that’s okay.
This is a Blog Post Title | Cool Game Dev
The description tag will contain a brief description of the content on the page, as well as a call to action. This will be seen in the search engines as well as in social shares such as Facebook.
The general format here is loose, but include a primary keyword, secondary keyword (game name), and brand/developer name (if it fits). You’ll also want to save room for a call to action.
Here’s an example of a good meta description:
Looking for a new mobile roguelike rpg? Cool Game Dev has just launched their latest game: Roguelikes Aren't Overdone. Click here for a free demo!
That one is fairly short at 152 characters, but it will work. It includes the main keyword, the brand/developer name, and a call to action to get them to click on the page. Notice the call to action offers a free incentive. Always try to offer something like that when you can. That's out of the scope of SEO; it's actually a part of marketing called "conversion optimization" which we will discuss more in future blog posts.
Your description needs to be under 155 characters. This is important because when we end with a call to action, we don’t want it to be cut out with an ellipsis (…) and be left unseen. That will hurt our conversion rate, and the conversions are what’s most important here after the page is ranking.
It’s weird how saying something like “Click here” helps with conversions. You would think it would be obvious but some people just don’t do it unless they’re told.
The meta keywords used to be important in SEO but were abused to the point that they are no longer relevant at all. In fact, the Yoast SEO plugin doesn’t even have the option to input them anymore.
You don’t need to worry about this at all. If someone tells you otherwise, they’re suggesting something that will waste your time.
Having meta keywords will not hurt you, but they will not help you, either. It’s really just a waste of time at this point. If that changes in the future, I will be sure to let you know.
That’s all that you need to know as far as optimizing your meta data.
The page content is anything that’s visible to the viewer. This will be your text, images, and even videos or audio if you have them.
Should you have more than just text on your pages? Absolutely.
People like pages with visual interest. They like pages broken up by images or videos or, at the least, just text formatted differently. We'll talk more about that later.
This is the on-page title that everyone sees when they visit your page. It needs to be placed at the top of the page in an H1 HTML tag.
If you’re using WordPress or any other major CMS, that will be the default in the standard “Title“ input box.
This will be similar, if not the same as, your meta title, but reversed order and without the brand name.
If your meta title was:
Mobile Roguelike RPG - Roguelikes Aren't Overdone | Cool Game Dev
Your page title should be:
Roguelikes Aren't Overdone - Mobile Roguleike RPG
There isn’t really a hard rule on how long your page title should be, but it shouldn’t be ridiculously long. You don’t want to stuff it with keywords or have it be any longer than absolutely necessary.
If the page is a blog post, you want it to be the title of the blog post. Writing a good blog post title is a whole skill in itself, so we’ll talk about that in a future blog post.
The page URL needs to be just your game name with hyphens (-) separating the words, no primary keyword, and no brand name.
If your meta title was:
Mobile Roguelike RPG - Roguelikes Aren't Overdone | Cool Game Dev
Your page URL should be:
For a blog post, you want it to be the same as your title (again with hyphens separating words), but without the articles (a, an, the), conjunctions (but, or, for), and prepositions (on, at, to).
For example, your blog post title is:
How to Make a PacMan Clone in Unity
Your URL would be:
This is usually the default if you set your CMS like WordPress to automatically make your URLs out of the site post title, but if you need to do it manually, that’s how it should be done.
If you keep in the articles, conjunctions, and prepositions, it’s okay. They won’t hurt you any, but it’s considered standard practice to leave them out, just as you leave them lowercase when writing a title.
As far las length goes, it’s not really important to keep it under a certain length, but generally you want something short and concise. No reason to get ridiculous with it and have it go on forever.
You also don’t want to have more than one keyword in it, so something like "yourwebsite.com/roguelikes-arent-overdone-mobile-roguelike-roguelite-rpg-role-playing-game-ios-android" would not help you any (and actually could hurt you).
There’s a lot to talk about regarding text content but in this guide we’re going to stick mostly to the SEO techniques you should be using on your text content.
For the most part, the longer a page is, the more page content there is for Google and the other search engines to read and index.
That said, you don’t want to fluff your page content either. Your page content needs to benefit the reader first and foremost. Always write for your reader first.
The Yoast SEO plugin suggests every page be at least 300 words long, but I’ve seen pages with less rank if they’re good pages that help the reader and deliver quality page content that matches the meta data.
But not too much. The primary keyword should be between 0.5% and 2.5% of your text. The Yoast SEO plugin will calculate this for you, as will many other free tools on the internet if you don’t use WordPress.
A good rule of thumb is that the sentences need to read well, so don’t have the primary keyword or game name stuffed in places where it doesn’t make sense.
Use bolding, italics, and bulleted or numbered lists, but don’t over-do it. People used to bold and italicize their keywords as a standard. Don’t do this. This is an outdated practice that doesn’t help any.
Instead, bold what’s most important for the reader. If someone skimmed your page and only read the bold, it should be enough for them to walk away with the main idea.
We talked about the title above, which is always placed in H1 HTML tags. The H2 HTML tag is important as well. There are also other H tags you can use, from 1 to 6.
Use them as subheaders to break up your page content and make it more readable.
You can also use them for SEO purposes. At least one H2 should have your primary keyword in it.
For readability, paragraphs should be broken up to never be more than a couple lines long on a standard browser. This doesn’t do anything for SEO really, but it’s good for the user.
If you currently have a lot of pages on your site, it may take you a while to go through and edit each one. Just take it one page at a time.
Images need to have relevant keywords in the file name, and the page should have at least one image with the page’s primary keyword in the file name.
Just like with the page URL, use hyphens to separate words.
If you’re showcasing your game, you could just use the primary keyword and a numbering system for the order you plan on displaying them:
This will also help you easily identify which images go on which pages if you bulk upload multiple pages’ worth of images at once.
You’ll also want to set the alt tags for your image. If you ‘re using a CMS like WordPress, this will be an option via an input boxes. If you’re using HTML to build the site by hand, you’ll need to code it in.
The alt tag is important for when the image fails to load or for screen readers, commonly used by people with vision disabilities such as blindness.
You want the alt tag to have an accurate description of the image and work in your primary keyword if you can. It’s important that the description be accurate more than have the keyword in it.
A good description for a picture of you on a page for previous example game would be:
Screenshot of mobile rogulike RPG, Roguelikes Aren't Overdone.
Screenshot of main menu of mobile roguelike RPG, Roguelikes Aren't Overdone.
Again, the primary reason for the alt tag is to describe the image to someone who cannot see it. That’s more important than including the primary keyword. However, if you can work it in and it makes sense, it will definitely help.
In WordPress you can easily edit all of this for each picture in the Media section. No need to go and edit each page.
Optimizing videos for sites like YouTube is a topic reserved for a future blog post, and it’s recommended that you upload to YouTube rather than self-hosting your videos, for various marketing reasons.
Again, we’ll talk more about that in the future, but let’s briefly touch on if you’re natively uploading a video to your website instead of YouTube or another site like Wistia.
The main thing you need to do is to make sure that the file name is titled like we talked about in the image optimization guide.
A good example if your video is a game trailer:
It’s also a good idea to have a transcript of the video available beneath the video, if there aren’t closed captioning options.
That’s it for optimizing the videos when self-hosting on your own website.
This is exactly the same as optimizing a video.
There are audio hosting sources you can go with that will need some level of optimization, but if you’re self-hosting the audio file on your website, then the only real optimization you’ll need is the filename of the audio file.
And just like with video content, having a transcript beneath the audio would be very helpful to those who cannot hear it.
If all this seems like a lot of work, it’s really not. You might have had to go through and edit all of the pages that are already existing. Luckily, once it’s done, it’s done.
You can always go through and rewrite the page content to be better, but for the most part your page content will be fine if you follow this guide.
The next step to automated, repeated success is to get a newsletter going: