Website SEO audit

What does a machine find on a sample of up to ten pages of this website, chosen the same way every time?

Baca dalam bahasa Indonesia

For example yourbusiness.com

The checker runs in your browser with JavaScript, which is off here. To have a person look at the page instead: Request a Search Presence Review

The report is kept for 24 hours, and only this browser can open it. How scans are handled

Want a person to read it? Request a Search Presence Review Know what needs changing? Discuss your project

A white card model of a building: the finished front on the left, the same building cut open on the right, every floor, stair and room in view.

What it checks

The audit reads the site’s robots.txt and sitemaps, then up to ten of its pages, as a crawler would: 65 checks in three groups, some made once for the site and the rest on each page inspected. Where each canonical leads, and whether each language version names its page back, are checked against the pages in the sample, which holds the canonical and up to three language versions of the page you enter.

All 65 checks

Surface

How the address answers, and where it leads.

  • The answer the address gives If the page answers with an error, Google can drop it from its search results.
  • Redirects before the page Each redirect is a detour on the way to the page, and too many make Google give up.
  • HTTPS for the page Without HTTPS, visits are not encrypted, and Google prefers the secure version of a page.
  • The answer each version gives Each language version must open as itself; an error or a redirect makes Google skip it.
  • The viewport meta tag Without this tag, phones show the page shrunk to desktop width, and it is hard to read.
  • The site’s http address Once for the site If the http address does not redirect to https, visits are not encrypted and Google finds two addresses for one page.

Structure

The tags and headers a crawler reads.

  • Permanent or temporary redirects After a temporary redirect, Google keeps showing the old address in its results.
  • The rules in robots tags and headers Google ignores robots rules it does not know, and one may be a typo for the rule you meant.
  • A canonical declaration Without a canonical, Google picks for itself which address of the page to show.
  • Agreement between canonical declarations Two different main addresses for one page leave Google to guess which one you mean.
  • Canonical declarations in the head Google ignores a canonical that stands outside the head, the top part of the page’s code.
  • Valid canonical addresses A canonical that is not a real web address points Google nowhere.
  • Canonical addresses written in full A short canonical address can point to the wrong place later; a full address is safer.
  • HTTPS in the canonical address A canonical that points to the http address asks Google to prefer the unencrypted version.
  • Content added by scripts Once for the site Content that scripts add later may be read late, or not at all, by some search engines.
  • The structured data declared Structured data is a description of the page written for search engines, such as opening hours or prices.
  • JSON-LD that parses One typo in the structured data makes search engines skip the whole block.
  • The schema.org context Search engines need to know the structured data uses schema.org’s vocabulary, or they may ignore it.
  • A type for every item Each item in the structured data must say what it is, such as a business or a product.
  • Types that schema.org defines A type that schema.org does not define, often a typo, means nothing to Google.
  • Properties that schema.org defines A detail with a name schema.org does not define, often a typo, is not read by Google.
  • Properties on the types that expect them Some details sit on an item that usually does not carry them, so they may be in the wrong place.
  • RDFa on the page RDFa is another way to write structured data; this check only counts it.
  • The language versions declared Language tags tell Google which version of the page to show to people in each language.
  • Language and region codes Google ignores language versions marked with codes it does not support.
  • Full addresses for the versions Each language version must be named by its full web address, or Google cannot use it.
  • This page among its versions Each page should also name itself among its language versions, as Google asks.
  • One address for each code One language with two addresses leaves Google unsure which one to show.
  • A version for every other language A default version tells Google what to show people whose language you do not cover.
  • hreflang links in the head Google ignores language tags that stand outside the head, the top part of the page’s code.
  • The same set on every version Every language version should name the same set of versions, so Google sees one clear group.
  • What the page tells AI features in search What this page’s own tags let AI features in Google and Bing use.
  • The page’s title Without a title, Google has to make up the headline people see in its results.
  • The page’s meta description A description gives Google a summary it may show under your link.
  • A different title on each page Once for the site When pages share a title, people cannot tell them apart in search results.
  • A different description on each page Once for the site The same description on many pages does not help people pick the right one.

Presence

Permission to crawl and index, and the sitemap.

  • The site’s robots.txt file Once for the site robots.txt is the file of rules for search engines; if it answers with an error, Google can pause crawling the whole site.
  • The size of robots.txt Once for the site Google reads only the first 500 KB of robots.txt and ignores the rest.
  • robots.txt for Googlebot If robots.txt blocks Google’s crawler, Google cannot read this page.
  • robots.txt for Bingbot Once for the site If robots.txt blocks Bing’s crawler, Bing cannot read this page.
  • The robots meta tag A noindex tag asks Google not to show the page in its search results at all.
  • The X-Robots-Tag header A noindex in the page’s headers asks Google not to show it in its search results at all.
  • Noindex behind a robots.txt block Google cannot see a noindex on a page it may not visit, so the page can still show up.
  • Where the canonical points The address this page names as its main one; Google takes it as a hint.
  • The answer the canonical address gives The main address this page names must open properly, or Google may not show it.
  • A canonical address that can be indexed If the main address this page names is blocked or marked noindex, Google may not show it.
  • The canonical’s own canonical If the main address names yet another address as its own, Google gets mixed messages.
  • Noindex together with another canonical Saying “do not show this page” and “show that one instead” at once sends Google mixed signals.
  • A sitemap named in robots.txt Once for the site A sitemap is a list of your pages for search engines, and robots.txt is where they look for it.
  • The sitemap files Once for the site A sitemap that cannot be read does not help search engines find your pages.
  • This page in the sitemap Pages you want in Google belong in your sitemap, the list of pages for search engines.
  • Sitemap entries for excluded pages Listing a page in the sitemap while it asks not to be shown sends Google mixed signals.
  • The properties Google requires Without the details Google requires, the page cannot get a richer look in search results.
  • The properties Google recommends Adding the details Google recommends can make a richer look in search results more likely.
  • Values in the form Google documents Dates, prices and links written in another form than Google documents may not be used.
  • Google features that are limited or retired Google has retired some of its richer search looks, and limits others to certain sites.
  • Links back from the other versions Language versions must point back to each other, or Google ignores the pair.
  • Versions that are their own canonical A language version that names another page as its main one asks Google to show that page instead.
  • Versions Google may crawl and index A language version that is blocked from Google, or marked noindex, cannot be shown to its readers.
  • This page as its own canonical If this page names another page as its main one, Google may show that page instead.
  • robots.txt for AI search and answer crawlers Once for the site If AI search crawlers are blocked, AI services such as ChatGPT search may leave your pages out of their answers.
  • robots.txt for AI model training Once for the site Whether AI companies may use your pages to train their models is your choice, made in robots.txt.
  • robots.txt for fetches a person asks for Once for the site AI assistants fetch a page when someone asks them to, and robots.txt may not stop them.
  • Names of AI crawlers in robots.txt Once for the site A misspelt or retired crawler name in robots.txt matches no crawler, so its rules apply to no one.
  • The domain with and without www Once for the site If the site opens both with and without www, Google may show the one you do not prefer.

Example

A real check of tulus.studio, made on 23 October 2026.

The example report

Report: https://tulus.studio/

Checked
23 October 2026, 19:05 WIB

10 of 10 pages inspected. 43 applicable checks ran; 1 not tested.

Nothing to fix.

The checks in each group
  • Surface:

    5 passed

    How the address answers, and where it leads.

  • Structure:

    22 passed

    The tags and headers a crawler reads.

  • Presence:

    16 passed

    Permission to crawl and index, and the sitemap.

Each piece of a ring is one check, placed by its worst result on the pages inspected.

  • Passed
  • Warning
  • Error
Each page inspected, by kind of check

Each mark is the worst result of that kind of check on that page. A mark in a box leads to its check below.

Answer Crawl and index Canonical Sitemap Title and description On phones Structured data Language versions
Page 1, / Passed Passed Passed Passed Passed Passed Passed Does not apply
Page 2, /search-presence-engineering Passed Passed Passed Passed Passed Passed Passed Does not apply
Page 3, /id/jasa-perawatan-website Passed Passed Passed Passed Passed Passed Passed Passed
Page 4, /work Passed Passed Passed Passed Passed Passed Passed Does not apply
Page 5, /id/tools/cek-schema-markup Passed Passed Passed Passed Passed Passed Passed Passed
Page 6, /insights Passed Passed Passed Passed Passed Passed Passed Does not apply
Page 7, /seo Passed Passed Passed Passed Passed Passed Passed Does not apply
Page 8, /tools Passed Passed Passed Passed Passed Passed Passed Passed
Page 9, /work/anugrah-embroidery Passed Passed Passed Passed Passed Passed Passed Does not apply
Page 10, /about Passed Passed Passed Passed Passed Passed Passed Does not apply
Page 1, / Page 2, /search-presence-engineering Page 3, /id/jasa-perawatan-website Page 4, /work Page 5, /id/tools/cek-schema-markup Page 6, /insights Page 7, /seo Page 8, /tools Page 9, /work/anugrah-embroidery Page 10, /about
Answer Passed Passed Passed Passed Passed Passed Passed Passed Passed Passed
Crawl and index Passed Passed Passed Passed Passed Passed Passed Passed Passed Passed
Canonical Passed Passed Passed Passed Passed Passed Passed Passed Passed Passed
Sitemap Passed Passed Passed Passed Passed Passed Passed Passed Passed Passed
Title and description Passed Passed Passed Passed Passed Passed Passed Passed Passed Passed
On phones Passed Passed Passed Passed Passed Passed Passed Passed Passed Passed
Structured data Passed Passed Passed Passed Passed Passed Passed Passed Passed Passed
Language versions Does not apply Does not apply Passed Does not apply Passed Does not apply Does not apply Passed Does not apply Does not apply
  • Passed
  • Warning
  • Error
  • Could not be checked
  • Does not apply
The pages in the sample

At most 10 pages, chosen the same way every time: the address you entered, the home page, the page it names as canonical and up to 3 of its language versions, then pages linked from it and addresses listed in the sitemaps, taken in turn.

Page Why it is in the sample What it answered What failed on it
1 / TULUS — Search Presence Engineering studio in Bandung Why it is in the sample The address you entered What it answered 200 OK What failed on it No errors or warnings
2 /search-presence-engineering Search Presence Engineering: from found to chosen — TULUS Why it is in the sample Linked from the page you entered What it answered 200 OK What failed on it No errors or warnings
3 /id/jasa-perawatan-website Jasa Perawatan Website Bandung: maintenance website — TULUS Why it is in the sample Listed in the sitemap /sitemap-0.xml What it answered 200 OK What failed on it No errors or warnings
4 /work Work: case studies in web development and SEO — TULUS Why it is in the sample Linked from the page you entered What it answered 200 OK What failed on it No errors or warnings
5 /id/tools/cek-schema-markup Cek schema markup: memenuhi syarat rich result atau tidak — TULUS Why it is in the sample Listed in the sitemap /sitemap-0.xml What it answered 200 OK What failed on it No errors or warnings
6 /insights Insights: notes from the work — TULUS Why it is in the sample Linked from the page you entered What it answered 200 OK What failed on it No errors or warnings
7 /seo SEO services: technical, on-page, content, reporting — TULUS Why it is in the sample Listed in the sitemap /sitemap-0.xml What it answered 200 OK What failed on it No errors or warnings
8 /tools Search Intelligence: free technical SEO tools — TULUS Why it is in the sample Linked from the page you entered What it answered 200 OK What failed on it No errors or warnings
9 /work/anugrah-embroidery Anugrah Mandiri: a website for an embroidery workshop — TULUS Why it is in the sample Listed in the sitemap /sitemap-0.xml What it answered 200 OK What failed on it No errors or warnings
10 /about About the studio: Search Presence Engineering in Bandung — TULUS Why it is in the sample Linked from the page you entered What it answered 200 OK What failed on it No errors or warnings

34 more addresses were found and left out of the sample.

The site’s other addresses

Over plain http http://tulus.studio/
301 to https://tulus.studio/
With www https://www.tulus.studio/
301 to https://tulus.studio/

Surface

5 of 5 checks passed on every page inspected

How the address answers, and where it leads.

6 checks with nothing to fix
The answer the address gives

Passedon 10 of 10 pages Observed

  • The address, after any redirects, answered with a success status (2xx).
More about this check
Why it matters
Google considers a page for indexing when it answers 2xx, though indexing is not certain even then. Google does not index an address that answers 4xx, and drops one that keeps answering 5xx.
How to check it
Run curl -IL with the address and read the status of the last answer. In Search Console, a live test of the final address in URL Inspection shows whether Google could fetch it.

Official documentation: How HTTP status codes affect Google’s crawlers

Evidence from 10 pages

1 / Passed

  1. Answer https://tulus.studio/

    200 OK

2 /search-presence-engineering Passed

  1. Answer https://tulus.studio/search-presence-engineering

    200 OK

3 /id/jasa-perawatan-website Passed

  1. Answer https://tulus.studio/id/jasa-perawatan-website

    200 OK

4 /work Passed

  1. Answer https://tulus.studio/work

    200 OK

5 /id/tools/cek-schema-markup Passed

  1. Answer https://tulus.studio/id/tools/cek-schema-markup

    200 OK

6 /insights Passed

  1. Answer https://tulus.studio/insights

    200 OK

7 /seo Passed

  1. Answer https://tulus.studio/seo

    200 OK

8 /tools Passed

  1. Answer https://tulus.studio/tools

    200 OK

9 /work/anugrah-embroidery Passed

  1. Answer https://tulus.studio/work/anugrah-embroidery

    200 OK

10 /about Passed

  1. Answer https://tulus.studio/about

    200 OK
Redirects before the page

Passedon 10 of 10 pages Observed

  • The address led to the page directly or through no more than three redirects.
More about this check
Why it matters
Google advises redirecting straight to the final address; failing that, ideally no more than 3 hops and fewer than 5. Its crawlers follow up to 10; Search Console reports a chain too long, or a loop, as a redirect error.
How to check it
Run curl -IL with the address: it prints each answer in turn, and only the last should be 200.

Official documentation: Redirects and Google Search

Evidence from 10 pages

1 / Passed

  1. Answer https://tulus.studio/

    200 OK

2 /search-presence-engineering Passed

  1. Answer https://tulus.studio/search-presence-engineering

    200 OK

3 /id/jasa-perawatan-website Passed

  1. Answer https://tulus.studio/id/jasa-perawatan-website

    200 OK

4 /work Passed

  1. Answer https://tulus.studio/work

    200 OK

5 /id/tools/cek-schema-markup Passed

  1. Answer https://tulus.studio/id/tools/cek-schema-markup

    200 OK

6 /insights Passed

  1. Answer https://tulus.studio/insights

    200 OK

7 /seo Passed

  1. Answer https://tulus.studio/seo

    200 OK

8 /tools Passed

  1. Answer https://tulus.studio/tools

    200 OK

9 /work/anugrah-embroidery Passed

  1. Answer https://tulus.studio/work/anugrah-embroidery

    200 OK

10 /about Passed

  1. Answer https://tulus.studio/about

    200 OK
HTTPS for the page

Passedon 10 of 10 pages Observed

  • The page is served over HTTPS.
More about this check
Why it matters
Google recommends HTTPS to protect visitors’ security and privacy, and when a page has both an http and an https address, Google prefers to index the https one.
How to check it
Open the page and check that its address starts with https and the browser shows no security warning. Search Console’s HTTPS report counts the indexed addresses still on http.

Official documentation: Understanding page experience in Google Search results

Evidence from 10 pages

1 / Passed

  1. Address https://tulus.studio/

    https://tulus.studio/

2 /search-presence-engineering Passed

  1. Address https://tulus.studio/search-presence-engineering

    https://tulus.studio/search-presence-engineering

3 /id/jasa-perawatan-website Passed

  1. Address https://tulus.studio/id/jasa-perawatan-website

    https://tulus.studio/id/jasa-perawatan-website

4 /work Passed

  1. Address https://tulus.studio/work

    https://tulus.studio/work

5 /id/tools/cek-schema-markup Passed

  1. Address https://tulus.studio/id/tools/cek-schema-markup

    https://tulus.studio/id/tools/cek-schema-markup

6 /insights Passed

  1. Address https://tulus.studio/insights

    https://tulus.studio/insights

7 /seo Passed

  1. Address https://tulus.studio/seo

    https://tulus.studio/seo

8 /tools Passed

  1. Address https://tulus.studio/tools

    https://tulus.studio/tools

9 /work/anugrah-embroidery Passed

  1. Address https://tulus.studio/work/anugrah-embroidery

    https://tulus.studio/work/anugrah-embroidery

10 /about Passed

  1. Address https://tulus.studio/about

    https://tulus.studio/about
The viewport meta tag

Passedon 10 of 10 pages Observed

  • The page has a viewport meta tag that sets width or initial-scale.
More about this check
Why it matters
Without a viewport meta tag, mobile browsers lay the page out at a desktop width, usually about 980 pixels, and scale it down, so the text is hard to read. Google lists the tag among the meta tags it supports and says its presence tells Google the page is mobile friendly.
How to check it
View the page source and search for viewport: the tag’s content should include width=device-width. Then open the page on a phone and check that the text can be read without zooming in.

Official documentation: Meta tags and attributes that Google supports

Evidence from 10 pages

1 / Passed

  1. HTML https://tulus.studio/ line 1, column 140

    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">

2 /search-presence-engineering Passed

  1. HTML https://tulus.studio/search-presence-engineering line 1, column 140

    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">

3 /id/jasa-perawatan-website Passed

  1. HTML https://tulus.studio/id/jasa-perawatan-website line 1, column 140

    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">

4 /work Passed

  1. HTML https://tulus.studio/work line 1, column 140

    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">

5 /id/tools/cek-schema-markup Passed

  1. HTML https://tulus.studio/id/tools/cek-schema-markup line 1, column 140

    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">

6 /insights Passed

  1. HTML https://tulus.studio/insights line 1, column 140

    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">

7 /seo Passed

  1. HTML https://tulus.studio/seo line 1, column 140

    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">

8 /tools Passed

  1. HTML https://tulus.studio/tools line 1, column 140

    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">

9 /work/anugrah-embroidery Passed

  1. HTML https://tulus.studio/work/anugrah-embroidery line 1, column 140

    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">

10 /about Passed

  1. HTML https://tulus.studio/about line 1, column 140

    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
The site’s http address

PassedOnce for the site Observed

The http address of the site’s home page answered 301 and redirects to https://tulus.studio/.

More about this check
Why it matters
When the http address shows a page instead of redirecting, the visit is not encrypted and search engines find two addresses for one page. Google prefers the https page as canonical, names a redirect from http to https as one way to make sure of it, and strongly recommends HTTPS to protect visitors’ security and privacy.
How to check it
Run curl -I with the site’s address written with http://: the answer should be 301 or 308, with a Location that starts with https://.

Official documentation: How to specify a canonical URL with rel="canonical" and other methods

Evidence

  1. Answer http://tulus.studio/

    301 → https://tulus.studio/
The answer each version gives

Not applicableon 7 of 10 pages Observed

  • The page names no other version, or did not answer 2xx, so there is no version to ask.
  • 3 /id/jasa-perawatan-website, 5 /id/tools/cek-schema-markup, 8 /tools The address it needs is not among the pages in the sample, and the audit fetches nothing outside it.
More about this check
Why it matters
Each version named should answer with the page itself. Google ignores the content of an address that redirects and processes the target instead, and does not index an address that answers 4xx. Google also advises against automatically redirecting visitors from one language version to another.
How to check it
Run curl -I with each version’s address: it should answer 200, with no Location header.

Official documentation: Tell Google about localized versions of your page

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

Structure

22 of 22 checks passed on every page inspected

The tags and headers a crawler reads.

29 checks with nothing to fix
The structured data declared

Informationon 10 of 10 pages Observed

  • 1 / Items declared: 3. JSON-LD blocks: 1. Microdata items: 0. Elements with RDFa: 0.
  • 2 /search-presence-engineering, 3 /id/jasa-perawatan-website, 7 /seo, 9 /work/anugrah-embroidery Items declared: 5. JSON-LD blocks: 1. Microdata items: 0. Elements with RDFa: 0.
  • 4 /work, 5 /id/tools/cek-schema-markup, 6 /insights, 8 /tools, 10 /about Items declared: 4. JSON-LD blocks: 1. Microdata items: 0. Elements with RDFa: 0.
More about this check
Why it matters
Google uses structured data to understand the content of a page and, for the features it supports, to show the page with a richer appearance in search results, called a rich result. This check reads the HTML the server sends, so structured data that a script adds later is not counted here.
How to check it
Test the page in Google’s Rich Results Test, which looks at the page after its scripts have run, and compare the items it finds with what is counted here.

Official documentation: Introduction to structured data markup in Google Search

Evidence from 10 pages

1 / Information

  1. HTML https://tulus.studio/ line 1, column 2,535

    <script type="application/ld+json">

2 /search-presence-engineering Information

  1. HTML https://tulus.studio/search-presence-engineering line 1, column 2,600

    <script type="application/ld+json">

3 /id/jasa-perawatan-website Information

  1. HTML https://tulus.studio/id/jasa-perawatan-website line 1, column 2,849

    <script type="application/ld+json">

4 /work Information

  1. HTML https://tulus.studio/work line 1, column 2,466

    <script type="application/ld+json">

5 /id/tools/cek-schema-markup Information

  1. HTML https://tulus.studio/id/tools/cek-schema-markup line 1, column 2,817

    <script type="application/ld+json">

6 /insights Information

  1. HTML https://tulus.studio/insights line 1, column 2,429

    <script type="application/ld+json">

7 /seo Information

  1. HTML https://tulus.studio/seo line 1, column 2,453

    <script type="application/ld+json">

8 /tools Information

  1. HTML https://tulus.studio/tools line 1, column 2,655

    <script type="application/ld+json">

9 /work/anugrah-embroidery Information

  1. HTML https://tulus.studio/work/anugrah-embroidery line 1, column 2,428

    <script type="application/ld+json">

10 /about Information

  1. HTML https://tulus.studio/about line 1, column 2,594

    <script type="application/ld+json">
The language versions declared

Informationon 10 of 10 pages Observed

  • 1 /, 2 /search-presence-engineering, 4 /work, 6 /insights, 7 /seo, 9 /work/anugrah-embroidery, 10 /about Language versions declared in link elements: 0. In the HTTP Link header: 0.
  • 3 /id/jasa-perawatan-website, 5 /id/tools/cek-schema-markup, 8 /tools Language versions declared in link elements: 3. In the HTTP Link header: 0.
More about this check
Why it matters
When a page has versions in other languages or for other regions, hreflang tells Google about each one, so that Google Search can link people to the right version. A page that exists in one language needs none.
How to check it
View the page source and search for hreflang. Run curl -I with the address to read any Link header.

Official documentation: Tell Google about localized versions of your page

Evidence from 3 pages

3 /id/jasa-perawatan-website Information

  1. HTML https://tulus.studio/id/jasa-perawatan-website line 1, column 567

    <link rel="alternate" hreflang="id" href="https://tulus.studio/id/jasa-perawatan-website">
  2. HTML https://tulus.studio/id/jasa-perawatan-website line 1, column 657

    <link rel="alternate" hreflang="en" href="https://tulus.studio/website-care">
  3. HTML https://tulus.studio/id/jasa-perawatan-website line 1, column 734

    <link rel="alternate" hreflang="x-default" href="https://tulus.studio/website-care">

5 /id/tools/cek-schema-markup Information

  1. HTML https://tulus.studio/id/tools/cek-schema-markup line 1, column 576

    <link rel="alternate" hreflang="id" href="https://tulus.studio/id/tools/cek-schema-markup">
  2. HTML https://tulus.studio/id/tools/cek-schema-markup line 1, column 667

    <link rel="alternate" hreflang="en" href="https://tulus.studio/tools/schema-validator">
  3. HTML https://tulus.studio/id/tools/cek-schema-markup line 1, column 754

    <link rel="alternate" hreflang="x-default" href="https://tulus.studio/tools/schema-validator">

8 /tools Information

  1. HTML https://tulus.studio/tools line 1, column 553

    <link rel="alternate" hreflang="id" href="https://tulus.studio/id/tools">
  2. HTML https://tulus.studio/tools line 1, column 626

    <link rel="alternate" hreflang="en" href="https://tulus.studio/tools">
  3. HTML https://tulus.studio/tools line 1, column 696

    <link rel="alternate" hreflang="x-default" href="https://tulus.studio/tools">
JSON-LD that parses

Passedon 10 of 10 pages Observed

  • Every JSON-LD block is valid JSON.
More about this check
Why it matters
A JSON-LD block must be valid JSON to be read at all. One missing comma, quote or bracket makes a JSON parser reject the whole block, with every item in it.
How to check it
Test the page again in Google’s Rich Results Test and check that it now finds the items of every block.

Official documentation: Introduction to structured data markup in Google Search

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

The schema.org context

Passedon 10 of 10 pages Observed

  • Every JSON-LD block names schema.org as its @context.
More about this check
Why it matters
The @context says which vocabulary a block’s types and properties come from. Google’s features use the schema.org vocabulary, and markup in the old data-vocabulary.org vocabulary is no longer eligible for Google’s rich results. schema.org says that both https://schema.org and http://schema.org are fine.
How to check it
View the page source, find each JSON-LD script, and read its @context near the top.

Official documentation: Introduction to structured data markup in Google Search

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

A type for every item

Passedon 10 of 10 pages Observed

  • Every item names its type.
More about this check
Why it matters
The type, written as @type in JSON-LD or itemtype in microdata, says what an item describes, such as a Product, an Event or a LocalBusiness. Google defines its features by type, so an item without one cannot belong to any of them.
How to check it
Find each item at the line shown in the page source, and check that it has an @type or an itemtype.

Official documentation: Introduction to structured data markup in Google Search

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

Language and region codes

Passedon 3 of 10 pages Observed

  • 1 /, 2 /search-presence-engineering, 4 /work, 6 /insights, 7 /seo, 9 /work/anugrah-embroidery, 10 /about The page declares no hreflang, or did not answer 2xx, so there is no code to check.

Passed on the other 3 pages.

More about this check
Why it matters
Google reads a language code from ISO 639-1, optionally followed by a region code from ISO 3166-1 alpha-2, such as en-GB. A region alone is not valid. Codes outside those lists, such as es-419, are not supported, and Google ignores a region code that is reserved for something else, such as UK or EU.
How to check it
Look each language up in ISO 639-1 and each region in ISO 3166-1 alpha-2, the two lists Google names.

Official documentation: Tell Google about localized versions of your page

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

Full addresses for the versions

Passedon 3 of 10 pages Observed

  • 1 /, 2 /search-presence-engineering, 4 /work, 6 /insights, 7 /seo, 9 /work/anugrah-embroidery, 10 /about The page declares no hreflang, or did not answer 2xx, so there is no address to check.

Passed on the other 3 pages.

More about this check
Why it matters
Google asks for every alternate address to be fully qualified, including http or https: https://example.com/foo, not //example.com/foo or /foo.
How to check it
In the page source, check that the address of every hreflang link starts with https://.

Official documentation: Tell Google about localized versions of your page

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

This page among its versions

Passedon 3 of 10 pages Observed

  • 1 /, 2 /search-presence-engineering, 4 /work, 6 /insights, 7 /seo, 9 /work/anugrah-embroidery, 10 /about The page declares no hreflang, or did not answer 2xx, so there is nothing to check.

Passed on the other 3 pages.

More about this check
Why it matters
Google asks that each language version list itself as well as all the other language versions.
How to check it
In the page source, find an hreflang link whose address is the page’s own full address.

Official documentation: Tell Google about localized versions of your page

Evidence from 3 pages

3 /id/jasa-perawatan-website Passed

  1. HTML https://tulus.studio/id/jasa-perawatan-website line 1, column 567

    <link rel="alternate" hreflang="id" href="https://tulus.studio/id/jasa-perawatan-website">

5 /id/tools/cek-schema-markup Passed

  1. HTML https://tulus.studio/id/tools/cek-schema-markup line 1, column 576

    <link rel="alternate" hreflang="id" href="https://tulus.studio/id/tools/cek-schema-markup">

8 /tools Passed

  1. HTML https://tulus.studio/tools line 1, column 626

    <link rel="alternate" hreflang="en" href="https://tulus.studio/tools">
  2. HTML https://tulus.studio/tools line 1, column 696

    <link rel="alternate" hreflang="x-default" href="https://tulus.studio/tools">
hreflang links in the head

Passedon 3 of 10 pages Observed

  • 1 /, 2 /search-presence-engineering, 4 /work, 6 /insights, 7 /seo, 9 /work/anugrah-embroidery, 10 /about The page has no link element with hreflang, or did not answer 2xx, so there is nothing to place.

Passed on the other 3 pages.

More about this check
Why it matters
Google asks for hreflang link elements inside a well-formed head. An element that does not belong in the head, such as an img or an iframe, ends it early for Google, which ignores the elements after it.
How to check it
In the page source, check that the hreflang links sit inside the head, with no img, iframe or other body element above them.

Official documentation: Tell Google about localized versions of your page

Evidence from 3 pages

3 /id/jasa-perawatan-website Passed

  1. HTML https://tulus.studio/id/jasa-perawatan-website line 1, column 567

    <link rel="alternate" hreflang="id" href="https://tulus.studio/id/jasa-perawatan-website">
  2. HTML https://tulus.studio/id/jasa-perawatan-website line 1, column 657

    <link rel="alternate" hreflang="en" href="https://tulus.studio/website-care">
  3. HTML https://tulus.studio/id/jasa-perawatan-website line 1, column 734

    <link rel="alternate" hreflang="x-default" href="https://tulus.studio/website-care">

5 /id/tools/cek-schema-markup Passed

  1. HTML https://tulus.studio/id/tools/cek-schema-markup line 1, column 576

    <link rel="alternate" hreflang="id" href="https://tulus.studio/id/tools/cek-schema-markup">
  2. HTML https://tulus.studio/id/tools/cek-schema-markup line 1, column 667

    <link rel="alternate" hreflang="en" href="https://tulus.studio/tools/schema-validator">
  3. HTML https://tulus.studio/id/tools/cek-schema-markup line 1, column 754

    <link rel="alternate" hreflang="x-default" href="https://tulus.studio/tools/schema-validator">

8 /tools Passed

  1. HTML https://tulus.studio/tools line 1, column 553

    <link rel="alternate" hreflang="id" href="https://tulus.studio/id/tools">
  2. HTML https://tulus.studio/tools line 1, column 626

    <link rel="alternate" hreflang="en" href="https://tulus.studio/tools">
  3. HTML https://tulus.studio/tools line 1, column 696

    <link rel="alternate" hreflang="x-default" href="https://tulus.studio/tools">
Canonical declarations in the head

Passedon 10 of 10 pages Observed

  • Every canonical link element sits inside the head of the page.
More about this check
Why it matters
Google accepts a canonical link element only in the head. An element that does not belong there, such as an img or an iframe, ends the head early for Google, which ignores what follows.
How to check it
In the page source, check that the canonical sits inside the head, with no img, iframe or other body element above it.

Official documentation: How to specify a canonical URL with rel="canonical" and other methods

Evidence from 10 pages

1 / Passed

  1. HTML https://tulus.studio/ line 1, column 487

    <link rel="canonical" href="https://tulus.studio/">

2 /search-presence-engineering Passed

  1. HTML https://tulus.studio/search-presence-engineering line 1, column 493

    <link rel="canonical" href="https://tulus.studio/search-presence-engineering">

3 /id/jasa-perawatan-website Passed

  1. HTML https://tulus.studio/id/jasa-perawatan-website line 1, column 491

    <link rel="canonical" href="https://tulus.studio/id/jasa-perawatan-website">

4 /work Passed

  1. HTML https://tulus.studio/work line 1, column 492

    <link rel="canonical" href="https://tulus.studio/work">

5 /id/tools/cek-schema-markup Passed

  1. HTML https://tulus.studio/id/tools/cek-schema-markup line 1, column 499

    <link rel="canonical" href="https://tulus.studio/id/tools/cek-schema-markup">

6 /insights Passed

  1. HTML https://tulus.studio/insights line 1, column 477

    <link rel="canonical" href="https://tulus.studio/insights">

7 /seo Passed

  1. HTML https://tulus.studio/seo line 1, column 492

    <link rel="canonical" href="https://tulus.studio/seo">

8 /tools Passed

  1. HTML https://tulus.studio/tools line 1, column 497

    <link rel="canonical" href="https://tulus.studio/tools">

9 /work/anugrah-embroidery Passed

  1. HTML https://tulus.studio/work/anugrah-embroidery line 1, column 482

    <link rel="canonical" href="https://tulus.studio/work/anugrah-embroidery">

10 /about Passed

  1. HTML https://tulus.studio/about line 1, column 499

    <link rel="canonical" href="https://tulus.studio/about">
Valid canonical addresses

Passedon 10 of 10 pages Observed

  • Every canonical declaration names a valid http or https address.
More about this check
Why it matters
Google takes a canonical declaration as a signal that the address it names should become canonical. A value that is empty or is not an http or https address names no page to prefer.
How to check it
Read each canonical’s value in the page source, and any Link header with curl -I. Each should be a full address that opens the page.

Official documentation: How to specify a canonical URL with rel="canonical" and other methods

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

HTTPS in the canonical address

Passedon 10 of 10 pages Observed

  • The page is on https, and its declared canonical is an https address.
More about this check
Why it matters
Google prefers https pages as canonical, and lists an https page whose canonical names the http version among the conflicting signals that can override that preference.
How to check it
In the page source, check that the canonical starts with https://. Search Console’s HTTPS report counts the indexed addresses still on http.

Official documentation: How to specify a canonical URL with rel="canonical" and other methods

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

Types that schema.org defines

Passedon 10 of 10 pages Observed

  • Every type is one that schema.org defines (release 30.1).
More about this check
Why it matters
Google’s features are defined in schema.org’s vocabulary, so a type that schema.org does not define belongs to none of them. schema.org writes each name with exact capital letters, such as LocalBusiness, and an unknown type may be a misspelling of the one you meant.
How to check it
Look each type up on schema.org: a defined type has its own page, such as https://schema.org/LocalBusiness.

Official documentation: Full schema hierarchy

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

Properties that schema.org defines

Passedon 10 of 10 pages Observed

  • Every property is one that schema.org defines.
More about this check
Why it matters
Google’s features name their properties in schema.org’s vocabulary, so a property schema.org does not define is read by none of them. schema.org writes each name with exact capital letters, such as openingHoursSpecification, and an unknown property may be a misspelling of the one you meant.
How to check it
Open the schema.org page of the item’s type, such as https://schema.org/LocalBusiness, and find the property in its list.

Official documentation: Full schema hierarchy

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

The page’s title

Passedon 10 of 10 pages Observed

  • The page has a title in the HTML the server sent.
More about this check
Why it matters
People often choose which search result to open by its title link, which Google writes from several sources, the title element among them. Google asks for a title on each page, with text that describes that page.
How to check it
View the page source and find the first title element in the head: it should hold your text. Browsers show the same text on the page’s tab.

Official documentation: Influencing your title links in search results

Evidence from 10 pages

1 / Passed

  1. HTML https://tulus.studio/ line 1, column 228

    <title>TULUS — Search Presence Engineering studio in Bandung</title>

2 /search-presence-engineering Passed

  1. HTML https://tulus.studio/search-presence-engineering line 1, column 228

    <title>Search Presence Engineering: from found to chosen — TULUS</title>

3 /id/jasa-perawatan-website Passed

  1. HTML https://tulus.studio/id/jasa-perawatan-website line 1, column 228

    <title>Jasa Perawatan Website Bandung: maintenance website — TULUS</title>

4 /work Passed

  1. HTML https://tulus.studio/work line 1, column 228

    <title>Work: case studies in web development and SEO — TULUS</title>

5 /id/tools/cek-schema-markup Passed

  1. HTML https://tulus.studio/id/tools/cek-schema-markup line 1, column 228

    <title>Cek schema markup: memenuhi syarat rich result atau tidak — TULUS</title>

6 /insights Passed

  1. HTML https://tulus.studio/insights line 1, column 228

    <title>Insights: notes from the work — TULUS</title>

7 /seo Passed

  1. HTML https://tulus.studio/seo line 1, column 228

    <title>SEO services: technical, on-page, content, reporting — TULUS</title>

8 /tools Passed

  1. HTML https://tulus.studio/tools line 1, column 228

    <title>Search Intelligence: free technical SEO tools — TULUS</title>

9 /work/anugrah-embroidery Passed

  1. HTML https://tulus.studio/work/anugrah-embroidery line 1, column 228

    <title>Anugrah Mandiri: a website for an embroidery workshop — TULUS</title>

10 /about Passed

  1. HTML https://tulus.studio/about line 1, column 228

    <title>About the studio: Search Presence Engineering in Bandung — TULUS</title>
One address for each code

Passedon 3 of 10 pages Observed

  • 1 /, 2 /search-presence-engineering, 4 /work, 6 /insights, 7 /seo, 9 /work/anugrah-embroidery, 10 /about The page declares no hreflang, or did not answer 2xx, so there is nothing to compare.

Passed on the other 3 pages.

More about this check
Why it matters
Google describes one link for each version of the page. When one code names two addresses, the declaration does not say which of them is the version for that language or region.
How to check it
In the page source and any Link header, check that no hreflang value appears twice with different addresses.

Official documentation: Tell Google about localized versions of your page

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

The rules in robots tags and headers

Passedon 10 of 10 pages Observed

  • Every robots rule in the meta tags and X-Robots-Tag headers is on Google’s list of valid rules, or is index or follow.
More about this check
Why it matters
Google lists the robots rules it supports and names others it ignores, such as noarchive. A word outside its list has no documented effect, and it may be a misspelling of the rule you meant.
How to check it
Read the robots meta tags in the page source and the X-Robots-Tag headers with curl -I, and compare each word with Google’s list.

Official documentation: Robots meta tag, data-nosnippet, and X-Robots-Tag specifications

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

A canonical declaration

Passedon 10 of 10 pages Observed

  • The page declares a canonical address in its head or in a Link header.
More about this check
Why it matters
A canonical, in the head or a Link header, tells Google which address you prefer when a page can be reached at several. Google does not require one: without it, Google picks the version it judges best to show.
How to check it
View the page source and search for canonical. URL Inspection in Search Console shows the user-declared canonical and the one Google selected.

Official documentation: How to specify a canonical URL with rel="canonical" and other methods

Evidence from 10 pages

1 / Passed

  1. HTML https://tulus.studio/ line 1, column 487

    <link rel="canonical" href="https://tulus.studio/">

2 /search-presence-engineering Passed

  1. HTML https://tulus.studio/search-presence-engineering line 1, column 493

    <link rel="canonical" href="https://tulus.studio/search-presence-engineering">

3 /id/jasa-perawatan-website Passed

  1. HTML https://tulus.studio/id/jasa-perawatan-website line 1, column 491

    <link rel="canonical" href="https://tulus.studio/id/jasa-perawatan-website">

4 /work Passed

  1. HTML https://tulus.studio/work line 1, column 492

    <link rel="canonical" href="https://tulus.studio/work">

5 /id/tools/cek-schema-markup Passed

  1. HTML https://tulus.studio/id/tools/cek-schema-markup line 1, column 499

    <link rel="canonical" href="https://tulus.studio/id/tools/cek-schema-markup">

6 /insights Passed

  1. HTML https://tulus.studio/insights line 1, column 477

    <link rel="canonical" href="https://tulus.studio/insights">

7 /seo Passed

  1. HTML https://tulus.studio/seo line 1, column 492

    <link rel="canonical" href="https://tulus.studio/seo">

8 /tools Passed

  1. HTML https://tulus.studio/tools line 1, column 497

    <link rel="canonical" href="https://tulus.studio/tools">

9 /work/anugrah-embroidery Passed

  1. HTML https://tulus.studio/work/anugrah-embroidery line 1, column 482

    <link rel="canonical" href="https://tulus.studio/work/anugrah-embroidery">

10 /about Passed

  1. HTML https://tulus.studio/about line 1, column 499

    <link rel="canonical" href="https://tulus.studio/about">
Canonical addresses written in full

Passedon 10 of 10 pages Observed

  • Every canonical declaration is written as a full address.
More about this check
Why it matters
Google supports relative canonical addresses but recommends full ones, because a relative address can cause problems later, for example if a test copy of the site gets crawled.
How to check it
In the page source, check that each canonical value starts with https://.

Official documentation: How to specify a canonical URL with rel="canonical" and other methods

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

Properties on the types that expect them

Passedon 10 of 10 pages Observed

  • Every property is one that schema.org lists for its item’s type or one of the type’s parents.
More about this check
Why it matters
schema.org lists, for each property, the types it may be used on. Its own data model calls these associations closer to guidelines than formal rules, so this is not an error. It can show that a property sits on the wrong item, such as a price written on a Product instead of on its Offer.
How to check it
Open the property’s page on schema.org: the types it is used on should include the item’s type or one of its parents.

Official documentation: Data model

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

The page’s meta description

Passedon 10 of 10 pages Observed

  • The page has a meta description in the HTML the server sent.
More about this check
Why it matters
Google writes a snippet mainly from the page’s own content, and sometimes uses the meta description when it describes the page better. Google advises a description for each page, and at the very least for the home page and popular pages.
How to check it
View the page source and search for description: the meta tag’s content should hold your summary. Google still decides, search by search, whether to show it.

Official documentation: Control your snippets in search results

Evidence from 10 pages

1 / Passed

  1. HTML https://tulus.studio/ line 1, column 296

    <meta name="description" content="TULUS: Search Presence Engineering in Bandung, Indonesia. Web development, SEO and website care that help customers find, understand and choose a business.">

2 /search-presence-engineering Passed

  1. HTML https://tulus.studio/search-presence-engineering line 1, column 300

    <meta name="description" content="Search Presence Engineering by TULUS: the work that helps a business become found, understood, trusted and chosen, through its website, content and evidence.">

3 /id/jasa-perawatan-website Passed

  1. HTML https://tulus.studio/id/jasa-perawatan-website line 1, column 302

    <meta name="description" content="Jasa perawatan website dari TULUS, Bandung: apa yang kami periksa dan rawat, cara masalah ditangani, isi laporan bulanan, dan cara lingkupnya disepakati.">

4 /work Passed

  1. HTML https://tulus.studio/work line 1, column 296

    <meta name="description" content="Websites built by TULUS, each written up as a case study: the problem, the thinking, the surface, the structure, and results with the date of every measurement.">

5 /id/tools/cek-schema-markup Passed

  1. HTML https://tulus.studio/id/tools/cek-schema-markup line 1, column 308

    <meta name="description" content="Cek structured data di sebuah halaman, baik JSON-LD maupun microdata, atau tempel kode JSON-LD Anda: jenis setiap item dan properti yang diwajibkan Google.">

6 /insights Passed

  1. HTML https://tulus.studio/insights line 1, column 280

    <meta name="description" content="Notes from the work at TULUS on web development, technical SEO and performance, each measured on a real page and dated, and a practical guide to search presence.">

7 /seo Passed

  1. HTML https://tulus.studio/seo line 1, column 303

    <meta name="description" content="SEO from TULUS, Bandung: technical foundation, keyword strategy, content architecture, on-page work and search reporting, and why no ranking is promised.">

8 /tools Passed

  1. HTML https://tulus.studio/tools line 1, column 296

    <meta name="description" content="Free technical SEO tools from TULUS. Each reads what a machine can read on a public page or a website and shows the evidence behind every finding. No account needed.…

9 /work/anugrah-embroidery Passed

  1. HTML https://tulus.studio/work/anugrah-embroidery line 1, column 304

    <meta name="description" content="A bilingual website for an embroidery workshop in Bandung: its own photographs, edited; its name drawn as satin stitch; enquiries on WhatsApp.">

10 /about Passed

  1. HTML https://tulus.studio/about line 1, column 307

    <meta name="description" content="TULUS means sincere. A Search Presence Engineering studio in Bandung, Indonesia: what we believe about websites, and how that changes the way we build them.">
A version for every other language

Passedon 3 of 10 pages Observed

  • 1 /, 2 /search-presence-engineering, 4 /work, 6 /insights, 7 /seo, 9 /work/anugrah-embroidery, 10 /about The page declares no hreflang, or did not answer 2xx, so there is no x-default to look for.

Passed on the other 3 pages.

More about this check
Why it matters
The reserved value x-default names the page for visitors whose language settings match none of your versions. Google recommends it, and says it was designed for language selector pages and works best with those.
How to check it
In the page source, search for x-default.

Official documentation: Tell Google about localized versions of your page

Evidence from 3 pages

3 /id/jasa-perawatan-website Passed

  1. HTML https://tulus.studio/id/jasa-perawatan-website line 1, column 734

    <link rel="alternate" hreflang="x-default" href="https://tulus.studio/website-care">

5 /id/tools/cek-schema-markup Passed

  1. HTML https://tulus.studio/id/tools/cek-schema-markup line 1, column 754

    <link rel="alternate" hreflang="x-default" href="https://tulus.studio/tools/schema-validator">

8 /tools Passed

  1. HTML https://tulus.studio/tools line 1, column 696

    <link rel="alternate" hreflang="x-default" href="https://tulus.studio/tools">
A different title on each page

PassedOnce for the site Observed

The 10 pages inspected that have a title each have a different one.

More about this check
Why it matters
Google asks for distinct title text on each page: when pages share a title, people cannot tell them apart in search results, and Google may write their title links from other text. Pages outside the sample are not compared.
How to check it
Open each page listed and compare the titles on their browser tabs, or read the first title element in each page’s source.

Official documentation: Influencing your title links in search results

Evidence

Nothing to show: the finding rests on what is absent from the page.

A different description on each page

PassedOnce for the site Observed

The 10 pages inspected that have a meta description each have a different one.

More about this check
Why it matters
Google asks for a description that describes each specific page, and says identical or similar descriptions across a site are not helpful when its pages appear in search results. Pages outside the sample are not compared.
How to check it
View the source of each page listed, search for description, and compare the content of the meta tags.

Official documentation: Control your snippets in search results

Evidence

Nothing to show: the finding rests on what is absent from the page.

Agreement between canonical declarations

Not applicableon 10 of 10 pages Observed

  • The page did not answer 2xx, or it has fewer than two canonical declarations, so there is nothing to compare.
More about this check
Why it matters
Google advises against naming different canonical addresses for the same page, and warns that conflicting or multiple canonical tags may lead to unexpected results.
How to check it
Search the page source for canonical, and run curl -I with the address to read any Link header.

Official documentation: How to specify a canonical URL with rel="canonical" and other methods

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

Permanent or temporary redirects

Not applicableon 10 of 10 pages Observed

  • The address answered without a redirect, so there is no redirect to classify.
More about this check
Why it matters
Google Search shows the target of a permanent redirect in its results and takes the redirect as a signal that the target should be canonical. After a temporary redirect it shows the source address.
How to check it
Run curl -IL with the address and read the status of each redirect: 301 or 308 marks a permanent one.

Official documentation: Redirects and Google Search

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

The same set on every version

Not applicableon 7 of 10 pages Inferred

  • The page names no other version, or did not answer 2xx, so there is no set to compare.
  • 3 /id/jasa-perawatan-website, 5 /id/tools/cek-schema-markup, 8 /tools The address it needs is not among the pages in the sample, and the audit fetches nothing outside it.
More about this check
Why it matters
Google asks that the set of hreflang links be identical on every version of the page. If a complete set is hard to keep, Google allows leaving some languages out on some pages, and still uses the pairs that point to each other.
How to check it
Compare the hreflang links in the source of each version listed with those of this page.

Official documentation: Tell Google about localized versions of your page

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

RDFa on the page

Not applicableon 10 of 10 pages Observed

  • No element carries RDFa, so no RDFa item goes unchecked.
More about this check
Why it matters
Google supports structured data in three formats, JSON-LD, microdata and RDFa, and recommends JSON-LD where a site allows it. This check reads JSON-LD and microdata, and only counts RDFa.
How to check it
Test the page in Google’s Rich Results Test and read the items it finds.

Official documentation: Introduction to structured data markup in Google Search

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

What the page tells AI features in search

Not applicableon 10 of 10 pages Observed

  • The page’s robots meta tags and X-Robots-Tag headers carry none of the directives Google or Microsoft document for the AI features of their search.
More about this check
Why it matters
Google says nosnippet keeps a page’s content from being used as a direct input for AI Overviews and AI Mode and removes its snippet from every search result, and max-snippet limits both. Microsoft says noarchive keeps content out of Copilot’s responses and nocache limits Copilot to the address, title and snippet.
How to check it
View the page source for its robots meta tags, and run curl -I with the address to read any X-Robots-Tag lines. In Search Console, URL Inspection shows the HTML Googlebot received.

Official documentation: AI features and your website

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

Not tested (1)
  • Content added by scripts Not tested This needs a browser that runs the page’s scripts. The checker reads the HTML the server sends and runs nothing.

Presence

16 of 16 checks passed on every page inspected

Permission to crawl and index, and the sitemap.

29 checks with nothing to fix
Where the canonical points

Informationon 10 of 10 pages Observed

  • 1 / The declared canonical is https://tulus.studio/.
  • 2 /search-presence-engineering The declared canonical is https://tulus.studio/search-presence-engineering.
  • 3 /id/jasa-perawatan-website The declared canonical is https://tulus.studio/id/jasa-perawatan-website.
  • 4 /work The declared canonical is https://tulus.studio/work.
  • 5 /id/tools/cek-schema-markup The declared canonical is https://tulus.studio/id/tools/cek-schema-markup.
  • 6 /insights The declared canonical is https://tulus.studio/insights.
  • 7 /seo The declared canonical is https://tulus.studio/seo.
  • 8 /tools The declared canonical is https://tulus.studio/tools.
  • 9 /work/anugrah-embroidery The declared canonical is https://tulus.studio/work/anugrah-embroidery.
  • 10 /about The declared canonical is https://tulus.studio/about.
More about this check
Why it matters
Google treats a declared canonical as a hint. It chooses the canonical from several signals, and its search results usually point to the page it chose.
How to check it
URL Inspection in Search Console shows the user-declared canonical beside the one Google selected.

Official documentation: What is canonicalization

Evidence from 10 pages

1 / Information

  1. Address https://tulus.studio/

    https://tulus.studio/

2 /search-presence-engineering Information

  1. Address https://tulus.studio/search-presence-engineering

    https://tulus.studio/search-presence-engineering

3 /id/jasa-perawatan-website Information

  1. Address https://tulus.studio/id/jasa-perawatan-website

    https://tulus.studio/id/jasa-perawatan-website

4 /work Information

  1. Address https://tulus.studio/work

    https://tulus.studio/work

5 /id/tools/cek-schema-markup Information

  1. Address https://tulus.studio/id/tools/cek-schema-markup

    https://tulus.studio/id/tools/cek-schema-markup

6 /insights Information

  1. Address https://tulus.studio/insights

    https://tulus.studio/insights

7 /seo Information

  1. Address https://tulus.studio/seo

    https://tulus.studio/seo

8 /tools Information

  1. Address https://tulus.studio/tools

    https://tulus.studio/tools

9 /work/anugrah-embroidery Information

  1. Address https://tulus.studio/work/anugrah-embroidery

    https://tulus.studio/work/anugrah-embroidery

10 /about Information

  1. Address https://tulus.studio/about

    https://tulus.studio/about
robots.txt for AI model training

InformationOnce for the site Observed

robots.txt was checked for 8 AI training crawlers and control tokens, to see which may fetch or use this address and which it keeps out.

More about this check
Why it matters
Whether a site’s content trains AI models is the owner’s choice, and each of these operators documents robots.txt as a way to make it. Google-Extended and Applebot-Extended fetch nothing: they govern how content Google and Apple crawl may be used, and both say keeping them out does not remove a page from their search results.
How to check it
Open the site’s /robots.txt and find the group that names each crawler or token, or the * group when none does. Each operator’s page, linked beside its row, gives the name to use.

Official documentation: RFC 9309: Robots Exclusion Protocol

Evidence

  1. robots.txt https://tulus.studio/robots.txt line 1

    User-agent: *
  2. robots.txt https://tulus.studio/robots.txt line 2

    Allow: /
robots.txt for fetches a person asks for

InformationOnce for the site Observed

robots.txt was checked for 6 agents that fetch a page when a person asks an AI assistant to. For these, their operators say robots.txt may not apply: Amzn-User, Meta-ExternalFetcher, ChatGPT-User, Perplexity-User.

More about this check
Why it matters
These agents fetch a page because a person asked an AI assistant something, not to crawl the web. Some of their operators say robots.txt may not apply to such fetches, so a Disallow rule may not keep those agents out.
How to check it
Open the site’s /robots.txt and find the group that names each agent, or the * group when none does, and read the rule shown.

Official documentation: RFC 9309: Robots Exclusion Protocol

Evidence

  1. robots.txt https://tulus.studio/robots.txt line 1

    User-agent: *
  2. robots.txt https://tulus.studio/robots.txt line 2

    Allow: /
robots.txt for Googlebot

Passedon 10 of 10 pages Observed

  • Nothing in robots.txt forbids Googlebot to fetch this address.
More about this check
Why it matters
Google does not crawl or index content that robots.txt blocks. The address itself can still appear in search results, without a description, when other pages link to it.
How to check it
In Search Console, URL Inspection reports whether crawling is allowed for this address, and the robots.txt report shows the file Google last fetched.

Official documentation: How Google interprets the robots.txt specification

Evidence from 10 pages

1 / Passed

  1. robots.txt https://tulus.studio/robots.txt line 1

    User-agent: *
  2. robots.txt https://tulus.studio/robots.txt line 2

    Allow: /

2 /search-presence-engineering Passed

  1. robots.txt https://tulus.studio/robots.txt line 1

    User-agent: *
  2. robots.txt https://tulus.studio/robots.txt line 2

    Allow: /

3 /id/jasa-perawatan-website Passed

  1. robots.txt https://tulus.studio/robots.txt line 1

    User-agent: *
  2. robots.txt https://tulus.studio/robots.txt line 2

    Allow: /

4 /work Passed

  1. robots.txt https://tulus.studio/robots.txt line 1

    User-agent: *
  2. robots.txt https://tulus.studio/robots.txt line 2

    Allow: /

5 /id/tools/cek-schema-markup Passed

  1. robots.txt https://tulus.studio/robots.txt line 1

    User-agent: *
  2. robots.txt https://tulus.studio/robots.txt line 2

    Allow: /

6 /insights Passed

  1. robots.txt https://tulus.studio/robots.txt line 1

    User-agent: *
  2. robots.txt https://tulus.studio/robots.txt line 2

    Allow: /

7 /seo Passed

  1. robots.txt https://tulus.studio/robots.txt line 1

    User-agent: *
  2. robots.txt https://tulus.studio/robots.txt line 2

    Allow: /

8 /tools Passed

  1. robots.txt https://tulus.studio/robots.txt line 1

    User-agent: *
  2. robots.txt https://tulus.studio/robots.txt line 2

    Allow: /

9 /work/anugrah-embroidery Passed

  1. robots.txt https://tulus.studio/robots.txt line 1

    User-agent: *
  2. robots.txt https://tulus.studio/robots.txt line 2

    Allow: /

10 /about Passed

  1. robots.txt https://tulus.studio/robots.txt line 1

    User-agent: *
  2. robots.txt https://tulus.studio/robots.txt line 2

    Allow: /
The robots meta tag

Passedon 10 of 10 pages Observed

  • No robots or googlebot meta tag in the page carries noindex or none.
More about this check
Why it matters
When Googlebot crawls a page and finds noindex, Google drops the page from its search results, even when other sites link to it. The rule none means noindex, nofollow.
How to check it
View the page source and search for noindex. URL Inspection in Search Console shows whether indexing is allowed.

Official documentation: Block Search indexing with noindex

Evidence from 10 pages

1 / Passed

  1. HTML https://tulus.studio/ line 1, column 538

    <meta name="robots" content="index, follow, max-image-preview:large">

2 /search-presence-engineering Passed

  1. HTML https://tulus.studio/search-presence-engineering line 1, column 571

    <meta name="robots" content="index, follow, max-image-preview:large">

3 /id/jasa-perawatan-website Passed

  1. HTML https://tulus.studio/id/jasa-perawatan-website line 1, column 818

    <meta name="robots" content="index, follow, max-image-preview:large">

4 /work Passed

  1. HTML https://tulus.studio/work line 1, column 547

    <meta name="robots" content="index, follow, max-image-preview:large">

5 /id/tools/cek-schema-markup Passed

  1. HTML https://tulus.studio/id/tools/cek-schema-markup line 1, column 848

    <meta name="robots" content="index, follow, max-image-preview:large">

6 /insights Passed

  1. HTML https://tulus.studio/insights line 1, column 536

    <meta name="robots" content="index, follow, max-image-preview:large">

7 /seo Passed

  1. HTML https://tulus.studio/seo line 1, column 546

    <meta name="robots" content="index, follow, max-image-preview:large">

8 /tools Passed

  1. HTML https://tulus.studio/tools line 1, column 773

    <meta name="robots" content="index, follow, max-image-preview:large">

9 /work/anugrah-embroidery Passed

  1. HTML https://tulus.studio/work/anugrah-embroidery line 1, column 556

    <meta name="robots" content="index, follow, max-image-preview:large">

10 /about Passed

  1. HTML https://tulus.studio/about line 1, column 555

    <meta name="robots" content="index, follow, max-image-preview:large">
The X-Robots-Tag header

Passedon 10 of 10 pages Observed

  • No X-Robots-Tag header in the answer carries noindex or none for all crawlers or for Googlebot.
More about this check
Why it matters
The X-Robots-Tag header has the same effect as a robots meta tag, and it also covers files such as PDFs. When Googlebot finds noindex or none in it, Google drops the address from its search results.
How to check it
Run curl -I with the address and read any X-Robots-Tag lines. URL Inspection in Search Console shows whether indexing is allowed.

Official documentation: Robots meta tag, data-nosnippet, and X-Robots-Tag specifications

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

The answer the canonical address gives

Passedon 10 of 10 pages Observed

  • The declared canonical answered 200.
More about this check
Why it matters
A canonical asks Google to show the address it names. Google does not index an address that answers 4xx or redirects elsewhere, and drops one that keeps answering 5xx.
How to check it
Run curl -I with the canonical address: it should answer 200, with no Location header.

Official documentation: How to specify a canonical URL with rel="canonical" and other methods

Evidence from 10 pages

1 / Passed

  1. Answer https://tulus.studio/

    200 OK (the page itself)

2 /search-presence-engineering Passed

  1. Answer https://tulus.studio/search-presence-engineering

    200 OK (the page itself)

3 /id/jasa-perawatan-website Passed

  1. Answer https://tulus.studio/id/jasa-perawatan-website

    200 OK (the page itself)

4 /work Passed

  1. Answer https://tulus.studio/work

    200 OK (the page itself)

5 /id/tools/cek-schema-markup Passed

  1. Answer https://tulus.studio/id/tools/cek-schema-markup

    200 OK (the page itself)

6 /insights Passed

  1. Answer https://tulus.studio/insights

    200 OK (the page itself)

7 /seo Passed

  1. Answer https://tulus.studio/seo

    200 OK (the page itself)

8 /tools Passed

  1. Answer https://tulus.studio/tools

    200 OK (the page itself)

9 /work/anugrah-embroidery Passed

  1. Answer https://tulus.studio/work/anugrah-embroidery

    200 OK (the page itself)

10 /about Passed

  1. Answer https://tulus.studio/about

    200 OK (the page itself)
The properties Google requires

Passedon 10 of 10 pages Observed

More about this check
Why it matters
Google’s documentation lists, for each feature, the properties an item must have. Items that are missing required properties are not eligible for rich results. An item that has them all and follows Google’s guidelines is eligible, and Google still decides whether to show it.
How to check it
Test the page in Google’s Rich Results Test, which catches most technical errors, and read what it reports for the feature named.

Official documentation: Structured data markup that Google Search supports

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

The site’s robots.txt file

PassedOnce for the site Observed

The site serves a robots.txt file, and this scan read it.

More about this check
Why it matters
A 4xx other than 429 means no crawl restrictions. After a 5xx, a 429 or a failed fetch, Google stops crawling for 12 hours, then uses its last good copy for up to 30 days. RFC 9309 says an unreachable file means everything is disallowed.
How to check it
Open the site’s /robots.txt in a browser, or run curl -I on it, and read the status. Search Console’s robots.txt report shows what Google last fetched.

Official documentation: How Google interprets the robots.txt specification

Evidence

  1. Answer https://tulus.studio/robots.txt

    200 OK, 88 bytes, 1 group
robots.txt for Bingbot

PassedOnce for the site Observed

Nothing in robots.txt forbids Bingbot to fetch this address.

More about this check
Why it matters
RFC 9309, the robots.txt standard, tells a crawler to obey the group of rules that matches its name, or the * group when none does. A crawler that follows it does not fetch what its group forbids. Blocking one search engine can be deliberate.
How to check it
Open the site’s /robots.txt, find the group for Bingbot, or the * group when there is none, and read the rule shown.

Official documentation: RFC 9309: Robots Exclusion Protocol

Evidence

  1. robots.txt https://tulus.studio/robots.txt line 1

    User-agent: *
  2. robots.txt https://tulus.studio/robots.txt line 2

    Allow: /
Values in the form Google documents

Passedon 10 of 10 pages Observed

  • Every value checked is in the form Google documents for it.
More about this check
Why it matters
Google’s documentation gives the form of many values: dates and durations in ISO 8601, prices as numbers with a dot for decimals, currencies as three-letter ISO 4217 codes, links as full addresses, and schema.org names for fixed lists such as availability; a value in another form may not be used. Where Google asks for a date and time, as for an article, give the time and its time zone: without them Google uses Googlebot’s own time zone, so the day it reads can differ from yours.
How to check it
Compare each value with the description of its property on the feature’s page in Google’s documentation.

Official documentation: Structured data markup that Google Search supports

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

This page as its own canonical

Passedon 3 of 10 pages Observed

  • 1 /, 2 /search-presence-engineering, 4 /work, 6 /insights, 7 /seo, 9 /work/anugrah-embroidery, 10 /about The page declares no hreflang, or did not answer 2xx, so there is nothing to compare.

Passed on the other 3 pages.

More about this check
Why it matters
A canonical asks Google to show another address in place of this page, and Google uses the canonical page as the main source to evaluate content. With hreflang, Google advises naming a canonical in the same language, or the best substitute language when there is none.
How to check it
View the page source, search for canonical, and compare its address with the page’s own.

Official documentation: How to specify a canonical URL with rel="canonical" and other methods

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

The sitemap files

PassedOnce for the site Observed

Each sitemap read answered 200 in a format Google accepts: XML, RSS, Atom or plain text.

More about this check
Why it matters
A sitemap helps discovery only when it can be fetched and read. Search Console reports such failures as Couldn’t fetch or Has errors, and one file may hold at most 50,000 addresses and 50 MB uncompressed.
How to check it
Open each sitemap address in a browser and check that it lists your pages. Search Console’s Sitemaps report shows whether Google could read the sitemaps you submitted.

Official documentation: Build and submit a sitemap

Evidence

  1. Sitemap https://tulus.studio/sitemap-index.xml

    sitemapindex, 1 address
  2. Sitemap https://tulus.studio/sitemap-0.xml

    urlset, 44 addresses
This page in the sitemap

Passedon 10 of 10 pages Observed

  • The page’s address is listed in https://tulus.studio/sitemap-0.xml.
More about this check
Why it matters
Google recommends listing in a sitemap the addresses you want in its search results, written in full. A page left out can still be discovered through links.
How to check it
Open the sitemap and search for the page’s address. URL Inspection in Search Console names the submitted or robots.txt sitemaps that point to it.

Official documentation: Build and submit a sitemap

Evidence from 10 pages

1 / Passed

  1. Sitemap https://tulus.studio/sitemap-0.xml

    https://tulus.studio/ is listed

2 /search-presence-engineering Passed

  1. Sitemap https://tulus.studio/sitemap-0.xml

    https://tulus.studio/search-presence-engineering is listed

3 /id/jasa-perawatan-website Passed

  1. Sitemap https://tulus.studio/sitemap-0.xml

    https://tulus.studio/id/jasa-perawatan-website is listed

4 /work Passed

  1. Sitemap https://tulus.studio/sitemap-0.xml

    https://tulus.studio/work is listed

5 /id/tools/cek-schema-markup Passed

  1. Sitemap https://tulus.studio/sitemap-0.xml

    https://tulus.studio/id/tools/cek-schema-markup is listed

6 /insights Passed

  1. Sitemap https://tulus.studio/sitemap-0.xml

    https://tulus.studio/insights is listed

7 /seo Passed

  1. Sitemap https://tulus.studio/sitemap-0.xml

    https://tulus.studio/seo is listed

8 /tools Passed

  1. Sitemap https://tulus.studio/sitemap-0.xml

    https://tulus.studio/tools is listed

9 /work/anugrah-embroidery Passed

  1. Sitemap https://tulus.studio/sitemap-0.xml

    https://tulus.studio/work/anugrah-embroidery is listed

10 /about Passed

  1. Sitemap https://tulus.studio/sitemap-0.xml

    https://tulus.studio/about is listed
The size of robots.txt

PassedOnce for the site Observed

robots.txt is within Google’s limit of 500 KiB.

More about this check
Why it matters
Google reads robots.txt up to 500 KiB and ignores everything after that point, so rules further down have no effect on Google.
How to check it
Download /robots.txt and check its size in bytes. Search Console’s robots.txt report also shows the size of the file Google fetched.

Official documentation: How Google interprets the robots.txt specification

Evidence

  1. Answer https://tulus.studio/robots.txt

    88 bytes
A sitemap named in robots.txt

PassedOnce for the site Observed

The site’s robots.txt names a sitemap that answers 200.

More about this check
Why it matters
A sitemap helps search engines discover a site’s pages, though Google may not crawl or index everything it lists. Google says a site of about 500 pages or fewer, well linked internally, might not need one.
How to check it
Open the site’s /robots.txt and look for a Sitemap line. Search Console’s Sitemaps report lists the sitemaps you submitted, but not those found only through robots.txt.

Official documentation: Build and submit a sitemap

Evidence

  1. robots.txt https://tulus.studio/robots.txt line 5

    Sitemap: https://tulus.studio/sitemap-index.xml
The domain with and without www

PassedOnce for the site Observed

The domain with www added or taken away points to this one: it redirects here, or its page names a page here as canonical.

More about this check
Why it matters
When a site answers both with and without www, the two domains carry the same pages, and Google picks one of them to show unless the site says which it prefers. Google advises choosing one address and redirecting the others to it; a canonical link is also a strong signal.
How to check it
Run curl -I with the other domain’s address, for example https://www.example.com/ for a site at example.com: it should answer 301 or 308, with a Location on this domain.

Official documentation: How to specify a canonical URL with rel="canonical" and other methods

Evidence

  1. Answer https://www.tulus.studio/

    301 → https://tulus.studio/
A canonical address that can be indexed

Not applicableon 10 of 10 pages Observed

  • There is no other page to check: the canonical is this page, redirects or fails, none is agreed, or this page did not answer 2xx.
More about this check
Why it matters
The page named as canonical is the one you want shown. With noindex, Google drops it from its results. If robots.txt forbids Googlebot to fetch it, Google may index the address without its content.
How to check it
Inspect the canonical address with URL Inspection in Search Console: it shows whether crawling and indexing are allowed.

Official documentation: How to specify a canonical URL with rel="canonical" and other methods

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

Noindex behind a robots.txt block

Not applicableon 10 of 10 pages Observed

  • This check applies only to a page that answers 2xx with noindex while robots.txt forbids Googlebot to fetch it.
More about this check
Why it matters
Google must fetch a page to see its noindex. While robots.txt forbids Googlebot to fetch it, Google never sees the rule, and the page can still appear in search results, for example when other pages link to it.
How to check it
After changing robots.txt, URL Inspection in Search Console shows whether crawling is allowed and whether the page allows indexing.

Official documentation: Block Search indexing with noindex

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

The canonical’s own canonical

Not applicableon 10 of 10 pages Observed

  • There is no chain to follow: the canonical is this page, redirects or fails, none is agreed, or this page did not answer 2xx.
More about this check
Why it matters
When the page you name as canonical names another address as its own, the two pages state different preferences. Google treats a canonical as a hint and chooses among all the signals it collects.
How to check it
Open the address named as canonical, view its source, and check that its own canonical names itself.

Official documentation: How to specify a canonical URL with rel="canonical" and other methods

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

Noindex together with another canonical

Not applicableon 10 of 10 pages Observed

  • The page does not carry both noindex and a canonical naming another address, or it did not answer 2xx.
More about this check
Why it matters
A canonical asks Google to show another address in place of this one, and noindex asks for this page not to be shown at all. For duplicates within a site, Google recommends the canonical over noindex.
How to check it
Check the page source, and its headers with curl -I, for noindex and for a canonical naming another address, and keep only one of the two.

Official documentation: How to specify a canonical URL with rel="canonical" and other methods

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

Versions that are their own canonical

Not applicableon 7 of 10 pages Observed

  • The page names no other version, or did not answer 2xx, so there is no version to read.
  • 3 /id/jasa-perawatan-website, 5 /id/tools/cek-schema-markup, 8 /tools The address it needs is not among the pages in the sample, and the audit fetches nothing outside it.
More about this check
Why it matters
A canonical asks Google to show another address in place of the page, and Google uses the canonical page as the main source to evaluate content. With hreflang, Google advises naming a canonical in the same language, or the best substitute language when there is none.
How to check it
Open each version listed, view its source, and check that its canonical is its own full address.

Official documentation: How to specify a canonical URL with rel="canonical" and other methods

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

Versions Google may crawl and index

Not applicableon 7 of 10 pages Observed

  • The page names no other version, or did not answer 2xx, so there is no version to judge.
  • 3 /id/jasa-perawatan-website, 5 /id/tools/cek-schema-markup, 8 /tools The address it needs is not among the pages in the sample, and the audit fetches nothing outside it.
More about this check
Why it matters
Google does not crawl content that robots.txt blocks, so it cannot read a blocked version or its links back. A noindex makes Google drop the page from its search results.
How to check it
In Search Console, inspect each version with URL Inspection: it shows whether crawling and indexing are allowed.

Official documentation: Tell Google about localized versions of your page

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

Names of AI crawlers in robots.txt

Not applicableOnce for the site Observed

robots.txt names no AI crawler, or there is no robots.txt, so there is no name to check.

More about this check
Why it matters
A crawler obeys the group whose User-agent line matches its name, whatever the case, and the * group when none does. A misspelt name, or one its operator no longer uses, matches no crawler, so the crawler it was meant for does not follow the rules under it.
How to check it
Open the site’s /robots.txt, go to each line listed, and compare the name with the token on its operator’s page.

Official documentation: RFC 9309: Robots Exclusion Protocol

Evidence

Nothing to show: the finding rests on what is absent from the page.

Sitemap entries for excluded pages

Not applicableon 10 of 10 pages Observed

  • This check does not apply: the page has no noindex and no other canonical, did not answer 2xx, or no sitemap was found.
More about this check
Why it matters
Google treats every address in a sitemap as a suggested canonical, and advises against listing an address in a sitemap while its page names another as canonical. A noindex page asks not to be shown.
How to check it
After the sitemap is updated, open it and search for the page’s address.

Official documentation: Build and submit a sitemap

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

Google features that are limited or retired

Not applicableon 10 of 10 pages Observed

  • No item belongs to a Google feature that this check knows as limited or retired.
More about this check
Why it matters
Google retires search features, and limits some to certain sites. Google says that structured data it no longer uses does not cause problems in Search, has no visible effect there, and does not need to be removed.
How to check it
Google’s list of the structured data features it supports names the features it uses today. A retired feature is not on it.

Official documentation: Structured data markup that Google Search supports

Evidence from 0 pages

Nothing to show: the finding rests on what is absent from the page.

Which AI crawlers robots.txt lets fetch the page you entered
Which AI crawlers robots.txt lets fetch the page you entered

robots.txt https://tulus.studio/robots.txt answered 200

Found, with 1 group of rules.

  • Search and answers None kept out
  • Model training None kept out
  • Fetches a person asked for None kept out
Crawler robots.txt says The lines that decide
Search and answers None kept out Crawlers for search results and answers that show or link the pages they come from.
Claude-SearchBot Anthropic Crawls the web to improve the quality, relevance and accuracy of search results for users. Anthropic’s page on Claude-SearchBot robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
Applebot Apple Crawls for search in Spotlight, Siri and Safari, and what it crawls may also help train Apple’s AI models. Apple’s page on Applebot robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
DuckAssistBot DuckDuckGo Crawls pages in real time for DuckDuckGo’s AI-assisted answers, which cite their sources. DuckDuckGo’s page on DuckAssistBot robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
Meta-WebIndexer Meta Crawls the web to improve the quality of Meta AI’s search results. Meta’s page on Meta-WebIndexer robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
MistralAI-Index Mistral AI Crawls the web to index content for Mistral’s search, which helps answer people’s questions in Vibe. Mistral AI’s page on MistralAI-Index robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
OAI-SearchBot OpenAI Used to show websites in the search results of ChatGPT’s search features. OpenAI’s page on OAI-SearchBot robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
PerplexityBot Perplexity Used to show and link websites in Perplexity’s search results. Perplexity’s page on PerplexityBot robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
Googlebot Google Crawls for Google Search and all its features, AI Overviews and AI Mode among them. Google’s page on Googlebot robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
Bingbot Microsoft Bing’s standard crawler, whose crawling and indexing Microsoft says Copilot also relies on. Microsoft’s page on Bingbot robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
Model training None kept out Crawlers that collect content to train AI models, and tokens that say whether pages another crawler fetched may be used for it.
Amazonbot Amazon Used to improve Amazon’s products and services, and may be used to train Amazon’s AI models. Amazon’s page on Amazonbot robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
ClaudeBot Anthropic Collects web content that could help train Anthropic’s generative AI models. Anthropic’s page on ClaudeBot robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
CCBot Common Crawl Builds Common Crawl’s open repository of web data, a primary source of training data for many large language models. Common Crawl’s page on CCBot robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
Meta-ExternalAgent Meta Crawls the web for uses such as training AI models or improving products by indexing content directly. Meta’s page on Meta-ExternalAgent robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
MistralAI-Training Mistral AI Crawls web content to help build datasets for training Mistral’s generative AI models. Mistral AI’s page on MistralAI-Training robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
GPTBot OpenAI Crawls content that may be used to train OpenAI’s generative AI models. OpenAI’s page on GPTBot robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
Applebot-Extended Apple Tells Apple whether content Applebot crawled may be used to train Apple’s foundation models. Apple’s page on Applebot-Extended Fetches nothing: its rules govern the use of pages another crawler fetched. robots.txt says: May be used The lines that decide: line 1 User-agent: * line 2 Allow: /
Google-Extended Google Tells Google whether content it crawls may train Gemini models and ground answers in Gemini Apps and Vertex AI. Google’s page on Google-Extended Fetches nothing: its rules govern the use of pages another crawler fetched. robots.txt says: May be used The lines that decide: line 1 User-agent: * line 2 Allow: /
Fetches a person asked for None kept out Fetches made because a person asked an AI assistant to open a page.
Amzn-User Amazon May fetch up-to-date information from the web when a person asks Alexa a question that needs it. Amazon’s page on Amzn-User Amazon says robots.txt may not apply to it. robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
Claude-User Anthropic May access a website when a person asks Claude a question. Anthropic’s page on Claude-User robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
Meta-ExternalFetcher Meta Fetches individual links at a person’s request, including to help AI navigate websites and complete tasks. Meta’s page on Meta-ExternalFetcher Meta says robots.txt may not apply to it. robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
MistralAI-User Mistral AI May visit a web page to help answer a person’s question in Mistral’s Vibe. Mistral AI’s page on MistralAI-User robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
ChatGPT-User OpenAI May visit a web page when a person asks ChatGPT or a custom GPT a question. OpenAI’s page on ChatGPT-User OpenAI says robots.txt may not apply to it. robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /
Perplexity-User Perplexity May visit a web page to help answer a person’s question in Perplexity. Perplexity’s page on Perplexity-User Perplexity says it generally ignores robots.txt. robots.txt says: May fetch The lines that decide: line 1 User-agent: * line 2 Allow: /

Each crawler as its operator describes it, read on 15 October 2026.

Checked in 8.2 s with 19 requests, 191 kB received.

What this check cannot see

Two things stay out of this audit’s reach:

  • The pages outside the sample. The audit reads at most ten pages, chosen the same way every time, and a page it did not read may differ from the ones it did.
  • Whether Google has indexed these pages, and how it ranks them. Search Console shows what Google crawled and indexed.

Everything a public scan cannot see