approov.io, read 12 hours ago. Back to the report

92 to 100 in 12 steps

Do them in this order. Each step says what to change, on which pages, and what it adds. Hand the whole plan to your agent, or work through it yourself.

9292 nownow931top 5%9529639749759769879889999910991110012full marks

Now #16,342 of 263,590Step 1 top 5%Step 12 full marks

Worked out from this read, with every step before it done. A score says pages are well formed. It does not say an assistant cites the site.

The steps

Each is one change across the pages named. When one is live, read the site again and mttr marks it done.

  1. 1

    Answer the first question right under it

    +1 point, to 93, and #10,777, 5,565 places up, and into the top 5%

    Answer the first question in the paragraph right under it, in 25 to 90 words. Whether the paragraph truly answers is for the judge or a person to say.

    45 pages, 41 of them under /blog/

    See the pages
    • /blog/2024-reflecting-on-a-dynamic-tumultuous-cyber-year
    • /blog/addressing-vulnerabilities-and-abuse-for-comprehensive-api-security
    • /blog/analyst-guide-securing-mobile-apps-approov
    • /blog/approov-at-cloudflare-connect-shaping-the-future-of-mobile-security
    • /blog/approov-integration-for-php-backends
    • /blog/approov-integration-for-php-laravel-backends
    • /blog/approov-integration-for-python-backends
    • /blog/approov-integration-for-the-tyk-api-gateway
    • /blog/approov-web-protection-quickstart-for-google-recaptcha-v3
    • /blog/approov-xamarin-quickstart
    • and 35 more in the copied plan
  2. 2

    Phrase headings as questions

    +2 points, to 95

    Phrase at least one heading as the question a person would ask.

    41 pages, 37 of them under /blog/

    See the pages
    • /blog/2024-reflecting-on-a-dynamic-tumultuous-cyber-year
    • /blog/addressing-vulnerabilities-and-abuse-for-comprehensive-api-security
    • /blog/analyst-guide-securing-mobile-apps-approov
    • /blog/approov-at-cloudflare-connect-shaping-the-future-of-mobile-security
    • /blog/approov-integration-for-php-backends
    • /blog/approov-integration-for-php-laravel-backends
    • /blog/approov-integration-for-python-backends
    • /blog/approov-integration-for-the-tyk-api-gateway
    • /blog/approov-web-protection-quickstart-for-google-recaptcha-v3
    • /blog/approov-xamarin-quickstart
    • and 31 more in the copied plan
  3. 3

    Put figures in tables

    +1 point, to 96

    Where the guide compares options or gives figures, put them in a table.

    56 pages, 52 of them under /blog/

    See the pages
    • /blog/2024-reflecting-on-a-dynamic-tumultuous-cyber-year
    • /blog/a-practical-guide-to-owasp-masvs-v2
    • /blog/addressing-vulnerabilities-and-abuse-for-comprehensive-api-security
    • /blog/analyst-guide-securing-mobile-apps-approov
    • /blog/approov-at-cloudflare-connect-shaping-the-future-of-mobile-security
    • /blog/approov-integration-for-php-backends
    • /blog/approov-integration-for-php-laravel-backends
    • /blog/approov-integration-for-python-backends
    • /blog/approov-integration-for-the-tyk-api-gateway
    • /blog/approov-web-protection-quickstart-for-google-recaptcha-v3
    • and 46 more in the copied plan
  4. 4

    Add structured data

    +1 point, to 97

    Add valid JSON-LD that says what the page is.

    30 pages, 17 of them under /knowledge/

    See the pages
    • /de/knowledge/approovs-commitment-to-security-soc-2-type-2-report
    • /de/knowledge/aus-haftungsrechtlicher-sicht-setzen-wir-bei-der-betrachtung-der-sicherheit-unserer-mobilen-l%C3%B6sung-gro%C3%9Fes-vertrauen-in-die-faehigkeit-von-approov-zu-1680301332481
    • /de/knowledge/ist-approov-mit-der-gdpr-und-ccpa-konform
    • /es/knowledge/approovs-commitment-to-security-soc-2-type-2-report
    • /fr/knowledge/quest-ce-que-flutter-approov-prend-il-en-charge-flutter-comment-puis-je-lint%C3%A9grer-dans-mes-applications-mobiles
    • /knowledge/adding-users
    • /knowledge/approov-compared-to-app-attest
    • /knowledge/approov-data-handling-global-privacy-compliance
    • /knowledge/approovs-commitment-to-security-soc-2-type-2-report
    • /knowledge/compatibility-of-the-approov-security-solution-with-singapores-personal-data-protection-act-pdpa
    • and 20 more in the copied plan
  5. 5

    Make near-copy pages distinct

    Under a point

    Rewrite or merge pages that share most of their text. A page that only swaps a city or product name is what search engines treat as doorway or scaled content.

    Once, for the whole site

  6. 6

    Add an llms.txt

    Under a point

    Add /llms.txt: a short plain text map of the site for assistants. Its effect is unproven, so treat it as cheap insurance.

    Once, for the whole site

  7. 7

    Add breadcrumb data

    +1 point, to 98

    Add BreadcrumbList schema so the page has a place in the site.

    58 pages, 54 of them under /blog/

    See the pages
    • /blog/2024-reflecting-on-a-dynamic-tumultuous-cyber-year
    • /blog/a-practical-guide-to-owasp-masvs-v2
    • /blog/addressing-vulnerabilities-and-abuse-for-comprehensive-api-security
    • /blog/analyst-guide-securing-mobile-apps-approov
    • /blog/approov-at-cloudflare-connect-shaping-the-future-of-mobile-security
    • /blog/approov-integration-for-php-backends
    • /blog/approov-integration-for-php-laravel-backends
    • /blog/approov-integration-for-python-backends
    • /blog/approov-integration-for-the-tyk-api-gateway
    • /blog/approov-web-protection-quickstart-for-google-recaptcha-v3
    • and 48 more in the copied plan
  8. 8

    Fix title lengths

    Under a point

    Write a title of 15 to 65 characters that leads with what the page covers.

    25 pages, 14 of them under /blog/

    See the pages
    • /blog/2024-reflecting-on-a-dynamic-tumultuous-cyber-year
    • /blog/addressing-vulnerabilities-and-abuse-for-comprehensive-api-security
    • /blog/approov-at-cloudflare-connect-shaping-the-future-of-mobile-security
    • /blog/chatgpt-and-api-security
    • /blog/cybersecurity-implications-of-the-digital-markets-act-apple-ios-17.4
    • /blog/how-poor-api-security-led-to-major-breaches-in-2024
    • /blog/limitations-of-hardware-backed-key-attestation-in-mobile-security
    • /blog/mobile-app-api-scraping-for-competitive-intelligence-the-market-signal-your-competitors-can-buy
    • /blog/mobile-app-security-uncovering-the-risks-of-secret-theft-at-runtime
    • /blog/scanshake-meeting-the-need-for-decentralised-contact-tracing
    • and 15 more in the copied plan
  9. 9

    Set a share image

    +1 point, to 99

    Set og:image so links to the page carry a picture.

    45 pages

    See the pages
    • /
    • /careers
    • /de/knowledge/approovs-commitment-to-security-soc-2-type-2-report
    • /de/knowledge/aus-haftungsrechtlicher-sicht-setzen-wir-bei-der-betrachtung-der-sicherheit-unserer-mobilen-l%C3%B6sung-gro%C3%9Fes-vertrauen-in-die-faehigkeit-von-approov-zu-1680301332481
    • /de/knowledge/ist-approov-mit-der-gdpr-und-ccpa-konform
    • /es/knowledge/approovs-commitment-to-security-soc-2-type-2-report
    • /fr/knowledge/quest-ce-que-flutter-approov-prend-il-en-charge-flutter-comment-puis-je-lint%C3%A9grer-dans-mes-applications-mobiles
    • /frequently-asked-questions-approov
    • /industry/automotive
    • /industry/government
    • and 35 more in the copied plan
  10. 10

    Fix description lengths

    Under a point

    Write a meta description of 70 to 165 characters that summarizes the page.

    16 pages

    See the pages
    • /
    • /blog/checking-approov-tokens-in-asp.net-core-2.0
    • /de/knowledge/approovs-commitment-to-security-soc-2-type-2-report
    • /es/knowledge/approovs-commitment-to-security-soc-2-type-2-report
    • /knowledge/adding-users
    • /knowledge/approovs-commitment-to-security-soc-2-type-2-report
    • /knowledge/how-approov-managed-trust-roots-and-dynamic-pinning-eliminate-man-in-the-middle-threats
    • /knowledge/what-is-the-difference-between-device-attestation-and-app-attestation
    • /knowledge/what-is-the-difference-between-jailbreaking-and-rooting
    • /news/secrets-protection
    • and 6 more in the copied plan
  11. 11

    Describe images

    Under a point

    Describe every content image in its alt text.

    14 pages, 10 of them under /blog/

    See the pages
    • /blog/2024-reflecting-on-a-dynamic-tumultuous-cyber-year
    • /blog/a-practical-guide-to-owasp-masvs-v2
    • /blog/approovs-resolution-for-the-new-year-is-securing-your-healthcare-data
    • /blog/can-you-protect-e-scooters-from-vandalism-and-fraud
    • /blog/cybersecurity-implications-of-the-digital-markets-act-apple-ios-17.4
    • /blog/how-poor-api-security-led-to-major-breaches-in-2024
    • /blog/is-certificate-pinning-worth-it
    • /blog/limitations-of-hardware-backed-key-attestation-in-mobile-security
    • /blog/what-are-the-most-common-types-of-mobile-man-in-the-middle-attacks
    • /blog/zero-trust-alone-proves-inadequate-for-securing-apis
    • and 4 more in the copied plan
  12. 12

    Show sources on guides

    +1 point, to 100, and full marks

    Link the sources for the guide's facts where a reader can see them. Official and primary sources carry the most weight.

    3 pages

    See the pages
    • /blog/how-to-secure-mobile-health-app-success-in-2026
    • /news/approov-opens-new-headquarters-in-edinburgh
    • /news/secrets-protection
8 more, to tidy up after 100
  1. 13

    Show when guides were updated

    Under a point

    Show when the guide was last updated, and set dateModified in its schema.

    3 pages

    See the pages
    • /customer/weare8
    • /news/approov-opens-new-headquarters-in-edinburgh
    • /news/secrets-protection
  2. 14

    Add depth to thin pages

    Under a point

    Add true, specific detail until the page covers its subject.

    3 pages

    See the pages
    • /blog/mobile-banking-the-importance-of-what-not-just-who
    • /knowledge/what-is-the-approov-failover-service
    • /news/approov-opens-new-headquarters-in-edinburgh
  3. 15

    Add lists or tables

    Under a point

    Add a table, a list, or a definition list. Assistants quote these more readily than prose.

    4 pages

    See the pages
    • /customer/weare8
    • /mobile-app-security/rasp/runtime-secrets
    • /news/approov-opens-new-headquarters-in-edinburgh
    • /news/secrets-protection
  4. 16

    Match structured data to the page

    Under a point

    Use the schema type that matches the page: Article for guides, Service or Product for offers, Organization or WebSite for the home page.

    2 pages

    See the pages
    • /news/approov-opens-new-headquarters-in-edinburgh
    • /news/secrets-protection
  5. 17

    Name the publisher

    Under a point

    Name the author or publisher in the Article schema.

    2 pages

    See the pages
    • /news/approov-opens-new-headquarters-in-edinburgh
    • /news/secrets-protection
  6. 18

    Use one main heading

    Under a point

    Give the page exactly one h1 that says what it is about.

    2 pages

    See the pages
    • /frequently-asked-questions-approov
    • /pt-br/knowledge
  7. 19

    Show every FAQ question on the page

    Under a point

    Show every question in the FAQ schema on the page, word for word.

    2 pages

    See the pages
    • /blog/a-practical-guide-to-owasp-masvs-v2
    • /blog/how-agentic-ai-is-disrupting-mobile-security-and-how-to-combat-it
  8. 20

    Add real images to content

    Under a point

    Add a photo, drawing, or chart as an img with alt text. A CSS background image has no alt text and is not read as part of the page.

    1 page

    See the pages
    • /knowledge/what-is-the-approov-failover-service

Done since the first read

  1. Add a tap-to-call link

    Done, seen on the read of October 24. It failed on 100 pages before.

  2. Replace unsupported sales claims

    Done, seen on the read of October 24. It failed on 2 pages before.

  3. Bring deep pages closer to home

    Done, seen on the read of October 24. It failed on 6 pages before.

What else the read found

Half its pages start answering within 103 ms, inside the 800 ms a crawler is patient with. One fetch a page, the way a crawler sees it.

  • /blog/whitelists-and-indirection-go-together-like-chocolate-and-peanut-butter803 ms
  • /blog/approov-integration-for-php-backends647 ms
  • /news/approov-opens-new-headquarters-in-edinburgh547 ms
  • /blog/if-you-cant-make-it-fake-it547 ms
  • /knowledge/ota-updates-are-essential-for-securing-mobile-apps335 ms

Fastest: /knowledge/what-is-fuzzing, 28 ms. Heaviest: /mobile-app-security/rasp/runtime-secrets, 38 KB.

Read from its home page’s code and the headers its server sent. A tool that loads later, or only on other pages, is not seen here.

  • HubSpot CMSPlatform
  • CloudflareHosting
  • Google Tag ManagerAnalytics
  • Google FontsFonts

From the structured data on its home page, as the site says it: an Organization named Approov. mttr does not check the profiles it names.

  • LinkedInapproov
  • Xapproov_io
page with strong signs
1
hidden characters
18
chat, markdown or placeholders left in
0
dashes per 1,000 words
0.9
  • /blog/att-data-breach-a-warning-on-metadata-and-privacy hidden characters a reader cannot see

A sign is not proof. Hidden characters can carry a watermark or instructions meant for an AI, and they come off with a clean copy of the text.

  • / fails 2: Fix description lengths and Set a share image1 page
  • /frequently-asked-questions-approov fails 2: Use one main heading and Set a share image1 page
  • /careers fails 1: Set a share image1 page
  • /podcast fails 1: Set a share image1 page
  • /signup fails 1: Set a share image1 page
  • /state-of-mobile-app-security-osterman-research-report fails 1: Set a share image1 page
  • /blog/ 54 fail a rule. Worst: /blog/2024-reflecting-on-a-dynamic-tumultuous-cyber-year, 6 rules54 pages
  • /knowledge/ 18 fail a rule. Worst: /knowledge/what-is-the-approov-failover-service, 6 rules18 pages
  • /zh-cn/ 6 fail a rule. Worst: /zh-cn/knowledge/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E8%AF%81%E4%B9%A6%E5%9B%BA%E5%AE%9A, 4 rules6 pages
  • /de/ 3 fail a rule. Worst: /de/knowledge/approovs-commitment-to-security-soc-2-type-2-report, 3 rules3 pages
  • /info/ 3 fail a rule. Worst: /info/webinar-playing-with-fhir-hacking-and-securing-fhir-apis, 2 rules3 pages
  • /industry/ 2 fail a rule. Worst: /industry/automotive, 3 rules2 pages

And 6 more parts of the site.

The read stopped at its page limit, so pages no link leads to cannot be told from pages it did not reach, and neither is reported.

Rather go through these with one of our experts? Book a strategy session

Fix approov.io with your agent

Your agent makes the fixes. mttr checks each one. Free.

In the site’s repositorynpx skills add subinternal/mttr
Then tell your agentCheck approov.io with mttr and fix what’s worth the most.

Claude Code, Codex, Cursor or any agent that reads AGENTS.md.

Claude Code, onceclaude mcp add --transport http mttr https://mttr.si/mcp
It needs a free key
Another agent
Read it againChanged something? A site is read at most once every ten minutes.