How to do an on-page SEO audit of a single page
An on-page audit answers one narrow question: is this page's own HTML helping or hurting it? It doesn't cover backlinks, site speed or content strategy. Keeping it narrow is what lets you finish one in 15 minutes and hand someone a clear list.
Here is the order I work in, what to look for at each step, and the mistakes that show up most often.
Before you start: get the right HTML
Open the page and view the raw source (Ctrl+U / Cmd+Option+U). Also open DevTools (F12) and look at the Elements panel. The two can be different:
- View source shows the HTML the server sent.
- Elements shows the DOM after JavaScript has run.
If a tag only shows up in Elements, it's being added by JavaScript. Google can render JavaScript, but tags that are in the server HTML are the safer bet, so make a note of it.
1. Title tag
Find <title> in the <head>.
- There is exactly one, and it isn't empty.
- It describes this page specifically, not just the brand.
Home | Acmeis a weak title.Emergency Plumber in Leeds | Acme Plumbingis a useful one. - It's unique across the site. Templates that give every page the same title are a common problem.
- Length: a common rule of thumb is to keep the important words in roughly the first 50-60 characters, because longer titles get cut off in results. Treat that as a guideline, not a hard limit.
Google builds the title link it shows from several sources and may rewrite yours. A clear, accurate <title> is still the strongest hint you control.
2. Meta description
Find <meta name="description" content="...">.
- Is it there? Is there only one?
- Does it summarise the page in a sentence or two that would make someone click?
- Is it unique, rather than a sitewide default?
Google may show text from the page instead of your description. A missing or duplicated description is still worth fixing, but it ranks below a broken title.
3. Headings
- There's one
<h1>that matches what the page is about. Look out for logos wrapped in<h1>and for pages with no<h1>at all. <h2>/<h3>follow a logical outline and aren't only there for styling.- Headings contain real words. "Welcome" or "Section 1" tells nobody anything.
4. Image alt text
Check every <img>:
- Content images (products, diagrams, photos) need a short, descriptive
alt. - Decorative images should have an empty
alt="". Leaving the attribute out entirely is a different thing. - Don't stuff keywords into alt text. Describe the image.
5. Links
- Link text is descriptive. "Click here" and "read more" tell people and search engines nothing.
- Links have a real
href. Watch forhref="#"andjavascript:links pretending to be navigation. - The page links to relevant pages elsewhere on the site, and isn't a dead end.
- Look for obviously broken links, such as typos in paths and links still pointing at a staging domain.
6. Canonical tag
Find <link rel="canonical" href="...">.
- Use one canonical, with an absolute URL (
https://example.com/page/, not/page/). - It should normally point to the page itself, unless the page really is a duplicate of another URL.
- Pitfall: a template that points every page's canonical at the homepage. That tells search engines all your pages are copies of one page.
- Don't send mixed signals. If the sitemap lists URL A while the canonical says URL B, fix one of them. Google's guide to consolidating duplicate URLs treats canonical as a strong hint, not a command.
7. Viewport tag
Check for <meta name="viewport" content="width=device-width, initial-scale=1">. Without it, phones render the page at desktop width. It's a one-line fix and easy to miss on older or hand-built sites.
8. Open Graph tags
These control how the page looks when it's shared on social platforms and in chat apps:
og:title,og:description,og:image,og:urlog:imageshould be an absolute URL to an image that actually loads.
They matter less for rankings and more for clicks from shares, so they usually go near the bottom of the list.
Rank what you found
A flat list of 20 issues is hard to act on. Sort them into three groups:
1. High: things that can stop the page from being understood or indexed properly. Examples: a missing or duplicate title, a canonical pointing somewhere wrong, no <h1>, no viewport tag.
2. Medium: things that weaken the page. Examples: a missing or duplicate meta description, vague headings, content images without alt text, "click here" links.
3. Low: polish. Examples: missing Open Graph tags, a title that's a little long, decorative images missing alt="".
Write each item as a fix, not a finding. "Add a unique meta description that summarises the pricing page" gets done. "Meta description: missing" often doesn't.
Common mistakes when auditing
- Auditing the rendered DOM and missing that the server HTML is empty, or the other way round.
- Checking only the homepage. Templates break differently on product, blog and category pages, so check one of each.
- Reporting a character count as an error when the title is clear and useful.
- Listing every warning a tool produces without deciding what matters.
Doing it faster
You can do all of the above by hand with view-source and a checklist. If you audit pages often, a tool saves the repetitive part. We make Auditfold, which takes a page's pasted HTML, checks these eight areas, and gives you a score and a fix list ranked by importance, in plain words. It's one option. The checklist above works just as well if you'd rather do it by hand.