NEWWorld's first AI visibility audit tool for Web3 is live.Run free audit →
Tutorial 01 · 12 minutes · No prior knowledge needed

Run your first Crawlux audit.

A full walkthrough from URL entry through scoring to the prioritized fix list. Assumes you have never used Crawlux before. By the end of this tutorial you will have a complete audit JSON, you will understand what every section means, and you will know the top three findings to ship first.

// Before you start

What you need.

  • A crypto domain to audit. Yours is best. Has to be live, indexable and reachable from the public internet. Staging URLs behind auth do not work. If you do not have a domain yet, use any token project you follow as the example.
  • 10 to 15 minutes. The audit itself runs in roughly 2 to 3 minutes. The rest of the time is reading the output and identifying what to ship.
  • No signup required for the first audit. The free first audit per domain runs without an account. You can sign up later if you want history, webhooks or unlimited audits.

// What this tutorial does not cover

Scope is the first audit only.

This tutorial gets you from zero to your first complete audit and a prioritized fix list. It does not cover actually shipping the fixes. Each fix has its own tutorial or playbook:

// Step 1 of 6

Open the free audit page.

Go to crawlux.com/free-crypto-seo-audit. This is the unauthenticated entry point for the free first audit. You will see a single input field with a placeholder reading "https://yourcrypto.io" and a button reading "Run free audit."

A few things to notice on this page before you proceed. The hero indicates "Free first audit per domain · No signup · 60 seconds · Full PDF report." The 60-second number is the dashboard-rendering target; the actual audit takes 2 to 3 minutes including the upstream crawl. Crawlux is intentional about not under-promising; the audit produces its first visible signal in the dashboard within 60 seconds, but the full report keeps populating findings as analyzers complete.

// Step 2 of 6

Enter the domain.

Type or paste the full URL of the domain you want to audit. Always include the protocol. The form accepts both https://example.io and example.io but normalizes to https on submit. Subdomains audit separately from apex domains, so https://app.example.io produces a different audit than https://example.io.

// Common gotcha

If the domain has both a marketing site (example.io) and an app (app.example.io), audit both. Most teams forget the app subdomain even though it is usually where most user-facing pages live. Run two audits, compare the scores, focus your fix effort on whichever scored lower because it has more room to move.

// Step 3 of 6

Watch the audit run.

After submitting, you land on the audit dashboard. The status bar moves through six phases as the analyzers complete in parallel:

  1. Crawling site — Crawlux fetches your pages, parses HTML and identifies token pages, content pages, navigation structure
  2. Checking technical SEO — Core Web Vitals from Google PageSpeed API, indexability checks, robots.txt parsing, internal-link distribution
  3. Validating schema — FinancialProduct, Article, Organization, BreadcrumbList schema validated against schema.org spec
  4. Running AEO prompts — 23 prompts run in parallel against ChatGPT, Perplexity and Claude with your domain as the target
  5. Auditing backlinks — DataForSEO query against your domain's backlink graph, toxicity rubric applied
  6. Cross-checking on-chain — CoinGecko, DefiLlama and Etherscan reconciliation if a token contract is detected on the page

Each phase shows a progress indicator. You do not need to wait on the page. Audits run server-side and the page reloads with results once complete. Median total time: 2.5 minutes. Maximum (large sites with deep crawls): 8 minutes.

// Step 4 of 6

Read the score.

The first thing you see is the overall score (0 to 100) and the letter grade. Below that, six sub-scores corresponding to the six check groups. This is your at-a-glance snapshot. Three numbers matter most:

Overall score

Single 0-100 number summarizing every signal. Useful for tracking over time but misleading without context. A 47 in DeFi sits at the median; the same 47 in NFT marketplaces sits in the top quartile.

Vertical percentile

Where your score ranks against other sites in your category specifically. This is the meaningful comparison. A 65th vertical percentile means you outscore roughly two-thirds of crypto sites in your category.

Group breakdown

The 6 sub-scores tell you where your weakness is. If technical is 82 and schema is 45, fix schema first. Always ship against the lowest sub-scores first because they have the most room to move.

// Step 5 of 6

Read the findings.

Below the score, the dashboard shows the findings list. Up to 23 entries, one per analyzer that flagged an issue. Each finding has five elements that matter:

example-finding
"analyzer": "B01",
"group": "schema",
"severity": "high",
"title": "Token page uses generic Product schema",
"recommendation": "Migrate to FinancialProduct schema with crypto fields",
"affected_pages": ["/token/aave-v3", "/token/aave-v2"],
"expected_lift": 12
analyzer code
Two-character code identifying which of the 23 analyzers fired. Cross-reference to methodology docs for the full description and calibration source.
severity
low, medium or high. Roughly tracks expected_lift: high-severity findings tend to deliver the largest score improvements when remediated.
recommendation
A one-sentence fix description. Specific enough to action. For implementation depth, follow the linked playbook or tutorial.
affected_pages
URLs on your site where the finding applies. If a single template error affects 200 pages, all 200 will be listed. The fix is template-level even though the affected count is high.
expected_lift
Projected overall-score improvement (in points) if this finding is fully remediated. Use this to prioritize. Always ship the top 3 by expected_lift first.

// Step 6 of 6

Pick the top 3 findings.

Sort the findings by expected_lift, descending. Take the top 3. These are your priority work for the next sprint. Do not try to fix all 23 at once. The audit data is consistent: teams that ship the top 3 highest-expected-lift findings see a median score improvement of 18 points within 14 days. The remaining 20 findings can wait.

Common top-3 patterns Crawlux sees most frequently:

  • Token page uses generic Product schema (analyzer B01, expected_lift typically 10-15) → Tutorial 02
  • Robots.txt blocks AI crawlers (analyzer D04, expected_lift typically 12-18) → Tutorial 03
  • No Person schema for team members (analyzer C01, expected_lift typically 8-12) → Tutorial 04

// Optional · Download the JSON

For developers: grab the audit JSON.

If you are integrating the audit into a workflow, dashboard or CI pipeline, download the JSON output from the dashboard. The structure is documented in detail at /docs/audit-json/. The JSON is the system of record — everything in the dashboard, the PDF report and the API responses (when the API ships Q4 2026) is generated from this file.

// After this tutorial

What to do next.

You have a complete audit and a prioritized fix list. The next move depends on what your top 3 findings are:

Most teams see meaningful score lifts within 14 days of shipping their first batch of fixes. Re-run the audit then to confirm. The audit is free for the first run per domain; subsequent re-audits require a free account (still free) or a Pro / Team subscription for unlimited runs.

// Related

More reading.

FREE WEB3 AUDIT

Run a free Crawlux audit and apply this tutorial.

Run a free Crawlux audit and follow the tutorial sequence start to finish. The audit tells you which findings are most urgent on your specific site.

Free first audit · No signup · 60 seconds · Full PDF report

After state (what good looks like)

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [".faq-answer", ".quick-answer"]
  },
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Is Aave safe to use?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Aave has been audited 12+ times..."
      }
    }
  ]
}
</script>

How to validate the fix

Common pitfalls

Pitfall

Adding Speakable without FAQPage

Speakable can be added to Article or other types but works best paired with FAQPage. If your page doesn't have FAQPage yet, add it first. Speakable on a bare HTML page does little.

Pitfall

CSS selector that doesn't exist

If cssSelector points to .faq-answer but your DOM uses .accordion-content, Speakable resolves to nothing. Always validate that the selector actually matches DOM elements.

Pitfall

Pointing Speakable at the entire page

Don't use cssSelector: ["body"] or similar broad selectors. Speakable should point to specific answer-bearing elements. Broad selectors get ignored by parsers.

Pitfall

Speakable on pages without good answers

Speakable amplifies what's on the page. If your answers are vague or marketing-driven, Speakable amplifies vagueness. Make sure FAQ answers are concrete before adding Speakable.

Pitfall

Forgetting to update Speakable when content changes

If you redesign your FAQ block and change the class names, update the Speakable cssSelector. Stale selectors become invisible.

If something breaks: rollback

Remove the speakable property from FAQPage schema. Page falls back to regular FAQPage behavior within minutes. Citation rate may regress but no risk to site functionality.

Run a free Crawlux audit

Crawlux validates the schema, technical and AEO fixes from this tutorial automatically. Free tier on one domain.

Run free audit →

FAQ

Does Speakable work outside FAQPage?

Yes. Speakable can be added to Article, BlogPosting, NewsArticle and most schema types. The pattern is the same: SpeakableSpecification with cssSelector or xpath pointing to the most-quotable sections of the page.

Will Speakable affect Google rich results?

Speakable isn't in Google's primary rich result types yet but it's parsed and used for voice answers. The main beneficiary is AI engines (ChatGPT, Perplexity, Claude) which weight Speakable-marked content higher for citations.

Can I use Speakable for marketing copy?

Technically yes but it backfires. AI engines extract Speakable content verbatim. If your marketing copy is promotional, AI engines may extract it but flag it as biased. Use Speakable for factual answers, not marketing claims.

How specific should cssSelector be?

Specific enough to match only the answer-bearing elements. .faq-answer is good. .content is too broad. Use class names dedicated to the answer sections, not generic content classes.

Does Speakable have a length limit?

No formal limit but practical limit is 1-3 sentences per Speakable section. AI engines extract these as direct answers; longer than 3 sentences typically gets truncated. Optimize answers to 1-3 sentences for best extraction.

Related tutorials

Pillar guides

Audit modules

RUN YOUR FIRST AUDIT

Run the tutorial against a real audit.

Get a free Crawlux audit report and use it as the baseline for the work in this tutorial.

Free first audit · No signup · 60 seconds · Full PDF report

Audit this fix → Free audit