All checks
Every check the crawl performs, by group.
111 checks in 12 groups. The list below covers everything the crawl looks at. The code of each check appears exactly as it is in the report and in the CSV/Excel files.
Threshold values are written in the names (e.g. <100 characters). The severity of a finding (Error, Warning, Info) is set by the measured value: for example, a title of 61–70 characters is info and above 70 is a warning. That is why the list has no single fixed severity column.
#Titles and descriptions
- Title missing
title-yokThe blue headline in search results comes from here; without it Google makes one up.
- Title too short (<30)
title-kisaA short title takes up little space in search results and carries few keywords.
- Title too long (>60 info, >70 warning)
title-uzunIt is cut off in search results, so the important part should come first. 61–70 characters is informational, above 70 is a warning.
- More than one title
title-cokluGoogle chooses which one to use on its own.
- Duplicate title
title-tekrarPages with the same title compete with each other, and Google cannot tell which one to show.
- Meta description missing
meta-yokThe description text in search results is picked at random from the page.
- Meta description too short (<100)
meta-kisaIt does not fill the space in search results and can lower the click-through rate.
- Meta description ends mid-sentence
meta-kesikInfo: the description ends with an unfinished phrase such as "…in which." or "…and"; it looks incomplete in search results, so the text should be finished.
- Meta description too long (>160)
meta-uzunIt is cut off in search results.
- More than one meta description
meta-cokluGoogle chooses which one to use on its own.
- Duplicate meta description
meta-tekrarIt makes it harder to tell pages apart in search results.
- H1 missing
h1-yokThe heading that states the page's main topic is missing.
- More than one H1
h1-cokluUsually not a problem; the main topic should be in a single H1.
- Empty H1
h1-bosA heading tag with nothing in it; most likely a template error.
- A shared suffix/prefix makes titles longer
title-ortak-ekThe template adds the same long text to every title, so titles are cut off in search results. One setting shortens it. Pages that are long even without the addition still get 'title too long' separately.
- Heading level is skipped
baslik-atlamaInfo: jumps such as H2 to H4 break the content structure; screen readers and bots lose the hierarchy.
- Meta description generated from a template
sablon-metaInfo: if the description repeats the title and always ends with the same closing, it loses what is unique to each page.
#Indexing
- Blocked from indexing (noindex)
noindexGoogle will not show this page. Not a problem if it is intentional.
- Blocked from indexing, canonical points to another indexable page (may be intentional)
noindex-kanonik-acikThe page is noindex but its canonical points to another address that returns 200 and can be indexed; this is a common deliberate setup for duplicate and filter pages. If it is not intentional, noindex and canonical together are redundant.
- Canonical tag missing
kanonik-yokOn parameterized or duplicate addresses it is harder for Google to choose the main page.
- Canonical points to another address
kanonik-baskaThis page is left out of the index and the address it points to is indexed instead. An error if it is not intentional.
- Parameterized duplicates correctly linked by canonical
kanonik-parametreli-ozetiInfo: addresses with parameters such as ?sort= are tied to the main page by canonical; this is the correct setup. Search checks such as title and description were not run on these addresses.
- More than one canonical
kanonik-cokluWith conflicting canonicals Google ignores all of them.
- Canonical target is broken
kanonik-hedef-hataliThe canonical points to a page that does not return 200 or is noindex.
#Multilingual
- Invalid hreflang code
hreflang-gecersiz-kodGoogle ignores a language code it does not recognize.
- Same language code more than once
hreflang-tekrarThere should be a single address per language.
- Page itself missing from hreflang
hreflang-kendisi-yokEvery language version should list itself too.
- x-default missing
hreflang-x-default-yokThe version for visitors whose language matches none is not specified.
- hreflang target is broken
hreflang-hedef-hataliThe language version it points to does not return 200 or is noindex.
- hreflang is not reciprocal
hreflang-karsilik-yokIf version B does not point back to A, Google does not pair the two.
- Title not translated
yerellestirilmemis-baslikThe language version's title is the same as another language version's or was left in English; the page matches poorly for searches in that language.
- Meta description not translated
yerellestirilmemis-metaThe description is the same as another language version's or was left in English; foreign-language text shows in search results.
- html lang conflicts with hreflang
dil-kodu-celiskiThe page states its own language differently in two places; Google cannot know which one to trust.
#Internal links
- Broken internal link
ic-baglanti-kirikThe page links to an address that returns 4xx/5xx.
- Internal link to a redirect
ic-baglanti-yonlendirmeEvery redirect uses up crawl budget; the link should point to the final address.
- Orphan page
yetimIt is in the sitemap but no page links to it; Google treats it as unimportant.
- Broken link in the menu/template
sablon-kirik-baglantiMost pages link to a broken target; it comes from the template, such as the menu, header or footer. It is fixed in one place, and the 'broken internal link' findings on all pages go away together.
- Link to a redirect in the menu/template
sablon-yonlendirme-baglantiMost pages link to an address that redirects (menu, header or footer). It is fixed in one place by changing the link to the final address.
- Page with a single internal link
tek-ic-baglantiIt receives a link from only one page; more internal links help it rank.
- Internal link is nofollow
nofollow-ic-baglantiInfo: a nofollow link to your own pages passes no value. Links marked sponsored/ugc (intentional) and external links are not counted.
- Deep page (>3 clicks)
derin-sayfaPages far from the home page are crawled less often and receive less value.
- Generic link text
jenerik-baglanti-metniInfo: texts such as 'click here' or 'read more' do not tell Google what the target page is about.
#Sitemap
- Not in the sitemap
harita-disiAn indexable page is missing from the sitemap; Google may take longer to find it.
- Broken address in the sitemap
harita-4xx-5xxThe sitemap should contain only addresses that return 200 and can be indexed.
- Redirecting address in the sitemap
harita-3xxThe sitemap should list the final address, not the one that redirects.
- noindex page in the sitemap
harita-noindexConflicting signal: the sitemap says 'index it', the page says 'do not index'.
- Non-canonical address in the sitemap
harita-kanonik-degilThe sitemap should contain only canonical addresses.
- Sitemap cannot be read
harita-erisilemiyorThe sitemap declared in robots.txt returns 404/5xx; Google cannot discover pages this way.
- Sitemap is not valid XML
harita-xml-bozukA broken sitemap cannot be read by Google, or is read only in part.
- Sitemap exceeds the limit
harita-boyutA single sitemap can hold at most 50,000 addresses and 50 MB; the excess is ignored, so it should be split into a sitemap index.
- lastmod is the same everywhere in the sitemap
harita-lastmod-ayniInfo: Google does not trust a lastmod that does not give real modification dates and ignores it.
- http:// address in the sitemap
harita-http-adresAn http address in the sitemap when the site is https causes redirect and duplicate problems.
- Other domain in the sitemap
harita-baska-alanA sitemap may contain only addresses of its own domain; the others are ignored.
#Status
- Server error (5xx)
durum-5xxGoogle drops a page that returns errors from its index; if it keeps happening, it also lowers the crawl rate.
- Page not found (4xx)
durum-4xxVisitors and Google land on an empty page, and the value of every link pointing to this address is wasted.
- Redirect (3xx)
durum-3xxNot a problem on its own, but internal links and the sitemap should point straight to the final address.
- No response received
istek-basarisizA timeout or connection error; the server may be slow or unreachable.
- Empty response (200, 0 bytes)
bos-yanitThe server returns a success code but the page has nothing in it; Google may treat this as a 'soft 404'. The page should either exist or return 404. Missing title/description/H1 for the same page is not reported separately.
#Images
- Image has no alt text
gorsel-alt-yokIn image search and for screen readers it is unclear what the image shows. (alt="" counts as decorative and is not a finding.)
- Image has no width/height
gorsel-boyut-yokThe page can shift when the image loads (CLS); the browser cannot reserve space. Images whose space is reserved with an overlay class (absolute inset-0) or aspect-* are not counted.
- Images are not WebP/AVIF
gorsel-eski-bicim-ozetiModern formats are noticeably smaller at the same quality, so the page opens faster. The server or image pipeline should produce WebP/AVIF.
- Large image (>200 KB)
gorsel-buyukIt slows down page loading and uses mobile data.
- Very large image (>500 KB)
gorsel-cok-buyukIt seriously reduces page speed (LCP); it should be compressed or made smaller.
- Image size summary
gorsel-boyut-ozetiInfo: total and largest sizes of the site's unique images, measured with HEAD requests.
- First image is lazy-loaded
ilk-gorsel-lazyIf loading=lazy is set on an image at the top of the screen, the largest content (LCP) loads late.
#Structured data
- JSON-LD is broken
jsonld-bozukStructured data that cannot be parsed is ignored entirely by Google.
- JSON-LD @context missing
jsonld-baglamWithout @context https://schema.org the markup is not recognized as a schema.
- JSON-LD @type missing
jsonld-tip-yokAn entity with no type is not used, because it is unclear which rich result it qualifies for.
- Placeholder text in JSON-LD
jsonld-yer-tutucuValues such as lorem ipsum / TODO / example.com were left over from the template; they publish wrong information.
- Relative address in JSON-LD
jsonld-goreli-adresurl/image/logo fields must be absolute addresses; a relative address fails validation.
- Schema types that no longer give rich results
jsonld-kalkmis-tip-ozetiInfo: these types no longer give rich results on Google. Harmless; there is no need to remove them.
- Open Graph tag missing
og-eksikThe title/image of a link shared on social networks and messengers comes out broken or random.
- og:url differs from the page address
og-url-farkliShares and likes are recorded against the wrong address; usually a mistake left over from the template.
- twitter:card missing
twitter-card-yokInfo: no large-image card appears when shared on X/Twitter.
#Technical
- robots.txt server error
robots-5xxIf robots.txt returns 5xx, Google may stop crawling the site.
- robots.txt missing
robots-yokNot required, but crawl rules and the sitemap cannot be declared.
- robots.txt could not be read
robots-okunamadirobots.txt could not be reached; the rules could not be checked.
- Googlebot blocked from the whole site
robots-googlebot-engellirobots.txt blocks the root directory; the site will not appear on Google. A development setting may have been left in place.
- No Sitemap line in robots.txt
robots-sitemap-yokThis line is the easiest way for search engines to find the sitemap.
- AI bots blocked
robots-ai-engelliInfo: these bots cannot read your site, so you appear less in AI answers. It may be a deliberate choice.
- CSS/JS blocked by robots.txt
robots-css-js-engelliGoogle cannot render the page visually; mobile friendliness and content may be judged wrongly.
- Redirect chain (≥2 hops)
yonlendirme-zinciriEvery hop slows things down and uses crawl budget; link value can shrink with each hop.
- Redirect loop
yonlendirme-dongusuThe page never opens; visitors and Google see an error.
- http version does not redirect to https
http-https-yonlendirme-yokThe same content is live at two addresses; ranking signals are split and visitors stay on the insecure version.
- Main address redirect chain
ana-adres-zinciriVisitors and Google reach the home page through several hops; dropping from https to http causes a security warning and loses link value.
- Main address goes to another site
baslangic-dis-yonlendirmeThe domain you entered redirects to another site; there are no or very few pages to crawl on this domain.
- Crawl was run on the canonical domain
baslangic-kanonik-gecisThe domain you entered opens, but its pages declare the www or non-www version as canonical; the crawl was run on the domain Google will index.
- http→https takes more than one hop
http-https-zincirThe first visit is needlessly slow; a single 301 is enough.
- www / bare domain does not redirect
www-yonlendirme-yokThe site is live on two domains at once; risk of duplicate content and split signals.
- Viewport meta missing
viewport-yokOn mobile the page opens at desktop width; Google indexes mobile-first.
- HTML exceeds 2 MB
html-buyukGooglebot processes only the first 2 MB of HTML; content and links after that are not seen.
- Page redirects with a script
istemci-yonlendirmeInfo: a page with no content sends visitors to another address with JavaScript (location.replace). A server-side 301/302 is more reliable for bots and link value.
- No content in raw HTML (JS shell)
js-kabukIf content arrives only through JavaScript, bots and AI crawlers see an empty page. Reported only when the body is just an empty app root or has no text at all; short pages with real text get 'thin content' instead.
- Server response time distribution
yanit-suresi-ozetiSite-wide: median and 90th percentile response time. It is a pattern, not a momentary fluctuation on one page; slow pages are re-measured before judging.
- Render-blocking script
render-engelleyen-scriptScripts in <head> without async/defer delay the page from appearing (LCP).
- Slow server response (TTFB)
yavas-yanitA slow server lowers both the user experience and Google's crawl rate.
- Long address (>100 characters)
url-uzunLong addresses are hard to share and read, and are cut off in search results.
- Uppercase letters in the address
url-buyuk-harf/Page and /page can count as different addresses; risk of duplicate content.
- Underscore in the address
url-alt-cizgiGoogle prefers hyphens as word separators; underscores join words together.
- Parameterized address can be indexed
url-parametreliParameterized addresses can duplicate the same content; the canonical should point to the main address.
- Inconsistent trailing slash
sonda-egik-cizgi-tutarsizThe same page opens separately at /a and /a/; one should redirect to the other.
#Security
- Folder file listing is public
dizin-listesi-acikThe server shows every file in the folder with an 'Index of /…' page; backups, configuration or private files may leak. Turn directory listing off (Options -Indexes) or put an index page in the folder.
- Shared http resource (mixed content)
sablon-karisik-icerikThe same http:// resource (an image, ad or embedded map in the template) is loaded on many https pages. It is fixed in one place, and the 'mixed content' findings on those pages go away together.
- Mixed content (http resource)
karisik-icerikAn https page loads an http:// resource; the browser may block it or show a 'not secure' warning.
- HSTS header missing
baslik-hsts-yokThe browser does not learn to always connect to the site over https; the first visit can fall back to http.
- X-Content-Type-Options missing
baslik-xcto-yokThe browser may guess the file type; 'nosniff' turns this off.
- Referrer-Policy missing
baslik-referrer-yokThe full page address (including parameters) can be passed on when visitors go to other sites.
- Content-Security-Policy missing
baslik-csp-yokInfo: an extra layer of protection against XSS attacks is missing. It does not directly affect SEO.
#Crawl
- Hit a rate limit
tarama-hiz-siniriThe server returned 429. This is not a problem with your site but with the crawler; these pages could not be checked.
- Crawl stopped at the page limit
tarama-sinira-takildiInfo: part of the site was not crawled; the numbers in the report do not reflect the whole site.
#Content
- Thin content (<200 words)
ince-icerikPages with little text rank poorly. On helper pages such as contact, privacy, tags and cart it is reported as info (being short is natural); another deliberately short page can be marked 'intentional'.