How to optimize your website for search engines

Connor Leech
Aug 4, 2018 · 7 min read

On a flight home I recently read through a great article about optimizing SEO and how it’s not that hard. I took the advice to heart and figured out an SEO plan for Employbl.com. Employbl is a job board site that features a map of tech companies in San Francisco. Longer term I’d like to build it into a job matching platform where candidates can find awesome companies and companies can find awesome candidates!

A map of MOST of the coding bootcamps in San Francisco at employbl.com. For candidates, free forever!

Pick keywords using ubersuggest. Keyword Shitter (you read that right) is a service that can help you generate more ideas related to keywords you want.

After searching through some terms related to jobs, startups and hiring in San Francisco I settled on two key phrases to focus on:

1. tech companies in San Francisco
2. companies in San Francisco

These appeared close together in ubersuggest:

Ubersuggest results when googling for companies in San Francisco

As you search through the ubersuggest results think about what your product or service does and what terms you can build your business around. In my case one of the first things I’ve built with Employbl is a map where candidates can search and browse through companies in San Francisco. These terms around finding companies in San Francisco were clear pain points for me as a candidate looking for jobs and companies I wanted to work at. I felt the pain of incomplete information while I worked at a recruiting agency.

Google Trends on the topics of interest.

From Google Trends analysis it’s clear that “companies in San Francisco” has higher search volume than tech companies in San Francisco. Ironically, “tech companies in San Francisco” has more competition (.15 vs .04) according to ubersuggest. It’s not worth dwelling on though, because through a quick google search I found that an open source repo I maintain called sf-companies is already the fifth result!

Github repository of open source tech companies was already on the first Google results page!

Given that my github repo is already on this results page, the competition doesn’t look too intense and there is decent search term volume I’m doubling down on “tech companies in san francisco”. People seem to search through this and it’s exactly what Employbl can do: it’s a map of tech companies in San Francisco.

The map of tech companies in San Francisco on employbl.com

I’m doubling down on SEO optimization for “tech companies in san francisco”

  • 🍊 Export picks to Google Keyword Planner to estimate traffic: Get search volume data and trends. Download to google sheets. This is especially helpful if you plan on running paid search campaigns. It will also tell you what terms Google associates your site with so we’ll come back to this later.
  • Seoquake chrome extension to estimate keyword difficulty and see SEO insights like the google index, page links, url links, index age and traffic levels. 🔄 This does require you to install a chrome extension
  • Semrush is a 💸 paid service to estimate the domain authority your site has. You can sort data by difficulty and eliminate any terms that are too high for your site. Ten requests are free so you can periodically check your website.

Make optimizations to the website to reflect your keywords

SEO optimizations on your page can be accomplished with HTML changes.

Now that we’ve picked our term, we need to change the HTML of the site to reflect that keyword. We’ll go through This full list can be viewed in Austen Allred’s excellent article on SEO.

Make these HTML changes to reflect the keyword you chose using the tools above:

  • Your chosen keyword is the first word of the <title> tag in the head of your index.html document.

Example:

<head>
<title>{{ your_keyword_here }}</title>
</head>
  • The Title is less than 65 characters
  • Your keyword is in the first <h1> tag that appears on your homepage
  • Your keyword, synonyms or related keywords are in the h2 and h3 tags of your website. Oftentimes I used h2 and h3 indiscriminately for sizing. These tags have important meaning for google’s search algorithm. Pay attention to the text you include within them.
  • The alt attribute for image tags contains your keywords

Example:

<img src="your_image_url.jpg" alt="Your keywords">
  • Within the head of your html document, make sure the keyword is in the meta description
<meta name="description" content="Tech Companies in San Francisco">
  • There needs to be more than 300 words on the page
  • Your keyword appears in the first paragraph of copy on the website
  • Keyword and synonyms are used throughput the page
  • Keyword density is .5% and 2.5%
  • Your content is original and not copied from somewhere else
  • Keyword as the anchor text for internal linking whenever possible
  • Links as site map in footer

These are all HTML changes you can make to make sure your site matches your keywords. None of this is rocket science but it requires thought about exactly what your product offering is, what keywords to match and

Google Search Console

The Google Search Console shows you what to do to crawl up the rankings.

Now that you’ve picked your keywords and updated the HTML to reflect those keywords you want to explicitly tell google about your website. Head to the Google Search Console and verify your domain. This requires adding your website as a “property” and then uploading an html file to your website. If you are running Laravel commit the file into the “public” directory. For other web servers it’ll be in your website root location. Make sure that www.yourwebsite.com/googleXXXXXXXXXX.html returns the file google told you to download. After you do this your site will be officially verified and indexed by google!

Google Search Console information once your URL is verified.

Once your site is indexed google provides information about how they are indexing your site. You can find what websites link to your site and how many times. Go through these tabs and figure out what is missing and what more information you can provide about your site to google. If there are missing tabs google will provide helpful information and videos about what to do and why it is important.

  • Structured data: You’ll find this under Search Appearance. If you are using Laravel I recommend using the spatie/schema-org package. Rick snippets and better structured data can feature your results more prominently in search results. Read more at Intro to Structured Data or view all of the Schema.org contact types. Structured data for your web page is passed to google as a script snippet, most likely in the header, with a type specified as application/ld+json. For a full Rich snippet of structured data view below the video and code sample below.
Introduction to rich snippets and structured data with google.
<!-- Structured data for an Organization web page -->
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Organization",
"url": "http://www.example.com",
"name": "Unlimited Ball Bearings Corp.",
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-401-555-1212",
"contactType": "Customer service"
}
}
</script>
  • Generate a sitemap: In the new Google Search Console, there is a prominent view for adding a new sitemap. I built my website with Laravel so was able to generate one using the spatie/laravel-sitemap package. The package built an XML file for me programmatically, but you could type one out too. Mine looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://employbl.com/</loc>


<lastmod>2018-08-07T04:49:38+00:00</lastmod>

<changefreq>daily</changefreq>

<priority>0.8</priority>
</url>
<url>
<loc>https://employbl.com/employers</loc>


<lastmod>2018-08-07T04:49:38+00:00</lastmod>

<changefreq>daily</changefreq>

<priority>0.8</priority>
</url>
<url>
<loc>https://employbl.com/job-listings</loc>


<lastmod>2018-08-07T04:49:38+00:00</lastmod>

<changefreq>daily</changefreq>

<priority>0.8</priority>
</url>
<url>
<loc>https://employbl.com/redirect</loc>


<lastmod>2018-08-07T04:49:38+00:00</lastmod>

<changefreq>daily</changefreq>

<priority>0.8</priority>
</url>
</urlset>

Once you have a sitemap and access to the Google Search Console, go out and grow your traffic! The internet is a vast network of links and pages growing every day. You need other sites in the vast network to link to yours if your site is going to be found or move up the search results ladder. Write content, post videos, build a forum. Do something to get people interested!

Below are some places where you could include links to your website, blog posts you write, whatever it may be:

  • Twitter
  • Reddit
  • LinkedIn
  • GitHub readmes
  • YouTube video descriptions
  • Hackernews
  • inbound.org
  • growth hackers
  • IndieHackers.com
  • A public list of Web 2.0 properties
  • View your competitors with tools like Moz, Ahrefs or LunaMetrics.

This is not an exhaustive list but it’s meant to get your mind jogging. Know where your customers hang out online and get in front of them. There are many ways to optimize your site for SEO but not many ways to cheat it. Make something valuable and worth sharing. The traffic starts as a trickle before it becomes a flood.

Think, what could you do with an extra 500,000 visits per day? What about 1 million?


🚀 If you’re a candidate on the job market or startup looking to hire in the Bay Area, feel free to create a profile on Employbl 🤝

Employbl

Find a tech or startup job in the Bay Area.

Connor Leech

Written by

Engineer, writer and community organizer. I built Employbl to help candidates get jobs in the Bay Area: https://employbl.com/

Employbl

Employbl

Find a tech or startup job in the Bay Area.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade