teknikprime

Method

Check list

Every check the audit runs, with its weight and an explanation of why it is measured. No check is hidden.

61 checks · Engine version 3

A check that cannot apply to a page drops out of the scoring entirely rather than scoring zero. A page with no images is not penalised for having none, and a product page is not asked for an author.

Technical SEO22 checks · Weight 43

robots.txt blocks search engines from this page

Critical

Googlebot cannot fetch the page. Without indexing, neither search results nor the AI answers built on top of search can surface you.

access.robots_txtWeight 4EasyInfrastructure / CDNIssues blocking visibility

Page is marked noindex

Critical

The page can be crawled but is told not to be indexed. This is usually a staging tag that shipped to production, and on its own it zeroes out organic traffic.

access.meta_robotsWeight 4EasyDeveloperIssues blocking visibility

www and http variants do not resolve to one address

Warning

When the same content answers on four addresses, search engines split authority between them and have to guess which is canonical.

access.canonical_hostWeight 3MediumInfrastructure / CDN

Canonical tag missing or malformed

Warning

The canonical tag names the authoritative version among duplicates. Without it, every parameterised URL can be treated as a separate page.

access.canonical_tagWeight 2EasyDeveloper

Page does not return a successful response

Critical

The address does not answer with 200, or sits behind a long redirect chain. Crawlers stop following chains after a few hops.

access.http_statusWeight 2MediumInfrastructure / CDNIssues blocking visibility

HTTPS missing or certificate is broken

Critical

HTTPS has been a ranking signal for years and browsers flag insecure pages. A certificate error also stops crawlers outright.

access.httpsWeight 2MediumInfrastructure / CDN

Some sitemap URLs are unhealthy

Warning

A sitemap tells search engines "these are worth indexing". When it lists 404s, redirects or noindex pages, Google trusts the file less and crawls accordingly.

access.sitemap_healthWeight 2MediumDeveloper

Missing pages return 200 (soft 404)

Warning

When non-existent addresses answer "success", a crawler discovers unlimited empty pages and spends its crawl budget on them.

access.soft_404Weight 2MediumDeveloper

Page speed is low

Warning

The PageSpeed Insights performance score is below threshold. Slow pages rank worse and lose visitors before the content renders.

access.psi_performanceWeight 2HardDeveloper

Mobile readiness signals are missing

Warning

Google indexes the mobile version first. A page without a viewport declaration renders at desktop width on phones.

access.mobileWeight 2EasyDeveloper

Broken internal links on the page

Warning

Broken links waste crawl budget and dead-end the reader. They are usually leftovers from a content migration.

access.broken_linksWeight 2MediumContent team

HTTPS page loads http:// resources

Warning

Browsers block http:// scripts and stylesheets on a secure page and mark images as not secure. A blocked script can leave half the page non-functional.

access.mixed_contentWeight 2EasyDeveloper

TLS version or certificate window is a problem

Critical

When a certificate lapses browsers block the site outright and crawlers cannot connect; one missed renewal stops all traffic.

access.tls_healthWeight 2EasyInfrastructure / CDN

Resources are holding up the first paint

Warning

Every script in `<head>` without async or defer must download and run before the browser paints anything. A third-party stylesheet does the same, at the mercy of another server.

access.render_blockingWeight 2EasyDeveloper

The page pulls resources from many external origins

Warning

Each external origin is a separate DNS lookup, TLS handshake and dependency on another company’s uptime. Measurement and widget scripts run on the main thread, so they raise INP and TBT directly.

access.third_party_loadWeight 2MediumDeveloper

End-of-life or outdated libraries are loaded

Warning

A version past end of life receives no security patches, so known holes stay open. This check only judges libraries whose version number was actually readable.

access.tech_currencyWeight 2MediumDeveloper

Sitemap not found or not declared

Opportunity

A sitemap tells search engines directly which pages exist and when they changed. For pages that are hard to reach by internal links it is the only route.

access.sitemapWeight 1EasyDeveloper

Server response time is high

Opportunity

Time to first byte sets the ceiling for how fast everything else can load. It is usually a caching or server-location problem.

access.ttfbWeight 1HardInfrastructure / CDN

Language declaration or hreflang missing

Opportunity

On multilingual sites hreflang decides which version each visitor sees. Declarations that are not reciprocal are ignored entirely.

access.lang_hreflangWeight 1EasyDeveloper

Compression or HSTS missing

Opportunity

Uncompressed HTML slows every crawler request and feeds straight into TTFB. HSTS makes even the first http:// request go secure; it is not a ranking factor but a security and redirect-hygiene signal.

access.response_headersWeight 1EasyInfrastructure / CDN

Favicon not declared or not found

Opportunity

Google shows the site favicon in mobile results. Without one a grey globe appears and the result gets fewer clicks. Not a ranking factor, a results-page visibility detail.

access.faviconWeight 1EasyDeveloper

Server speaks only HTTP/1.1

Opportunity

HTTP/2 downloads in parallel over a single connection. On HTTP/1.1 the browser is limited to a few simultaneous connections per host, so pages with many files queue up.

access.http_protocolWeight 1EasyInfrastructure / CDN

Content SEO15 checks · Weight 27

Title tag is missing or unclear

Critical

The title is the main search-result headline. There is no fixed character limit; it should describe the page concisely and accurately.

content.titleWeight 4EasyContent team

Meta description missing or badly sized

Warning

If you do not write one, the search engine picks a sentence at random. It is one of the few snippets you control that directly moves click-through.

content.meta_descriptionWeight 3EasyContent team

Some images have no alt text

Warning

Alt text is both an accessibility requirement and the only content signal in image search. Decorative images should carry an empty alt="", not be skipped.

content.img_altWeight 3MediumContent team

Structured data is invalid

Warning

Malformed JSON-LD cannot be read by search engines. Feature-specific eligibility should also be checked with Google Rich Results Test.

content.jsonld_completeWeight 3MediumDeveloper

No primary page heading found

Warning

A primary heading explains the page topic to users and search systems. Multiple H1s are not inherently an error; a missing or unclear heading is.

content.h1Weight 2EasyContent team

Image delivery can be improved

Opportunity

Modern formats, lazy loading and explicit dimensions each move page speed and layout shift (CLS) directly.

content.img_deliveryWeight 2MediumDeveloper

Open Graph / Twitter cards incomplete

Opportunity

These decide the title, description and image shown when the link is shared. Without them the platform picks something at random.

content.social_cardsWeight 2EasyDeveloper

Title or description duplicated across the site

Warning

Pages sharing the same title and description look like copies of each other to a search engine; which one to show becomes ambiguous and the template value is usually rewritten.

content.duplicate_metaWeight 2MediumContent team

Heading hierarchy skips levels

Opportunity

Jumping from H2 to H4 breaks the document outline. AI systems chunk pages along the heading tree, so a broken outline produces mis-scoped quotes.

content.heading_hierarchyWeight 1EasyDeveloper

Main content looks insufficient in the initial response

Warning

This check does not impose a word-count target. It only verifies that users and crawlers receive meaningful main content from the server.

content.depthWeight 1MediumContent team

Schema is missing Google’s recommended properties

Opportunity

The schema is valid, but the properties Google recommends for the matching rich result are empty. Not an error; each missing property is a visibility feature left unused.

content.schema_recommendedWeight 1MediumDeveloper

Generic link text in use

Opportunity

"Click here" and "read more" say nothing about the destination. Anchor text is how you describe the page you are linking to.

content.anchor_qualityWeight 1EasyContent team

No breadcrumb trail

Opportunity

A breadcrumb tells both users and search engines where the page sits in the site hierarchy. BreadcrumbList schema replaces the raw URL in results with a readable path.

content.breadcrumbWeight 1MediumDeveloper

Title and H1 describe different topics

Opportunity

Title and H1 are two headlines for the same page. When they share no vocabulary, engines and readers read the topic differently; Google often rewrites the title to the H1 in that case.

content.title_h1_alignmentWeight 1EasyContent team

No structured data is used on this page

Opportunity

Schema is not mandatory on every page. Only relevant, accurate markup that matches visible content can enable supported rich-result eligibility.

content.jsonld_presentWeight 0EasyDeveloper

AEO & AI visibility24 checks · Weight 50

Search and answer-engine crawlers are blocked in robots.txt

Critical

This only covers bots used for search, citation, or user-requested fetches. Blocking training crawlers is a publisher choice and does not lower the AEO score.

geo.ai_robots_matrixWeight 8EasyInfrastructure / CDNIssues blocking visibility

Server silently rejects AI bots

Critical

robots.txt allows them but the server answers these bots with a 403 or a challenge page. This is the most insidious failure mode — no SEO tool reports it, so it can go unnoticed for years. It usually comes from CDN bot management.

geo.ai_ua_probeWeight 6MediumInfrastructure / CDN

Server blocks Googlebot or Bingbot

Critical

AI Overviews and Gemini see what Googlebot sees; Copilot and ChatGPT Search use the Bing index. If either gets a 403, search and every AI surface built on it go dark.

geo.search_bot_probeWeight 6MediumInfrastructure / CDNIssues blocking visibility

Content only appears with JavaScript

Critical

Most AI crawlers do not execute JavaScript. If the raw HTML from the server is empty, your page really is empty to them — no matter how good the content is. Server-side rendering or static generation fixes this in one step.

geo.js_free_contentWeight 6HardDeveloperIssues blocking visibility

Content sits behind a wall

Warning

If a cookie banner, login screen or age gate is what the first response contains, the wall is all a crawler ever sees.

geo.content_wallWeight 2MediumDeveloper

Most of the page is navigation, footer and repeated blocks

Warning

When main content is a small share of all text, a model chunking the page struggles to find a passage worth quoting and the quality signal drops. Google likewise separates template text as boilerplate.

geo.boilerplate_ratioWeight 2MediumDeveloper

Publication or update date is unclear

Warning

AI systems prefer current sources. Undated content is assumed stale next to a dated competitor.

geo.datesWeight 2EasyContent team

No author identity

Warning

Who wrote this feeds directly into how trustworthy the content is judged to be. Author schema plus a verifiable profile link closes the gap.

geo.authorWeight 2EasyContent team

Opening paragraph does not answer the question

Opportunity

AI systems chunk the page and look for the most direct answer. A page that answers its own headline in the first two sentences is far more citable.

geo.definition_firstWeight 2MediumContent team

Brand is not defined as an entity

Opportunity

Organization schema plus a match in a known knowledge base makes it unambiguous which entity your brand name refers to.

geo.entityWeight 2EasyDeveloper

Sections and paragraphs are not quotable in size

Warning

Answer engines quote passages, not pages. A single H2 section over 300 words or 150-word paragraphs cannot be chunked, and an average sentence over 25 words hurts summarisation.

geo.passage_structureWeight 2MediumContent team

Bots are served different content

Warning

The body returned to bots differs materially from the one visitors get. If deliberate that is a penalisable practice; if not, a cache or bot-management layer is likely truncating the content.

geo.cloakingWeight 1MediumDeveloper

Main content is not semantically marked

Opportunity

<main> or <article> tells a parser where the real content starts and ends. Without it, navigation, sidebar and footer bleed into the content.

geo.semantic_mainWeight 1EasyDeveloper

No llms.txt file found

Opportunity

llms.txt is experimental. It is not an SEO or AEO requirement, and its absence does not affect the score.

geo.llms_txtWeight 1EasyContent team

No RSS/Atom feed declared

Opportunity

Perplexity and other answer engines still watch feeds to discover new content. A <link rel="alternate" type="application/rss+xml"> tag can cut the time to index a new post from hours to minutes.

geo.feedWeight 1EasyDeveloper

Content has not been updated in a long time

Warning

Answer engines pick the more recently dated of two similar sources. A stale dateModified lowers citation odds even when the content is still correct.

geo.freshnessWeight 1MediumContent team

Question-shaped headings without FAQ schema

Opportunity

The page already answers three or more questions. Marking the pairs up as FAQPage lets answer engines read the question–answer mapping instead of guessing it. Using question headings is not a requirement on its own.

geo.question_headingsWeight 1EasyDeveloper

Few tables or lists

Opportunity

Tables and lists are ready-made chunks that lift straight into an answer. Long unbroken paragraphs do not extract that way.

geo.structured_blocksWeight 1MediumContent team

No external sources for editorial claims

Opportunity

Reliable external sources help readers verify claims in articles and guides. Random numeric density is not treated as a quality signal.

geo.evidence_densityWeight 1MediumContent team

No summary or table of contents

Opportunity

A "key takeaways" list at the top and a table of contents let a model see at a glance what the page answers. In-page anchor links also help Google passage indexing.

geo.summary_blockWeight 1EasyContent team

No link to about, contact or privacy pages

Opportunity

Google quality raters and answer engines look for who runs the site. A visible link to about and contact pages is the cheapest piece of the E-E-A-T signal.

geo.trust_pagesWeight 1EasyContent team

Content is opted out of AI use

Opportunity

Tags like noai / noimageai refuse AI use of the content. Fine if deliberate; if not, it quietly switches off visibility.

geo.noai_tagsWeight 0EasyDeveloper

Content-Signal restricts AI use

Opportunity

The Content-Signal line in robots.txt states a preference about using content in AI answers (ai-input) or training (ai-train). With ai-input=no, answer engines may choose not to cite the content.

geo.content_signalsWeight 0EasyInfrastructure / CDN

No Markdown rendition offered

Opportunity

Some sites return a Markdown version when asked with Accept: text/markdown. It is the cheapest form for a model to read and removes HTML noise entirely. Optional good practice; absence does not affect the score.

geo.markdown_negotiationWeight 0HardDeveloper

Blockers, which come before points

These findings cost no points. Because each one ends visibility on its own, they are shown ahead of the score as a separate warning.

  • robots.txt blocks search engines from this page
  • Page is marked noindex
  • Page does not return a successful response
  • Search and answer-engine crawlers are blocked in robots.txt
  • Server blocks Googlebot or Bingbot
  • Content only appears with JavaScript

Crawlers probed live

A real request is sent to the page with each of these user agents. robots.txt allowing a bot while the server turns it away with a 403 is the most common failure, and no tool that only reads the file can see it.

User-agentProductPurpose
GooglebotGoogle Search · AI Overviews · Geminisearch
BingbotBing · Copilot · ChatGPT Search dizinisearch
OAI-SearchBotOpenAI · ChatGPT Searchsearch
ChatGPT-UserOpenAI · kullanıcı isteğiyle getirmelive fetch
Claude-UserAnthropic · kullanıcı isteğiyle getirmelive fetch
Claude-SearchBotAnthropic · Claude aramasearch
PerplexityBotPerplexitysearch
Perplexity-UserPerplexity · kullanıcı isteğiyle getirmelive fetch
ApplebotApple · Siri / Spotlight / Apple Intelligencesearch
DuckAssistBotDuckDuckGo · DuckAssistsearch
MistralAI-UserMistral · Le Chat kullanıcı isteğiyle getirmelive fetch
Google-CloudVertexBotGoogle · Vertex AI Agentslive fetch
GPTBotOpenAI · ChatGPTtraining
ClaudeBotAnthropic · Claudetraining
CCBotCommon Crawltraining
meta-externalagentMeta AItraining
AmazonbotAmazon · Alexa / Rufustraining
BytespiderByteDancetraining

Blocking training-only crawlers is a publisher choice and does not lower the AEO score. Only search and user-requested fetch crawlers enter the scoring.

  • Google-ExtendedGoogle · Gemini eğitim izni
  • Applebot-ExtendedApple · Apple Intelligence eğitim izni

These two tokens are permission switches in robots.txt only; no bot ever sends them as a user agent, so they are not probed.

Technology and version data

The technology inventory judges support status only where a version number is actually written down. Support dates are a snapshot valid as of 2026-05, and the report shows that date.

Check list