# SEO & GEO Analyzer — Examples

> Hands-on walkthroughs with the SEO & GEO Analyzer: audit a page, read and fix a weak score, validate structured data, and check AI readiness.

Source: https://www.jpkc.com/db/en/tools/seo/examples/

Back to the overview: [SEO & GEO Analyzer](https://www.jpkc.com/db/en/tools/seo/) · Open the tool: [www.jpkc.com/tools/seo/](https://www.jpkc.com/tools/seo/)

The [manual](https://www.jpkc.com/db/en/tools/seo/manual/) explains every tab and every score weight in detail. This page complements it with **concrete workflows**: typical tasks played out step by step, focused on how you read the result and what you do next. The tool's interface is in English, so tab and button names appear here exactly as you'll see them in the live tool.

## Example 1: First full audit of a real page

The classic — you want to know where a page stands at all.

1. Open the [analyzer](https://www.jpkc.com/tools/seo/), paste an absolute URL into the input field (a product or article page, not just the bare domain) and click **Analyze**.
2. You land in the **Overview** tab automatically. At the top you see the two gauges side by side: the **SEO Score** on the left, the **GEO Score** on the right, both on a 0–100 scale. Next to them sit the hard numbers: HTTP version, page size, TTFB, redirect count, and the key on-page values (title, description, H1, structured data).
3. **Read the colour first, then the number.** The gauge turns green at 80, yellow at 50, red below — plus a letter grade from A to F. A value like **SEO 67 / grade C** means: solid foundation, clear room to improve. What matters isn't the single number but *which* checks are costing you points.
4. For that, look at the **Issues & Warnings** block (also in Overview) — it collects the detected problems in one list. To prioritise, switch to the **SEO Score** tab: there the score is broken down by category, every individual check carrying a `pass`, `partial` or `fail` status and its point value.
5. **Work top-down by biggest lever.** A missing `Meta Description (70–160 chars)` costs up to 8 points, a missing `og:image` 3 — sorting by points tells you what's worth doing first.

So a mid-range score isn't a verdict, it's a to-do list. You work through exactly that list in the next examples.

## Example 2: Lifting a weak SEO score on purpose

Say the SEO Score sits at yellow and the **SEO Score** tab flags three checks as `fail` or `partial`. Take them in order:

- **`Meta Description (70–160 chars)` is `fail`.** The page has no description; the `Meta Tags` tab shows the field empty. Write a 70–160 character description, ship it — and you earn the full 8 points. Any non-empty description outside the 70–160 character range earns 4 points (`partial`), but full marks only come inside the target range.
- **`Single H1 Heading` is `partial`.** In the `Meta Tags` tab (Headings section) you see two `<h1>` elements. More than one H1 earns only 2 points instead of 5. Turn the second into an `<h2>` — that often clears the `Heading Hierarchy` check at the same time, if no level is skipped any more as a result.
- **`Security Headers ≥ 4` is `partial`.** The `HTTP Headers` tab tells you how many of the eight checked headers are set (e.g. "2/8"). The set is HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, Cross-Origin-Opener-Policy and Cross-Origin-Resource-Policy. Add at least four of them on the server and the check jumps from 1 to 3 points.

Then comes the most important step: **analyze the page again.** Paste the same URL once more and click **Analyze** — the gauge moves up, and you see in black and white that the fixes landed. (Example 6 shows how to compare before and after cleanly.)

## Example 3: AI-readiness check — can an LLM cite the page?

The **GEO Score** answers whether generative systems (ChatGPT, Claude, Perplexity, Google AI) can capture and cite your page well. Here's how:

1. After the run, switch to the **GEO Score** tab. It's organised into four categories: *Structured Data*, *AI Discoverability*, *Content Structure* and *Machine Readability*. Note: one check (Content Signals Declared) always shows as a pure `info` note with no effect on the score; a second one (Markdown Content Negotiation) appears only in Expert Mode.
2. **Look at *AI Discoverability* first.** The `AI Crawlers Allowed` check matters here: it tests the `robots.txt` against nine named bots — GPTBot, ChatGPT-User, OAI-SearchBot, Google-Extended, Claude-Web, ClaudeBot, anthropic-ai, PerplexityBot and CCBot. Block them and no AI can read you. "Good" here means: 0 blocked → the full 3 points.
3. **Check `llms.txt Present` and `llms.txt Valid Structure`.** No file means both are missing. "Good" looks like this: a reachable, non-empty and structurally sound `llms.txt` (5 points together). A present but malformed file earns only partial credit.
4. **Under *Structured Data*** the checks are `JSON-LD Present`, `Schema Variety`, `FAQ Schema` and `Author / Organization Schema`. The last is your E-E-A-T signal: if your JSON-LD marks up a `Person`/`Organization` or an `author` field, the AI knows who to attribute the statement to.

What to do when it's red? That's exactly what the matching generators are for:

- **[llms.txt Generator](https://www.jpkc.com/db/en/tools/llms/)** — produces a structurally valid `llms.txt` that turns both `llms.txt` checks green directly.
- **[Meta-Tags Generator](https://www.jpkc.com/db/en/tools/meta-tags/)** — delivers clean Open Graph and Twitter data that counts in both the SEO and GEO scores.

Run the page through the analyzer again afterwards and you can read the GEO-score jump directly.

## Example 4: Validating structured data and rich-result readiness

You want to know whether your markup is good enough for rich results and AI citations:

1. After the run, open the **Structured Data** tab. It lists every JSON-LD block found, with format, type and data.
2. **Check which `@type` values were detected.** The analyzer collects types recursively. For the GEO check `Schema Variety`: ≥ 3 distinct types → the full 3 points, 2 → 2, 1 → 1. A page with only `WebPage` leaves potential on the table — add e.g. `BreadcrumbList`, `Article` and `Organization` and the value climbs.
3. **Watch for two signals in particular:** a `FAQPage` block (the `FAQ Schema` check, 3 points — and a direct lever for FAQ rich results) and an author/organization schema (`Author / Organization Schema`, 3 points). Both appear in the tab as detected blocks when they're built in correctly.
4. If the tab does *not* find types you expected, it's usually invalid JSON-LD. Look up the relevant spot in the **Source Code** tab (raw HTML) and fix it in the markup.

## Example 5: Learning with the demo modes — no live page needed

You don't need a real URL to get to know the analyzer. The **Export / Import** tab holds three demo buttons that load ready-made example analyses (this tab works without a prior run):

- **Perfect** (green) — a page where everything fits: HTTPS, full security headers including `Content-Signal`, valid SSL, rich meta/OG/Twitter/hreflang data, JSON-LD (WebPage + FAQPage), a well-formed `llms.txt`, a clean heading tree, 6 landmarks, readability 62.
- **Broken** (red) — everything that can go wrong: HTTP only, a 3-hop redirect chain (301 → 302 → 200), title "Untitled", no description, duplicate H1 plus skipped levels, missing `alt` text, empty/spam links, `robots.txt` with `Disallow: /`, a malformed `llms.txt`, render-blocking resources.
- **Empty** (grey) — a completely blank page, `robots.txt` and `llms.txt` both 404, all fields null/0.

This is how you learn most: **load Perfect first, then Broken** and compare the same tabs. In the SEO Score and GEO Score tabs you see, check by check, what makes the difference between green and red. The key point: the demo files contain **only the raw data, no precomputed scores** — scoring runs client-side on load, exactly like a live analysis. So you're not looking at a mock-up but at the real scoring logic on a known dataset.

## Example 6: Comparing before and after cleanly

When you want to prove your fixes (to a client, say), you need a reproducible "before" state. The real mechanism for that is **Export / Import**:

1. **Capture the before.** Analyze the page and export the result in the **Export / Import** tab as JSON. The format is `{ "version": "1.0", "tool": "jpkcom-seo-analyzer", "data": { … } }` — only the raw `data` object is saved, never a frozen score.
2. **Apply the fixes.** Work through the `fail`/`partial` checks (see examples 2 and 3) and deploy the changes.
3. **Analyze the after.** Paste the same URL into the analyzer again and click **Analyze**.
4. **Compare.** Re-import the old JSON file via **Import** any time — the scores are then recomputed from the stored raw data, exactly as on a live run. That gives you the old state and the new one side by side, so you can show: SEO from 67 to 88, GEO from 31 to 74.

Because export only ever stores raw data and never a precomputed score, the comparison stays fair — old and new files are scored by the same logic.

---

Going deeper: the [overview](https://www.jpkc.com/db/en/tools/seo/) for the big picture, the [manual](https://www.jpkc.com/db/en/tools/seo/manual/) for every score weight in detail. You can try all of it directly in the [tool](https://www.jpkc.com/tools/seo/).

