The guide
DIY SEO: a step-by-step guide to doing your own SEO
DIY SEO is doing the work yourself instead of buying it: finding what is wrong with your site, fixing it, and checking whether the fix held. None of it is secret, and for a site of a few hundred pages none of it needs a subscription.
This guide runs in the order the work actually pays off. Take a baseline, decide what you are competing for, fix the on-page basics, clear the technical faults, then earn links. Each step names the tool here that does the finding.
Before you start
Two things make the rest of this possible. The first is a crawl of your own site, so you are working from what is published rather than what you remember publishing. The second is Google Search Console, which is free and is the only place you see the queries people actually used to find you.
Set aside an afternoon for the first pass. After that the work is an hour here and there, plus a re-scan whenever you have changed something that matters.
Step 1
Take a baseline
You cannot tell whether SEO work is doing anything unless you know what the site looked like before. A baseline is a crawl of every page a search engine can reach, kept somewhere you can go back to.
The Site Spider here follows internal links, reads your sitemap and obeys robots.txt, storing every page and asset it fetches, up to 5,000 pages per scan. What comes out is a score, a list of faults per check, and a database of the whole crawl. Keep that first scan: every later scan is compared against the one before it, so the first one is the ruler.
Two numbers are worth writing down today: how many pages were fetched, and how many of them returned something other than a 200. If those disagree with what you believe is on the site, that gap is your first job.
Do it on this site
Run a scan of your site. No account is needed; you get a private link to the results while it crawls.
Open the Overview check for crawl totals and response codes, and note the health score out of 100.
See where that score sits against every other scanned site on the SEO rank table.
Step 2
Decide which queries you are competing for
Keyword research for a small site is less about volume than about honesty. For each page, ask what someone would type if they wanted exactly this page, and whether that is the same thing the page currently says in its title and first heading. Where those two answers differ, you have found work.
Pull your top queries out of Search Console and sort by impressions. Anything with impressions and a poor position is a page that is nearly good enough and often needs only a better title, a clearer opening paragraph, or the answer moved higher up the page. Those are the cheapest wins on the whole list.
Be realistic about head terms. A two-word term with national competition is a multi-year project for a new site. The long, specific queries, where your page is genuinely the best answer, are winnable now and they convert better, because the person searching has already decided what they want.
One page per intent. Two pages aiming at the same query compete with each other and split whatever authority they have, which is exactly what the duplicate content check is for.
Do it on this site
Search Console shows the queries you already get impressions for. Start there, not with a keyword tool.
On your scan page, open Title tags and Headings to see what your pages currently claim to be about.
Step 3
Fix the on-page basics
On-page work is the part with the best ratio of effort to result, because it is entirely yours to change and needs nobody's permission.
Titles. One per page, unique, with the thing the page is about near the front. Roughly 50 to 60 characters survives in a result. The checks flag missing, duplicate, too short and too long titles, and duplicates are usually the real problem: they mean several pages are claiming to be the same thing.
Meta descriptions. They are not a ranking factor and they do decide whether anybody clicks. Around 150 to 160 characters, written as a promise about what is on the page. Missing ones let the engine pick a sentence for you, which it often does badly.
Headings. Exactly one H1, saying the same thing as the title in more natural words. Sub-headings should let someone skim the page and still understand its shape. Pages with no H1, or with several, are both flagged.
Thin and duplicate pages. The thin content check lists pages under 200 words; the duplicate check finds pages whose HTML is byte-for-byte identical. Both usually point at something structural, such as a template that generated more pages than anybody wanted. Merge them, expand them, or take them out of the index.
Alt text. Describe what the image shows, for the person using a screen reader first and the search engine second. Decorative images should have an empty alt rather than a filename.
Do it on this site
On your scan page: Title tags, Meta descriptions, Headings, Thin content, Duplicate content, Image alt text.
Each check lists the URLs at fault, so the output is a work queue rather than a lecture.
Step 4
Clear the technical faults
Technical SEO is mostly about removing obstacles. Nothing here will make a mediocre page rank, but any one of these faults can stop a good page from ranking at all.
Indexability. The expensive mistakes live here: a noindex left behind after a redesign, a canonical pointing at the wrong URL, a page blocked in robots.txt that you meant people to find. Check these first, because they silently cancel everything else.
Sitemap coverage. Two lists that should match: what the crawl found and what your sitemap claims. Crawled pages missing from the sitemap, and sitemap URLs that are broken, redirect or are noindex, both get flagged.
Redirects and broken links. One redirect is fine. Chains waste crawl budget and lose a little on every hop. Broken internal links are worse, because they are a promise your own site made and failed to keep. Both come out as a list of the linking page, the target, and what the target actually returned.
Weight. The heavy assets check lists your largest files and how many pages use each one. One uncompressed hero image used site-wide is a common and easily fixed cause of a slow site.
Do it on this site
On your scan page: Indexability, Sitemap coverage, Redirects, Non-200 responses, Broken links, Heavy assets.
Every finished scan also gets a passive security review of the headers, cookies and libraries the crawl saw.
Step 5
Earn links, starting inside your own site
Internal links are the half of link building nobody needs permission for. The orphan pages check finds pages with no internal links pointing at them at all: they are invisible to a crawler following links, however good they are. The internal link counts check shows which pages are hoarding links and which are starved. Move a few links from your busiest pages to the ones you actually want to rank, and the effect is often visible within a couple of crawls.
The link map on every public report draws this as a graph, which makes clusters and stranded pages obvious in a way a table does not.
External links are slower and cannot be bought honestly. What works is having something worth citing: original data, a tool that does a job, a write-up of something you learned the hard way. Then tell the specific communities who care. Directories and round-ups in your niche are the pedestrian version and still worth an afternoon.
Ignore anybody selling packages of links. Recovering from a bad link profile costs far more than the links ever cost.
Do it on this site
On your scan page: Internal link counts and Orphan pages, plus the internal link map on your public report.
Worth reading for the external half: how this site's downloadable crawl database works.
Then keep it honest: re-scan and compare
SEO work rots. A redesign reintroduces a noindex, a plugin update breaks a sitemap, somebody deletes a page that fifteen others link to. The fix is to re-crawl on a schedule rather than when you happen to remember.
A free account here lets you keep scans together and put a domain on a schedule; when a scheduled scan finishes, its report is compared against the previous one and you are only e-mailed when something actually changed. Set a monthly scan and read the diff.
Pair that with Search Console: impressions and average position per query tell you whether the work reached anybody, which no crawler can tell you. A crawl says what your site is; Search Console says what the world made of it.
Questions people ask
- Can I really do SEO myself?
- Most of what moves a small or medium site is work you can do yourself: titles that say what the page is, pages that answer the question, a site a crawler can get around, and pages worth linking to. Agencies are worth it when you need volume or a specialist. The judgement here is not hard; it is the finding that takes time, and a crawler does the finding for you.
- How long does DIY SEO take to work?
- Technical fixes such as a page that was accidentally noindexed can show up within days of the next crawl. Title and content changes usually take two to six weeks to settle. Anything that depends on other sites linking to you takes months. Set the expectation at a quarter, not a fortnight.
- What does it cost?
- Your time. The crawler and the fifteen checks on this site are free, with no account and no paid tier that raises the limits. Search Console is free. The only paid product here is the website plan, which rebuilds a site and applies the fixes for you.
- In what order should I do the work?
- Baseline first, so you can tell later whether anything changed. Then the on-page and technical faults, because they are cheap and entirely under your control. Links last: they are the slowest and the only part that depends on other people.
- Do I need to know how to code?
- No. Every check produces a list of URLs and what is wrong with each one. Fixing them is editing pages in whatever you already use. If you do write code, the whole crawl is a SQLite database you can download and query.
Start with the baseline
Read next
- Free site crawler, no signup — what the crawler does, what it stores, and how to run one now.
- Free broken link checker — find every internal link that leads to an error, across thousands of pages.
- Download your crawl as SQLite — the schema, and the queries worth running against it.
- Recently scanned sites — public reports for sites people have already crawled.