Free Tool · Page analysis

On-Page SEO Checker

See a page's title and description, heading structure, content, links, images, structured data and readiness for AI search in one report. If you enter your focus keyword, we evaluate how it's used on the page, taking different word forms into account.

When you enter an address, the page is requested through the Enar SEO server, just like a browser would (because browsers' security rules prevent reading data from other sites directly). The fetched content and addresses are not stored; the analysis runs in your browser.

Optional. Chooses which device the page is requested as. Google crawls most sites with its mobile crawler, so the default is Mobile; change it only if you want to see the desktop version as well.

How does the analysis work?

  1. We request the page like a browser. The address is requested through the Enar SEO server with a mobile (or desktop) user agent; redirects, status code, response time and HTTP headers are recorded. JavaScript isn't executed: the raw HTML we examine is the same as what most AI crawlers see.
  2. We check robots.txt and targets. The site's robots.txt is read with Google's matching rules, and access is calculated for Googlebot and AI crawlers. The canonical and og:image addresses are requested separately.
  3. We isolate the main content. Menus, headers, footers and sidebars are stripped out; word, sentence, paragraph and readability calculations use only the main content.
  4. We match the focus keyword across word forms. If you type “coffee machine”, forms such as “coffee machines” are counted too; for Turkish pages, Turkish suffixes and spellings without Turkish characters are also recognized.
  5. We calculate the score. Each category starts at 100 points, and each issue found deducts its weight. The total score is the weighted average of the categories; if you don't enter a focus keyword, that category isn't counted.

Checks and their weights

Score formula (enarseo-sayfa-v1): each category starts at 100 points; each issue found deducts points in proportion to its weight relative to the total weight of the applicable checks in that category. The total score is the weighted average of the category scores. If an issue prevents the page from being indexed (an error code, noindex, a robots.txt block), the total score is capped at 40. Checks with a weight of “—” are informational and don't affect the score; checks that don't apply to the page (e.g. author info on a home page) aren't counted.

Crawling and indexing (%25)

Whether the page can be crawled and indexed: HTTP status, redirects, noindex, robots.txt, canonical, head integrity, HTTPS, mobile-friendliness, server response and whether the content is in the raw HTML.

CheckSeverityWeight
Page doesn't return 200 (OK)Critical10
Address redirects (chain or temporary redirect)Warning3
Page is excluded from indexing with noindexCritical10
robots.txt blocks Googlebot from crawling this pageCritical10
No canonical tagWarning3
Canonical signal is invalid or conflictingCritical6
Canonical points to a different addressWarning3
Canonical target doesn't return 200Critical6
Important tags end up outside the headCritical6
Redirect via meta refreshWarning3
Page doesn't use HTTPSCritical6
HTTP resources on an HTTPS page (mixed content)Warning3
No mobile viewport tagCritical6
Zooming is disabledRecommendation1
Errors in hreflang markupWarning3
html lang attribute missing or invalidRecommendation1
Character encoding not declared, or declared too lateRecommendation1
Slow server response (TTFB over 800 ms)Warning3
HTML exceeds Googlebot's 2 MB limitCritical6
HTML is sent uncompressedWarning3
Main content isn't in the raw HTML (it's generated by JavaScript)Warning6

Title and meta tags (%20)

How the page appears in search results: presence and length of the title and meta description, H1, title–H1 consistency, large image preview permission.

CheckSeverityWeight
Title tag missing or emptyCritical10
Title too short, or long enough to be truncated in search resultsWarning3
Multiple title tagsWarning3
No meta descriptionWarning6
Meta description too short or too longRecommendation1
Multiple meta descriptionsRecommendation1
H1 missing or emptyWarning6
Multiple H1sRecommendation1
Title and H1 share no wordsRecommendation1
No large image preview permission (max-image-preview:large)Recommendation1

Content and structure (%15)

Sufficiency of the main content, heading hierarchy, readability (Flesch Reading Ease for English, the Ateşman formula for Turkish), sentence and paragraph length, DOM size.

CheckSeverityWeight
Little text in the main content (under 250 words)Warning3
Heading levels are skipped (e.g. H2 to H4)Recommendation1
Empty heading tagsRecommendation1
Long content isn't broken up with subheadingsWarning3
The text is hard to readRecommendation1
High share of long sentencesRecommendation1
Very long paragraphs (over 150 words)Recommendation1
DOM is too large (over 1,500 elements)Recommendation1
Low visible-text-to-HTML ratio (below 10%)Recommendation1

Focus keyword (%10)

Evaluated only when you enter a focus keyword: natural use in the title, H1, description, URL, introduction, subheadings and body text, with a keyword stuffing warning.

CheckSeverityWeight
Focus keyword isn't in the titleCritical10
Focus keyword isn't in the H1Warning6
Focus keyword isn't in the meta descriptionWarning3
Focus keyword isn't in the introduction (first 100 words)Warning3
Focus keyword isn't in the URLRecommendation1
Focus keyword isn't in any subheadingRecommendation1
Focus keyword never appears in the body textCritical6
Focus keyword is overusedWarning3
Focus keyword isn't in any image alt textRecommendation1

Links and images (%10)

Internal links, anchor text, uncrawlable and nofollow internal links; image alt text, dimension attributes, how the first image loads and image formats.

CheckSeverityWeight
No internal links on the pageWarning3
Links without textWarning3
Non-descriptive anchor text (“click here”, “read more”…)Recommendation1
Uncrawlable links (href="#" or javascript:)Recommendation1
nofollow on internal linksRecommendation1
images without an alt attributeWarning3
Images without width and height attributesRecommendation1
The page's first image is lazy-loadedWarning3
Most images are in legacy formats (JPEG/PNG/GIF)Recommendation1

Structured data and sharing (%10)

Presence and validity of JSON-LD, required and recommended fields of rich result types, types that no longer earn a search appearance, breadcrumbs and Open Graph.

CheckSeverityWeight
No structured data (JSON-LD)Warning3
JSON-LD syntax errorCritical6
Required fields for rich results are missingWarning6
Recommended structured data fields are missingRecommendation1
Types that no longer produce rich resultsRecommendation—
No BreadcrumbList structured dataRecommendation1
Open Graph tags are missingWarning3
The og:image address can't be reachedRecommendation1

GEO and E-E-A-T signals (%10)

Citability in AI search: AI crawler access, snippet permission, author, date and publisher information, and a structure that opens with a summary and is backed by lists and sources.

CheckSeverityWeight
AI search crawlers are blocked by robots.txtWarning6
Snippet restriction present (nosnippet / max-snippet)Warning6
No author informationWarning3
No publication or update dateWarning3
No publisher or organization information foundRecommendation1
Long introduction (the answer comes late)Recommendation1
No lists or tables in long contentRecommendation1
No links to external sourcesRecommendation1
No question-style subheadingsRecommendation—

Frequently asked questions

What's the difference between the On-Page SEO Checker and the Technical SEO Audit?

The Technical SEO Audit crawls up to 50 pages of your site to find site-wide issues (broken links, duplicate titles, redirects). The On-Page SEO Checker focuses on a single page and examines its content structure, readability, focus keyword usage and readiness for AI search in detail.

What should the keyword density be?

There is no ideal density; Google doesn't use density as a ranking factor. The tool only warns about overuse (above 3%). Using the keyword naturally in the title, H1, introduction and subheadings matters more than how many times it's repeated.

How are word forms taken into account?

The last word of the focus keyword is matched as a stem: for “shoe”, “shoes” is counted too. For Turkish pages the tool also handles Turkish suffixes, possessive endings in compounds (“kahve makinesi” → “kahve makineleri”), consonant softening (“kitap → kitabı”) and spellings without Turkish characters. This is an approximate method and occasionally an unrelated word may match, so we list the forms found in the result.

How is the readability score calculated?

English pages use the Flesch Reading Ease formula: 206.835 − 1.015 × (words ÷ sentences) − 84.6 × (syllables ÷ words). 60–70 is standard, higher is easier and below 50 is hard to read. Turkish pages use the Ateşman formula. The calculation uses only the paragraphs in the main content.

Why doesn't content generated by JavaScript appear in the analysis?

The tool examines the raw HTML the server sends and doesn't run JavaScript. Google can render JavaScript later, but the crawlers of ChatGPT, Claude and Perplexity mostly don't: content that isn't in the raw HTML doesn't exist for these platforms. The tool flags this with a separate warning.

Why are GEO and E-E-A-T signals part of the score?

AI-powered search (Google AI Overviews, ChatGPT, Perplexity) looks for accessibility, clarity and trustworthiness when choosing sources. Whether crawlers can reach the page, snippet permission, author and date information, and a structure that opens with a summary all influence that choice. These signals don't replace the real quality of the content; they're a checklist that shows what's missing.

To crawl your whole site, use the Technical SEO Audit; to compare your page with competitors, use SEO Competitor Comparison.