Let’s face it: SEO isn’t as black & white as most marketing channels. In my opinion, to become a true professional requires a broad skill set. It’s not that a professional SEO needs to know the answer for everything; rather, it’s more important to have the skills to be able to find the answer.
I’m really pleased with the results of various bits of training I’ve put together for successful juniors over the years, so I think it’s time to share.
This is a Junior SEO task list designed to help new starters in the field get the right skills by doing hands-on jobs, and possibly to help find a specialism in SEO or digital marketing.
How long should this take? Let’s ballpark at 60–90 days.
Before anything, here’s some prerequisite reading:
Project 1 – Technical Fundamentals:
Master the lingo and have a decent idea of how the Internet works before they start having conversations with developers or contributing online. Have the trainee answer the following questions. To demonstrate that they understand, have them answer the questions using analogies. Take inspiration from this post.
Must be able to answer the following in detail:
- What is HTTP / HTTPS / HTTP2? Explain connections and how they flow.
- Do root domains have trailing slashes?
- What are the fundamental parts of a URL?
- What is “www,” anyway?
- What are generic ccTLDs?
- Describe the transaction between client and server?
- What do we mean when we say “client side” and “server side?”
- Name 3 common servers. Explain each one.
- How does DNS work?
- What are ports?
- How do I see/find my public IP address?
- What is a proxy server?
- What is a reverse proxy server?
- How do CDNs work?
- What is a VPN?
- What are server response codes and how do they relate to SEO?
- What is the difference between URL rewriting and redirecting?
- What is MVC?
- What is a development sprint / scrum?
- Describe a development deployment workflow.
- What are the core functions that power Google search?
- What is PageRank?
- What is toolbar PageRank?
- What is the reasonable surfer model?
- What is the random surfer model?
- What is Mozrank, Domain Authority, and Page Authority — and how are they calculated?
- Name 3 Google search parameters and explain what they do (hint: gl= country).
- What advanced operator search query will return: all URLs with https, with “cat” in the title, not including www subdomains, and only PDFs?
- Describe filtering in search results, and which parameter can be appended to the search URL to omit filtering.
- How can I Google search by a specific date?
- If we say something is “indexed,” what does that mean?
- If we say something is “canonicalized,” what does that mean?
- If we say something is “indexable,” what does that mean?
- If we say something is “non indexable,” what does that mean?
- If we say something is “crawlable,” what does that mean?
- If we say something is “not crawlable,” what does that mean?
- If we say something is “blocked,” what does that mean?
- Give examples of “parameters” in the wild, and manipulate any parameter on any website to show different content.
- How should you check rankings for a particular keyword in a particular country?
- Where are some places online you can speak to Googlers for advice?
- What are the following: rel canonical, noindex, nofollow, hreflang, mobile alternate?(Explain each directive and its behavior in detail and state any variations in implementation)
Explaining metrics from popular search tools
- Explain SearchMetrics search visibility — how is this calculated? Why would you see declines in SM graphs but not in actual organic traffic?
- Explain Google Trends Index — how is this calculated?
- Explain Google Keyword Planner search volume estimates & competition metric — is search volume accurate? Is the competition metric useful for organic?
- Explain SEMrush.com’s organic traffic graphs — Why might you see declines in SEMrush graphs, but not in actual organic traffic?
- By hand, map out the world’s first website — http://info.cern.ch/hypertext/WWW/TheProject.html (we want to see the full link architecture here in a way that’s digestable)
- Explain its efficiency from an SEO perspective — are this website’s pages linked efficiently? Why or why not?
Project 2 – Creating a (minimum) 10-page website
If the trainee doesn’t understand what something is, make sure that they try and figure it out themselves before coming for help. Building a website by hand is absolutely painful, and they might want to throw their computer out the window or just install WordPress — no, no, no. There are so many things to learn by doing it the hard way, which is the only way.
- Grab a domain name and go setup shared hosting. A LAMP stack with Cpanel and log file access (example: hostgator) is probably the easiest.
- Set up Filezilla with your host’s FTP details
- Set up a text editor (example: Notepad++, Sublime) and connect via FTP for quick deploy
- Create a 10-page flat site (NO CMS. That means no WordPress!)
- Within the site, it must contain at least one instance of each the following:
- <div>,<table>,<a>,<strong>, <em>, <iframe>, <button>, <noscript>, <form>, <option>, <button>, <img>, <h1>, <h2>, <h3>, <p>, <span>
- Inline CSS that shows/hides a div on hover
- Unique titles, meta descriptions, and H1s on every page
- Must contain at least 3 folders
- Must have at least 5 pages that are targeted to a different country
- Recreate the navigation menu from the bbc.co.uk homepage (or your choice) using an external CSS stylesheet
- Must receive 1,000 organic sessions in one month
- Must contain Google Analytics tracking, Google search console setup, Bing webmaster tools, and Yandex webmaster tools setup
- Create a custom 404 page
- Create a 301, 302, and 307 redirect
- Create a canonical to an exact duplicate, and another to a unique page — watch behavior
- Within the site, it must contain at least one instance of each the following:
The site must contain at least one instance of each of the following, and every page which contains a directive (accompanying pages affected by directives as well) must be tracked through a rank tracker:
- Rel canonical
- Noindex, follow
- Mobile alternate (one page must be mobile-friendly)
- Meta refresh
Set up rank tracking
The trainee can use whatever tracking tool they like; https://www.wincher.com/ is $6/month for 100 keywords. The purpose of the rank tracking is to measure the effects of directives implemented, redirects, and general fluctuation.
Create the following XML sitemaps:
- Write the following XML sitemaps by hand for at least 5 URLs: mobile, desktop, Android App, and create one desktop XML sitemap with hreflang annotations
- Figure out how to ping Google & Bing with your sitemap URL
- Design a robots.txt that has specific blocking conditions for regular Googlebot, Bingbot, all user agents. They must be independent and not interfere with each other.
- Write a rule that disallows everything, but allows at least 1 folder.
- Test the robots.txt file through the Search Console robots.txt tester.
Crawl the site and fix errors (Use Screaming Frog)
Project 3 – PR, Sales, Promotion and Community Involvement
These tasks can be done on an independent website or directly for a client; it depends on your organizational requirements. This is the part of the training where the trainee learns how to negotiate, sell, listen, promote, and create exposure for themselves.
Sales & negotiation
- Close one guest post deal (i.e. have your content placed on an external website). Bonus if this is done via a phone call.
- Create & close one syndication deal (i.e. have your content placed and rel canonical’d back to your content). Bonus if this is done via a phone call.
- Close one advertising deal (this could be as simple as negotiating a banner placement, and as hard as completely managing the development of the ad plus tracking)
- Sit in on 5 sales calls (depending on your business, this may need to be adjusted — it could be customer service calls)
- Sit in on 5 sales meetings (again, adjust this for your business)
- Create a story, write a press release, get the story covered by any publication (bonus if there’s a link back to your original release, or a rel canonical)
- Use a PR wire to syndicate, or find your own syndication partner
- Sign up for a Moz account and answer at least 15 questions in the forum
- Sign up for a Quora account and answer at least 5 questions
- Write 3 blog posts and get them featured on an industry website
- Speak at an event, no matter how small; must be at least 10 minutes long
- Create a screencast tutorial, upload it to YouTube, get 1,000 views (they will also need to optimize description, tags, etc.)
- Here’s an example: https://www.youtube.com/watch?v=EXhmF9rjqP4 (that was my first try at this, years ago which you can use as inspiration)
Facebook & Twitter Paid Ads
- On both networks, pay to get 100 visits from an ad. These campaigns must be tracked properly in an analytics platform, not only in FB and Twitter analytics!
- Create 1 campaign (custom ad) with the goal of finding real number of impressions versus estimated search volume from Keyword Planner.
- Bonus: Drive 100 visits with an ad. Remember to keep the costs low — this is just training!
Project 4 – Data Manipulation & Analytics
Spreadsheets are to SEOs as fire trucks are to firefighters. Trainees need to be proficient in Excel or Google Docs right from the start. These tasks are useful for grasping data manipulation techniques in spreadsheets, Google Analytics, and some more advanced subjects, like scraping and machine learning classification.
Must be able to fill in required arguments for the following formulas in under 6 seconds:
- Index + match
- VLOOKUP (we should really be teaching people to index-match, because it’s more versatile and is quicker when dealing with larger datasets)
- COUNTIF, COUNTIFS (2 conditions)
- SUMIF, SUMIFS (2 conditions)
- IF & AND statement in the same formula
- Max, Min, Sum, Avg, Correl, Percentile, Len, Mid, Left, Right, Search, & Offset are also required formulas.
- Conditional formatting based on a formula
- Create a meaningful pivot table + chart
- Record a macro that will actually be used
- Ability to copy, paste, move, transpose, and copy an entire row and paste in new sheet — all while never touching the mouse.
- Install Google Analytics (Universal Analytics), and Google Tag Manager at least once — ensure that the bare minimum tracking works properly.
- Pass the GAIQ Exam with at least 90%
- Create a non-interaction event
- Create a destination goal
- Create a macro that finds a value in the DOM and only fires on a specific page
- Create a custom segment, segmenting session by Google organic, mobile device only, Android operating system, US traffic only — then share the segment with another account.
- Create an alert for increasing 404 page errors (comparison by day, threshold is 10% change)
- Install the Google Tag Assistant for Chrome and learn to record and decipher requests for debugging
- Use the Google Analytics Query explorer to pull from any profile — you must pull at least 3 metrics, 1 dimension, sort by 1 metric, and have 1 filter.
- Create one Google Content Experiment — this involves creating two pages and A/B testing to find the winner. They’ll need to have some sort of call to action; it could be as simple as a form or a targeted click. Either way, traffic doesn’t determine the winner here; it’s conversion rate.
Google Search Console
- Trainee must go through every report (I really mean every report), and double-check the accuracy of each using external SEO tools (except crawl activity reports). The point here is to find out why there are discrepancies between what SEO tools find and what Google Search Console reports.
- Fetch and render 5 different pages from 5 domains, include at least 2 mobile pages
- Fetch (only fetch) 3 more pages; 1 must be mobile
- Submit an XML sitemap
- Create https, http, www, and non-www versions of their site they built in the previous project and identify discrepancies.
- Answer: Why don’t clicks from search analytics add up compared to Google Analytics?
- Answer: How are impressions from search analytics measured?
- Download link reports for 1 website. Use Google Search Console, Majestic, Ahrefs, and Moz, and combine them all in one Excel file (or Google Doc sheet). If the total number of rows between all 4 exports are over Excel’s limit, the trainee will need to figure out how to handle large files on their own (hint: SQL or other database).
- Must combine all links, de-duplicate, have columns for all anchor texts, and check if links are still alive (hint: the trainee can use Screaming Frog to check live links, or URL Profiler)
Explore machine learning
- Use at least 3 different methods to extract information from any webpage (hint: import.io, importxml)
Log file analysis
- Let the trainee use whatever software they want to parse the log files; just remember to explain how different servers will have different fields.
- Grab a copy of any web server access log files that contain at least the following fields: user-agent, timestamp, URI, IP, Method, Referrer (ensure that CDNs or other intermediary transactions are not rewriting the IP addresses).
- Trainee must be able to do the following:
- Find Googlebot requests; double-check by reverse DNS that it’s actually Googlebot
- Find a 4xx error encountered by Googlebot, then find the referrer for that 4xx error by looking at other user agent requests to the same 4xx error
- Create a pivot table with all the URLs requested and the amount of times they were requested by Googlebot
The candidate must be able to do the following:
- Find YoY search volume for any given term
- Find keyword limits, both in the interface and by uploading a CSV
- Find the mobile trends graph for a set of keywords
- Use negative keywords
- Find breakdown by device
Google Chrome Development tools
The candidate must be able to do the following:
- Manipulate elements of the page (As a fun exercise, get them to change a news article to a completely new story)
- Find every request Chrome makes when visiting a webpage
- Download the HAR file
- Run a speed audit & security audit directly from the development tool interface
- Change their user agent to Googlebot
- Emulate an Apple iPhone 5
- Add a CSS attribute (or change one)
- Add a breakpoint
- Use the shortcut key to bring up development tools
Project 5 – Miscellaneous / Fun Stuff
These projects are designed to broaden their skills, as well as as prepare the trainee for the future and introduce them to important concepts.
Use a proxy and a VPN
- As long as they are able to connect to a proxy and a VPN in any application, this is fine — ensure that they understand how to verify their new IP.
Find a development team, and observe the development cycle
- Have the trainees be present during a scrum/sprint kickoff, and a release.
- Have the trainees help write development tickets and prioritize accordingly.
Have them spend a day helping other employees with different jobs
- Have them spend a day with the PR, analytics folks, devs… everyone. The goal should be to understand what it’s like to live a day in their shoes, and assist them throughout the entire day.
Get a website THEY OWN penalized. Heck, make it two!
- Now that the trainee has built a website by hand, feel free to get them to put up another couple of websites and get some traffic pouring in.
- Then, start searching for nasty links and other deceptive SEO tactics that are against the Webmaster Guidelines and get that website penalized. Hint: Head to fiverr.com for some services.
- Bonus: Try to get the penalty reversed. Heh, good luck 🙂
- Request data from 2 different APIs using at least 2 different technologies (either a programming language or software — I would suggest the SEMrush APIand Alchemy Language API). Hints: They can use Postman, Google Docs, Excel, command line, or any programming language.
- Google APIs are also fantastic, and there are lots of free services in the Google Cloud Console.
Learn concepts of programming
Write 2 functions in 2 different programming languages — these need to be functions that do something useful (i.e. “hello world” is not useful).
- A simple application that extracts title, H1, and all links from a given URL
- A simple application that emails you if a change has been detected on a webpage
- Pull word count from 100 pages in less than 10 seconds
Do an introductory course on computer science / build a search engine
I strongly recommend anyone in SEO to build their own search engine — and no, I’m not crazy, this isn’t crazy, it’s just hard. There are two ways to do this, but I’d recommend both.
- Complete intro to Computer Science (you build a search engine in Python). This is a fantastic course; I strongly recommend it even if the junior already has a CS degree.
- Sign up to https://opensolr.com/, crawl a small website, and build your own search engine. You’ll go through a lot of pain to configure what you want, but you’ll learn all about Apache Solr and how a popular search technology works.
Super Evil Genius Bonus Training
Get them to pass http://oap.ninja/, built by the infamous Dean Cruddace. Warning, this is evil — I’ve seen seasoned SEOs give up after just hours into it.
These days, SEO job requirements demand a lot from candidates.
Employers are asking for a wider array of skills that range from development to design as standard, not “preferred.”
Have a look around at current SEO job listings. You might be surprised just how much we’re expected to know these days:
- Strong in Google Analytics/Omniture
- Assist in the development of presentations to clients
- Advanced proficiency with MS Excel, SQL
- Advanced writing, grammar, spelling, editing, and English skills with a creative flair
- Creating press releases and distribution
- Proficiency in design software, Photoshop and Illustrator preferred
- Develop and implement architectural, technical, and content recommendations
- Conduct keyword research including industry trends and competitive analysis
- Experience with WordPress and/or Magento (preferred)
- Experience creating content for links and outreach
- Experience in building up social media profiles and executing a social media strategy
- Ability to program in HTML/CSS, VB/VBA, C++, PHP, and/or Python are a plus
- A/B and Multivariate testing
- Knowledge of project management software such as Basecamp, MS Project, Visio, Salesforce, etc
- Develop + analyze weekly and monthly reports across multiple clients
The list goes on and on, but you get the point. We’re expected to be developers, designers, PR specialists, salespeople, CRO, and social managers. This is why I believe we need to expose juniors to a wide set of tasks and help them develop a broad skill set.
“I’m a Junior SEO and my boss is making me do this training now, I hate you Dave!”
You might hate me now, but when you’re making a lot more money you might change your mind (you might even want to cuddle).
Plus, I’m putting you through hell so that….
- You don’t lose credibility in front of developers (hint: these are the people who will have to implement your consulting). By using the correct terminology, and by doing parts of the work, you’ll be able to empathize and give better advice.
- You don’t limit yourself to specific projects/tasks because of lack of knowledge/experience in other specialisms within SEO.
- You will become a well-rounded marketer, able to take on whatever Google’s Algorithm of Wonder throws at you or jump into other disciplines within digital marketing with a solid foundation.
Feel free to ping me on Twitter (@dsottimano) or you can catch me hanging out with the DMG crew.