SEO Freelancer Guru

Free SEO audit checklist

Work through the checks in order. Tick them as you go. The progress stays in this browser.
  • No signup
  • Free
  • Saved in this browser

0 of 50 done

Indexability and crawl

If Google cannot fetch the page, nothing else on this list matters.

  • The important URLs return 200

    high · about 5 minutes

    A 404 or a soft 404 cannot rank.

    Open the URL. Confirm the status is 200 and the body is the page, not a theme error.

    Check this URL with the SEO checker
  • The page is not noindex

    high · about 5 minutes

    A noindex tag keeps the URL out of Google even when the rest of the page is fine.

    View source and search for noindex. Remove it on pages you want in the index.

    Check this URL with the SEO checker
  • robots.txt does not block the page

    high · about 5 minutes

    A disallow line can stop the crawl before Google reads the page.

    Test the path for Googlebot and read the matching line.

    Open the robots.txt tool
  • The canonical is this URL

    high · about 5 minutes

    A canonical that points elsewhere tells Google to prefer the other URL.

    If this URL should be the one in Google, the canonical should match it.

    Check this URL with the SEO checker
  • The site is HTTPS

    high · about 5 minutes

    Mixed or insecure URLs split signals and look dated.

    The homepage and the internal links should use https.

    Check this URL with the SEO checker
  • Redirects are one hop

    medium · about an hour

    Chains waste crawl and leak a little equity at each step.

    The first response should land on the final URL in one redirect.

    Check this URL with the SEO checker
  • The URL is in the sitemap

    medium · about an hour

    A sitemap is a hint, not a guarantee, but a missing URL is a clue.

    Open the sitemap and search for the path. Remove URLs you do not want indexed.

    Check this URL with the SEO checker
  • Search Console shows the URL indexed

    high · about 5 minutes

    The page can look fine and still be excluded.

    Inspect the URL. Read the coverage reason before you change the page.

Site architecture and internal links

Google finds pages by following links. A page with no internal links is easy to miss.

  • Money pages are linked from the homepage or the main nav

    high · about an hour

    Depth hides pages.

    Count the clicks from the homepage. Important services should be one or two clicks away.

  • No important page is an orphan

    medium · about an hour

    A page only reachable from the sitemap is a weak page.

    Crawl the internal links, or look at the pages Search Console never shows.

  • Anchor text says what the page is

    medium · about an hour

    Click here teaches Google nothing.

    Use the service or the topic in the link. Do not stuff the same phrase on every page.

  • The footer is not a dump of every URL

    low · about an hour

    A footer full of cities looks like a doorway set.

    Link the real hubs. Put city pages in a sensible list, not fifty identical lines.

  • Pagination is crawlable

    medium · needs a developer

    Infinite scroll with no links hides the later pages.

    Older posts and products need real hrefs, not only a button that loads JavaScript.

On-page

The title, the H1, and the opening paragraph should agree about what the page is.

  • One unique title

    high · about 5 minutes

    Duplicate titles make Google choose for you.

    Write a title for this page. Check the width. Google does not publish an official pixel limit.

    Write the title and description
  • A meta description you wrote

    medium · about 5 minutes

    Google may rewrite it. A description you wrote is still the sentence you want.

    Say what the page offers and who it is for. Skip the keyword list.

    Write the title and description
  • One H1

    high · about 5 minutes

    Themes often print the logo or the title as a second H1.

    View the page and count H1s. Keep one that names the page.

    Check this URL with the SEO checker
  • The topic is in the first paragraph

    medium · about 5 minutes

    The opening text is what a person and a crawler read first.

    Say the service and the place, if there is a place, in normal sentences.

  • Images that carry meaning have alt text

    medium · about an hour

    Empty alt on a photo of the work wastes the image.

    Describe the image. Leave decorative icons empty on purpose.

    Check this URL with the SEO checker
  • The page links to the next useful page

    medium · about 5 minutes

    A dead end makes the visitor and the crawler stop.

    Add two or three links to related services, locations, or guides.

Content quality

Thin pages and copied pages are the ones I rewrite first.

  • The page matches the query

    high · about an hour

    A service page will not satisfy a how-to search.

    Read the top results. Match the job the searcher is trying to finish.

  • The page has something only you know

    high · about an hour

    A rewrite of the top three articles does not add a source.

    Add prices, process, photos, or a constraint from the real work.

  • The page is not a stub

    high · about an hour

    A heading and two sentences is not a page.

    If the URL exists, give it the explanation a customer needs, or remove it.

  • Two pages do not target the same query

    medium · about an hour

    They compete with each other.

    Pick one URL. Fold the other in, or point a canonical at the winner.

  • Claims and dates are current

    low · about 5 minutes

    An old price or an old process erodes trust.

    Update the sentence. Do not change the date and leave the text.

Performance

I use field data when Chrome has it, and lab data when it does not.

  • LCP, INP, and CLS are in a sensible range

    high · needs a developer

    A slow page loses people before they read it.

    Run the URL in PageSpeed. Fix the item it names first, not a random plugin.

    Check this URL with the SEO checker
  • Images are sized and compressed

    medium · about an hour

    A 4000 pixel photo in a 600 pixel slot is the usual LCP problem.

    Export the size you display. Prefer a modern format.

  • Fonts do not block the first paint

    low · needs a developer

    A late font shifts the layout.

    Preload the one font you need. Do not load a family you never use.

  • Third-party scripts are few

    medium · needs a developer

    Chat, heatmaps, and tags often cost more than the theme.

    Remove the ones nobody reads. Load the rest after the page is usable.

Structured data

Schema makes a page eligible. It does not guarantee a rich result.

  • The business is named in Organization or LocalBusiness

    high · about an hour

    The name, URL, and logo should agree with the visible page.

    One graph, one name. Do not publish two different phone numbers.

    Build the schema
  • The JSON-LD parses

    high · about 5 minutes

    A trailing comma makes the whole block useless.

    Paste it into a validator. Fix the error it names.

    Build the schema
  • FAQ markup matches visible questions

    medium · about an hour

    Hidden questions are a bad idea.

    Only mark up questions the page actually shows.

    Build the FAQ schema
  • Do not rely on HowTo rich results

    low · about 5 minutes

    Google removed HowTo documentation on 14 September 2023.

    Keep the steps in the HTML. Do not expect a HowTo rich result.

Mobile

Most of the visits I look at are on a phone.

  • The viewport tag is present

    high · about 5 minutes

    Without it, the phone shows a desktop page shrunk down.

    The head should include width=device-width.

    Check this URL with the SEO checker
  • Buttons are easy to tap

    medium · about an hour

    Tiny links next to each other get mis-taps.

    Give primary buttons space. Do not stack three text links on one line.

  • Body text is readable without zoom

    medium · about 5 minutes

    Grey 12px text fails people and fails the page.

    Use a size you can read on your own phone.

Local, if you have a place

Skip this section if you sell nationally and have no premises.

  • Name, address, and phone match the Google profile

    high · about an hour

    Small differences create two identities.

    Pick one spelling and use it on the site, the profile, and the citations.

  • Each location has its own page

    high · about an hour

    A single page that lists 20 cities is weak.

    Give a real location its own URL, with the address in the HTML.

  • LocalBusiness schema matches that page

    medium · about an hour

    The schema address should be the address on the page.

    Do not copy the head office onto every city page.

    Build LocalBusiness schema
  • The map embed is the right place

    low · about 5 minutes

    A map of the wrong city is a common copy-paste.

    Open the embed and confirm the pin.

Off-page

I look at whether other sites name you, not at a vanity domain score.

  • Other sites use your real name

    medium · about an hour

    The anchor and the name on your site should match.

    Search the brand. Fix the profiles that use an old name.

  • Obvious junk links are noted, not panicked over

    low · about an hour

    Most sites have some junk. Disavow is rare.

    List the ones that are clearly paid or hacked. Ignore the rest until you have a manual action.

  • You can name the pages that outrank you

    medium · about an hour

    The gap is specific pages, not a score.

    Open three results. Note what they have that you do not.

  • Mentions that do not link are a short list

    low · about an hour

    A mention without a link is still a mention. A link is better.

    Ask for the link when the relationship is real. Do not blast a template.

AI search readiness

If the words are not in the HTML, an answer engine cannot quote them.

  • The main text is in the HTML

    high · needs a developer

    Text that appears only after JavaScript is easy to miss.

    View source. If the paragraph is missing, render it on the server.

    Check this URL with the SEO checker
  • You have chosen which AI bots to allow

    high · about 5 minutes

    Blocking a search bot can keep you out of that answer.

    Decide training versus search. Do not block Googlebot by accident.

    Open the robots.txt tool
  • The brand name is consistent

    high · about 5 minutes

    Three spellings look like three businesses.

    Use one name in the title, the H1, and the schema.

    Check AI visibility
  • llms.txt is optional

    low · about an hour

    Some tools read it. Major answer engines have not confirmed they use it.

    Add it if it is easy. Do not treat it as the strategy.

    Draft llms.txt

Analytics and tracking

If you cannot see organic visits, you cannot tell whether the work did anything.

  • Search Console is verified

    high · about 5 minutes

    This is the source for queries, pages, and index coverage.

    Verify the domain property if you can. Submit the sitemap.

  • GA4 records organic sessions

    high · about an hour

    A tag that fires twice, or not at all, ruins the story.

    Check a landing page in realtime, then in the organic channel the next day.

  • A lead or a sale is a conversion

    high · about an hour

    Traffic without a conversion is a vanity chart.

    Mark the form, the call, or the order. Check that it fires once.

Want this sent to you?

Questions about the SEO audit checklist

No. Use Essentials if you want the short list. The rest is there when the first pass is done.

Still unsure?

Book a consultation, $75, 30-60 minutes.

Want the list filled in for your site?