> ## Documentation Index
> Fetch the complete documentation index at: https://cj-teaches.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Improve tutorial SEO and GEO with claude-seo

> Install the claude-seo plugin, run /seo page against a tutorial with known SEO issues, and apply targeted improvements to titles, descriptions, and headings.

I was going to write this tutorial with a basic SEO skill I wrote and have used at work. However,
I recently discovered the [claude-seo plugin](https://github.com/AgriciDaniel/claude-seo) by [Agrici Daniel](https://github.com/AgriciDaniel) and was
completely blown away by its capabilities.

The plugin runs 18 sub-agents in parallel running 25 sub-skills, and is kicked off with a single skill. It's awesome.

Improving the SEO (Search Engine Optimization) and GEO (Generative Engine Optimization) of your tutorials helps them reach a wider audience and perform better in search results.
In this tutorial, you use the claude-seo plugin to audit a tutorial for SEO issues.

Feel free to use your own tutorial file instead of the provided demo.

## Prerequisites

Before starting, install the claude-seo plugin:

<Card title="Install claude-seo" icon="plug" href="https://github.com/AgriciDaniel/claude-seo#installation">
  The claude-seo plugin must be installed and available in Claude before running this tutorial.
</Card>

## Set up the tutorial file

<Steps>
  <Step title="Create a working directory">
    In your terminal, create a directory for this tutorial and download the demo tutorial file:

    ```bash theme={null}
    mkdir -p seo-tutorial
    cd seo-tutorial
    curl -O https://raw.githubusercontent.com/cjobermaier/public-resources/main/seo-your-tutorials/demo-tutorial.md
    ```

    Open `demo-tutorial.md` in your editor to skim the file before running the audit. It contains a realistic-looking tutorial with intentional SEO issues seeded throughout.
  </Step>

  <Step title="Launch Claude Code from this directory">
    Start Claude Code from inside `seo-tutorial/`:

    ```bash theme={null}
    claude
    ```

    Later commands reference `demo-tutorial.md` as a relative path, so Claude must be running from this directory.
  </Step>
</Steps>

## Run the SEO check

The `/seo` skill audits your file for SEO issues and returns findings across several categories: page title and meta description, heading structure, link text quality, and AI/LLM visibility signals. Each finding includes what to change and why.

<Steps>
  <Step title="Run the SEO audit">
    The `/seo` skill accepts a subcommand and a target. Use `page` to analyze a single file, or `audit` to analyze an entire site.

    Run `page` against the demo file:

    ```plaintext theme={null}
    /seo page demo-tutorial.md
    ```

    Claude scans the file and returns a scorecard followed by a prioritized issue list. The exact output varies, but the structure looks similar to the following:

    ```plaintext theme={null}
    Overall Score: 38/100

    On-Page SEO:     32/100  ███░░░░░░░
    Content Quality: 48/100  █████░░░░░
    Technical:       45/100  ████░░░░░░
    Schema:           0/100  ░░░░░░░░░░
    Images:         N/A
    ```

    You also see a prioritized list of issues with explanations and suggested fixes:

    **Prioritized Action Plan**

    | #  | Action                                                                      | Priority | Expected Impact                                  |
    | -- | --------------------------------------------------------------------------- | -------- | ------------------------------------------------ |
    | 1  | Add React 19 version note or expand with React 19 pattern                   | Critical | Accuracy + E-E-A-T + recency signal              |
    | 2  | Add description to frontmatter (157 chars)                                  | Critical | Direct CTR improvement in SERP                   |
    | 3  | Revise title to 50–60 chars, drop "A Guide to"                              | High     | CTR + keyword matching                           |
    | 4  | Fix both vague anchor text links                                            | High     | Crawlability + topical relevance signal          |
    | 5  | Add author bio + publication/updated dates                                  | High     | E-E-A-T — foundational for technical content     |
    | 6  | Add OG/Twitter card metadata                                                | High     | Social sharing CTR                               |
    | 7  | Expand content to 1,000+ words (add useRef for values, useImperativeHandle) | Medium   | Competitive depth; passes thin-content threshold |
    | 8  | Add TechArticle JSON-LD                                                     | Medium   | Structured signals to Google + AI systems        |
    | 9  | Add canonical declaration                                                   | Medium   | Link equity consolidation                        |
    | 10 | Remove ## Introduction heading; merge with opening                          | Medium   | Cleaner structure, no duplicate framing          |
    | 11 | Add one diagram (parent→forwardRef→DOM ref chain)                           | Medium   | UX + image SEO surface                           |
  </Step>
</Steps>

## Implement improvements

You have two approaches depending on how much control you want:

1. You can review the findings and choose which ones to apply.
2. You can ask Claude to apply all the improvements at once.

Working through each finding with Claude gives you more control over the result.

### Work through each item

Use this approach when you want to review changes before committing to them, or when working on real content where some suggestions may not fit your audience.

<Steps>
  <Step title="Ask Claude to work on findings with you">
    ```plaintext theme={null}
    Lets work through each of the findings together in priority order.
    ```
  </Step>

  <Step title="Claude shows you the first finding and suggests a fix">
    Tell Claude which priority levels to apply:

    ```plaintext theme={null}
      ---
    Finding C1 — Missing meta description

    The frontmatter currently only has:

    ---
    title: A Guide to Using React Refs
    ---

    I'd add a description field. Here's a draft (157 chars):

    ▎ "Learn how to use React refs with useRef and forwardRef. Covers attaching refs to DOM elements, forwarding refs through custom components, and when to use refs vs.
    ▎ state."

    Does that description look right to you, or would you like to adjust the focus or phrasing before I write it to the file?
    ```

    Work through each finding with Claude, deciding which ones to apply and how to implement them.
  </Step>

  <Step title="Re-run the audit to verify">
    ```plaintext theme={null}
    /seo page demo-tutorial.md
    ```

    Confirm the items you applied are resolved. The issues you skipped will still appear.
  </Step>
</Steps>

### Apply everything at once

<Steps>
  <Step title="Apply all improvements">
    Ask Claude to apply every finding from the audit:

    ```plaintext theme={null}
    Apply all the SEO improvements from the audit to demo-tutorial.md that you can 
    automatically fix.
    ```
  </Step>

  <Step title="Re-run the audit to verify">
    Run the audit again to confirm the Critical and High issues are resolved:

    ```plaintext theme={null}
    /seo page demo-tutorial.md
    ```

    The score jumps significantly. Medium and Low issues may still appear — that's expected. Decide which remaining items are worth addressing.
  </Step>
</Steps>

## Next steps

You downloaded a demo tutorial with seeded SEO issues, ran `/seo page` to get a scored audit with a prioritized action plan, and applied targeted improvements to titles, descriptions, headings, and links. Then you re-ran the audit to verify the score improved.

* Run `/seo` against one of your own tutorials to find issues in real content.
* Learn how to [fact-check your tutorials against versioned docs](/tutorials/increase-content-accuracy).
* Learn how to [check your docs against a style guide](/tutorials/style-guide-check).

***

Found an issue with this tutorial? [Open a GitHub issue](https://github.com/cjobermaier/ai-docs-and-tutorials/issues).
