TMOD LogoTMOD

Free SEO audit tool

Technical SEO plus the content signals that move rankings, 27 checks, no AdSense policy noise.

What TMOD checks

  • All 19 technical checks: meta tags, canonicals, sitemap and robots.txt, schema markup, Core Web Vitals, page speed, SSL, mobile rendering, broken links, indexing, custom 404, JavaScript rendering, mixed content, site architecture, URL structure, domain age, ads.txt, safety and accessibility.
  • Eight content checks that affect rankings rather than AdSense eligibility: content length, content depth, thin pages, duplicate content, readability, image optimization, freshness and author/E-E-A-T signals.
  • Page-level word counts against a 300-word minimum and a 600-word target, with anything under 150 words flagged as thin.
  • Near-duplicate detection across every real content page at a 0.8 similarity threshold, with archive and pagination pages excluded because they overlap by design.
  • Canonical tag coverage across the crawl, 80% or more of pages declaring a canonical passes, anything less is flagged.
  • Title tags against a 30–60 character window and meta descriptions against 70–160, the ranges that survive truncation in results pages.

Every check, explained

27 checks run in this audit. 13 of them have a page of their own with the exact threshold and how to fix it.

Why it matters

Most SEO tools give you a number and a list of warnings without telling you what the number means. This audit reports the actual rule behind every result, the word count, the similarity ratio, the millisecond budget, so you can decide whether a warning matters for your site rather than chasing a score.

It deliberately skips the AdSense policy engines. If you are not applying for AdSense, checks for consent banners, DMCA pages and ad placement balance are noise that drags your score down for things that have nothing to do with search performance. Those live in the policy audit instead, where they are the point rather than a distraction.

It also skips the LLM content-quality pass, which means the audit is fast and the results are fully deterministic: run it twice on an unchanged site and you get the same answer. That matters when you are working through fixes and want to know whether your change moved the needle.

How to fix it

01Start with the technical failures, not the warnings

A missing sitemap, a broken canonical or an unreachable robots.txt stops pages being indexed at all. No amount of content work helps a page Google cannot reach. Work the red items top to bottom before you touch anything amber.

02Fix thin pages by merging, not padding

Pages under 150 words are flagged as thin. Padding them to 300 words with filler is worse than the original problem, it creates low-value content at scale. Merge related thin pages into one substantial page and redirect the old URLs.

03Resolve duplicates at the canonical level first

Most duplicate-content flags come from the same page being reachable at several URLs, http and https, www and non-www, with and without a trailing slash. A self-referential canonical on every page usually clears the whole cluster in one change.

04Treat Core Web Vitals as a budget

LCP under 2.5 seconds, CLS under 0.1. The single most common cause of a failing LCP on a content site is an unsized hero image. Set explicit width and height attributes, serve modern formats, and the measured load time usually moves without touching anything else.

What this audit cannot see

Everything here is measured from outside your site, which is the reason it works on any domain and the reason it has blind spots worth naming. It does not know your impressions, your average position, or which queries you already win. Search Console owns that data and nothing can infer it from the HTML.

It has no keyword data either. A page can pass every check on this list and still target a phrase nobody searches, or compete for one where the first page is owned by sites with twenty years of references. Passing means the page is not being held back by anything mechanical, not that the topic was worth writing about.

Off-site signals are absent entirely: who links to you, who mentions you, what your brand looks like to a search engine that has seen the rest of the web. That gap is the honest reason two sites with identical audit scores rank differently. What this audit does own is the half you control, and on most sites the mechanical half is where the recoverable losses are: pages that cannot be crawled or indexed and pages too thin to deserve the traffic.

A working order for the results

Take crawl access first. If robots.txt or the sitemap is wrong, every other number in the report was measured over the wrong set of pages, and fixing anything else is guesswork. This is the layer where one line of text can hide an entire site.

Indexing signals come second, because they decide which of your URLs a search engine treats as canonical. Self-referential canonicals, honest titles and descriptions and clean redirects usually settle most of what a duplicate report is complaining about, without a word of content being rewritten.

Then work templates before pages. A missing description on 200 URLs is one template bug, not 200 tasks, and the same is true of duplicate titles, missing image dimensions and unsized hero elements. Only after that does per-page work pay: merging the thin pages, deepening the ones worth deepening, and leaving alone the pages that were always meant to be short.

Re-run the audit between layers rather than at the end. One template change routinely clears dozens of individual warnings, and the second run tells you which of the remaining items were real rather than downstream of something you have already fixed.

Questions

How is this different from the AdSense checker?

The AdSense checker runs all 45 engines including the policy suite and an AI reviewer pass that predicts whether Google would approve your site. This SEO audit runs 27 engines focused purely on search performance, with no policy checks and no AI judgement. If you want to know why AdSense rejected you, use the AdSense checker. If you want to know why you are not ranking, use this.

How many pages does it crawl?

A signed-in scan crawls up to 50 pages at a depth of 3, following your sitemap first and then internal links. Very large sites are sampled rather than crawled exhaustively, the checks that depend on site-wide ratios, like canonical coverage and duplicate detection, are computed over the pages actually fetched, and the report tells you how many that was.

Does it need access to Google Search Console or Analytics?

No. Everything is measured from the outside, the same way a search engine crawler sees your site. That means it works on a site you do not own and on a site that has never been verified in Search Console, but it also means it cannot see impressions, clicks or rankings, it measures the things you control, not the results.

Why does my score differ between runs?

It should not. This preset excludes the LLM pass specifically so results are deterministic. If a score moves on an unchanged site, it is almost always the crawl finding a different number of pages, a slow response, a rate limit or a timeout can reduce the sample. Check the page count in the report header before assuming a check regressed.