Module 1: Technical Foundations for SEO
Welcome to the first module of Building Agentic SEO Consultants! In this module, you’ll build the essential technical foundations needed to work effectively with AI and automation tools.
Learning Objectives
By the end of this module, you will be able to:
- Navigate file systems using command line
- Use Git for version control and collaboration
- Set up a professional development environment
- Organise files and projects effectively
- Troubleshoot basic technical issues
Prerequisites
- Basic computer skills
- A curiosity to learn and expand your own capabilities.
Why it matters
You’re not becoming a developer - you’re learning to understand how technical systems work so you can architect solutions, communicate with technical teams, and troubleshoot issues when they arise.
These foundations help you speak the same language as developers, understand what’s happening when technical SEO tools break, and plan (and build) automation strategies that actually work.
Think of this as learning enough about cars to have a useful conversation with a mechanic and make informed decisions about repairs.
Example in action - GitHub & Version Control
Think version control, something that is the mainstay of most developers - something like GitHub. It can seem strange, or alien at first, but these are essential skills for interacting with developers, peers or even better ways of running your own projects.
It enables you to work better and more productively. Instead of manually copying files between folders when updating a website, you’ll use Git to track changes and deploy updates safely. Instead of clicking through endless folders, you’ll navigate directly to what you need with a few keystrokes.
With this conceptual understanding, you can:
- Plan out file organisation systems that scale across teams
- Troubleshoot version control issues when collaborating with developers
- Design backup and recovery strategies for critical code or even SEO data
- Communicate technical requirements clearly to development teams, seek feedback on your code, ask for more understanding and generally collaborate effectively
- Debug basic issues without waiting for technical support - feel empowered to start progressing more
Common mistakes when establishing a dev-like workflow
Some of the lessons are complex and take time to learn, others can be side-stepped completely:
- Skipping the setup because it feels boring (it’s not - it saves hours later).
- Using spaces in file names (use hyphens or underscores instead)
- Not backing up work before trying new commands
- Editing content in the GitHub Web UI (without then remembering to “pull” the changes to your local setup)
- Installing software without understanding what it does
- Mixing personal and work files in the same directories
Command Line Essentials (Don’t Panic!)
If you are looking to get started, one of the best places is the Command Line (you interact with this through Terminal on Mac or CMD on windows).
What is the command line? Instead of clicking buttons in a piece of software, in command line you type simple commands to tell your computer what to do. It sounds scary, but it’s actually faster and more reliable than clicking once you know the basics. You can run your entire computer through the command line, it is very powerful - but also potentially quite risky too.
Why learn this? Because all the cool automation stuff happens here. Plus, it feels pretty cool when you start getting the hang of it!
Here are the essential commands everyone should know:
Navigation Commands (getting around your files/folders)
Note, in the examples below, everything from the # onwards is a comment, just to help you understand it. When you start using the command line commands, leave these out! Comments in the wrong places or malformed might cause issues later.
pwd # "Where am I?" - Shows your current location
ls # "What's here?" - Lists files and folders
ls -la # "Show me everything" - Lists with details and hidden files
cd folder-name # "Go to this folder" - Changes to a specific folder
cd .. # "Go back up" - Goes up one level
cd ~ # "Take me home" - Goes to your home directory
File Operations
Once you can navigate your folders, here are some basic things you can do.
mkdir new-folder # Create a new folder called "new-folder"
touch filename.txt # Create a new file - this example creates a text file called "filename"
cp file.txt backup.txt # Copy a file - first file is the original name, second the copied file
mv old.txt new.txt # Move file to new path (renames if same folder, moves if different folder)
rm filename.txt # Delete a file (be careful!)
We don’t want anyone feeling afraid to experiment or progress, but “rm” can cause some damage. If you did
rm * # it'd delete all non-hidden files in the directory
rm -rf / # could delete your operating system or at least do a lot of damage!
But, think of this like Disallow: * in robots.txt - you can block an entire website with one character in the wrong place. It’s not something to stop you working, but it is something you should be mindful of!
Viewing and Editing
So you can just use Command Line to run scripts in, but you can also open and view files from there too.
cat filename.txt # Display file contents
head filename.txt # Show first 10 lines
head -n 50 file.txt # Show first 50 lines
tail filename.txt # Show last 10 lines
nano filename.txt # Edit file in terminal
head and tail are especially useful as they can let you preview large files (CSVs that are too big for excel) really quickly.
Here are some other quick hints for merging CSV exports, which’ll probably help with crawl data or logs!
cat file1.csv file2.csv > combined.csv # Concatenate files (e.g. merging exports). Ensure you have the same headers in each CSV
When in Nano (editing files), key shortcuts are
- Ctrl+O = save
- Ctrl+X = exit (prompts to save if needed).
- Ctrl+K = cut line
- Ctrl+U = paste.
There are many many more commands for you to master, but those ones above will more than be enough to get you started.
GitHub Version Control (Your Safety Net)
What is Git? Imagine if every time you made changes to a document, you could save a snapshot and add a note about what you changed. Git does this for all your files automatically.
Why you need this: Ever accidentally deleted something important? Or wanted to go back to an earlier version? Git is like having unlimited “undo” for your entire project, plus it keeps detailed notes about what changed when. This is even more essential when you are working with other people on the same project.
Essential Git Commands
git init # Start tracking a folder
git status # See what's changed
git add filename.txt # Stage a file for commit
git add . # Stage all changes
git commit -m "message" # Save changes with a description
git log # See history of changes
Setting Up Git
# Installing Git
brew install git # Use on Mac (install brew first - see below)
winget install Git.Git. # Use this on windows
sudo apt install git. # Linux - Debian/Ubuntu
# install brew (mac)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Configure Git with your details (do this once)
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
# Create your first repository, create a directory, readme.md file and commit (upload) to Git
mkdir seo-projects
cd seo-projects
git init
echo "# My SEO Projects" > README.md
git add README.md
git commit -m "Initial commit"
Development Environment Setup
A good development environment makes everything easier. Here’s what you need:
Text Editor
Choose one that suits your style:
- Cursor - Like Visual Studio, but with an AI agent built in Recommended!
- Visual Studio Code - Free, powerful, great for beginners. You can add Claude Code to integrate an AI coding assistant. Also Recommended
- Sublime Text - Fast and lightweight
- Atom - Customisable and user-friendly
If you are new to this, choosing an editor that has a built-in AI assistant will be beneficial. However, it is possible to work without these if you have ChatGPT/Gemini and you are willing to copy+paste across - at least in the beginning this is workable.
There are many different Code-editor-plus-AI combos to select and the list changes rapidly. How much you rely on these is a trade off between your own learning and wanting to get things working. I would strongly recommend you understand the fundamentals and even ask your AI agent to explain everything, especially concepts you are not aware of.
Terminal/Command Prompt
- macOS: Use the built-in Terminal app
- Windows: Install Git Bash or Windows Subsystem for Linux (WSL)
- Linux: Your built-in terminal is perfect
Essential Software
# Check if you have these installed
python3 --version # Python for data analysis, automations and tasks
git --version # Version control
node --version # For some SEO tools (optional)
Naming Conventions
None of these are essential but these all will stop you hating your future self
- Use hyphens instead of spaces:
keyword-research.csv - Be descriptive:
gsc-data-january-2024.csv - Use consistent date formats:
YYYY-MM-DD - Version your files:
report-v1.2.xlsx
Resources
- Terminal For Beginners - More detail on using Terminal
- Python Quick Reference Guide - Essential Python commands and patterns for SEO automation
- https://www.geeksforgeeks.org/operating-systems/difference-between-terminal-console-shell-and-command-line/ - If you want more detail on Terminal, Commandline and other things!
- GIT command line cheat sheet - Handy cheat sheet for GitHub
| Next: Module 2: Python for SEO Automation | Supporting materials |
Ready to build your technical foundation? This module provides the essential skills for everything that follows.