Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
188 changes: 174 additions & 14 deletions guides/seo.mdx
Original file line number Diff line number Diff line change
@@ -1,43 +1,203 @@
---
title: "SEO"

Check warning on line 2 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L2

Spell out 'SEO', if it's unfamiliar to the audience.
description: "Improve SEO to increase documentation discoverability."

Check warning on line 3 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L3

Spell out 'SEO', if it's unfamiliar to the audience.
keywords: ["search engine optimization", "meta tags", "keyword research"]
---

<Tip>
This page explains fundamental strategies to optimize your documentation SEO.

Check warning on line 8 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L8

Spell out 'SEO', if it's unfamiliar to the audience.
</Tip>

## Content basics

Make your writing and structure easy for search engines to scan.

- **Headings and subheadings:** Use sequential, meaningful headers to structure your content. Each page has an H1 created from the `title:` property in the frontmatter.
- **Short paragraphs and bullet points:** Break down large chunks of text into easily readable sections. Use bullet points and numbered lists where appropriate.
- **Internal linking:** Link to related content using descriptive anchor text. For example, "Learn more about rate limiting" instead of "Click here."
### Heading hierarchy

Use sequential, meaningful headers to structure your content. Each page has an H1 created from the `title:` property in the frontmatter. Follow these best practices:

- Use only one H1 per page (automatically generated from frontmatter)
- Follow a logical hierarchy: H1 → H2 → H3 (don't skip levels)

Check warning on line 20 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L20

Use parentheses judiciously.
- Include relevant keywords in headings naturally
- Keep headings descriptive and concise (under 70 characters)

Check warning on line 22 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L22

Use parentheses judiciously.
- Use sentence case for consistency

### Content structure

Break down large chunks of text into easily readable sections:

- **Short paragraphs:** Aim for 2-4 sentences per paragraph
- **Bullet points and lists:** Use for scannable information
- **Code examples:** Include practical, working examples
- **Visual aids:** Add diagrams, screenshots, or videos where helpful
- **Tables:** Organize comparative or structured data

### Internal linking strategy

Link to related content using descriptive anchor text:

- Use descriptive anchor text: "Learn more about [rate limiting](/api/rate-limits)" instead of "Click here"
- Link to related pages within your documentation to create topic clusters
- Add contextual links within body content, not just at the end
- Ensure all important pages are linked from at least one other page

Check warning on line 42 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L42

In general, use active voice instead of passive voice ('are linked').
- Use relative paths for internal links to maintain portability

## Technical SEO basics

Check warning on line 45 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L45

'Technical SEO basics' should use sentence-style capitalization.

Check warning on line 45 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L45

Spell out 'SEO', if it's unfamiliar to the audience.

Once your content is optimized, ensure your documentation performs well from a technical standpoint.
Once your content is optimized, ensure your documentation performs well from a technical standpoint.

Check warning on line 47 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L47

In general, use active voice instead of passive voice ('is optimized').

### Meta tags and descriptions

Craft SEO-friendly titles and descriptions for each page. Most [meta tags](/optimize/seo) are automatically generated, but you can customize them:

Check warning on line 51 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L51

Spell out 'SEO', if it's unfamiliar to the audience.

- **Title tags:** Keep between 50-60 characters to avoid truncation in search results

Check warning on line 53 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L53

Don't add words such as 'from' or 'between' to describe a range of numbers.
- **Meta descriptions:** Write compelling descriptions between 150-160 characters

Check warning on line 54 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L54

Don't add words such as 'from' or 'between' to describe a range of numbers.
- **Include target keywords:** Place primary keywords near the beginning
- **Make each unique:** Every page should have a distinct title and description
- **Match user intent:** Describe what users will learn or accomplish

Check warning on line 57 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L57

Avoid using 'will'.

Example frontmatter:
```yaml
---
title: "API authentication guide"
description: "Learn how to authenticate API requests using OAuth 2.0, API keys, and JWT tokens with code examples."
keywords: ["API authentication", "OAuth 2.0", "JWT", "API keys"]
---
```

### Image optimization

Provide descriptive alt text for images with relevant keywords:

- Use descriptive file names: `oauth-flow-diagram.png` instead of `image1.png`
- Write meaningful alt text: "OAuth 2.0 API authentication flow diagram" instead of "diagram"
- Keep alt text under 125 characters
- Don't start with "image of" or "picture of"
- Include keywords naturally without stuffing
- Compress images to reduce file size (use WebP or AVIF formats)

Check warning on line 77 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L77

Use parentheses judiciously.

Check warning on line 77 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L77

Spell out 'AVIF', if it's unfamiliar to the audience.

### Sitemaps and indexing

These basic technical SEO practices help make your docs more discoverable:
Mintlify automatically generates a sitemap at `/sitemap.xml`:

- **Meta tags and descriptions:** Craft SEO-friendly titles (50-60 characters) and descriptions (150-160 characters) for each page. Most [meta tags](/optimize/seo) are automatically generated.
- **Alt text for images:** Provide descriptive alt text for images with relevant keywords. For example, "OAuth 2.0 API authentication flow" instead of just "diagram". This enhances SEO and accessibility.
- **Sitemaps:** Ensure your sitemap is up-to-date. Mintlify automatically generates a sitemap. However, you can manually create a sitemap if you prefer a custom format. Once created, search engines index site maps over time, but you can submit your sitemap directly to Google Search Console to speed up the process.
- Sitemaps are automatically updated when you deploy
- Submit your sitemap to [Google Search Console](https://search.google.com/search-console) to speed up indexing
- Use the `seo.indexing` field in `docs.json` to control which pages are included

Check warning on line 85 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L85

In general, use active voice instead of passive voice ('are included').
- Monitor indexing status and fix any crawl errors in Search Console

### URL structure

Check warning on line 88 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L88

'URL structure' should use sentence-style capitalization.

Create clean, descriptive URLs:

- Use lowercase letters and hyphens (not underscores)

Check warning on line 92 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L92

Use parentheses judiciously.
- Keep URLs short and descriptive: `/api/authentication` not `/api/auth-guide-v2-final`
- Follow a logical hierarchy that matches your navigation
- Avoid special characters, spaces, or unnecessary parameters
- Use consistent patterns across your documentation

## Page performance

Use tools like [Google PageSpeed Insights](https://pagespeed.web.dev) to identify areas for technical SEO improvement.
Page speed is a critical ranking factor. Use tools like [Google PageSpeed Insights](https://pagespeed.web.dev) and [WebPageTest](https://www.webpagetest.org) to identify areas for improvement.

### Core Web Vitals

Check warning on line 102 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L102

'Core Web Vitals' should use sentence-style capitalization.

Focus on these key metrics that Google uses for ranking:

- **Largest Contentful Paint (LCP):** Should occur within 2.5 seconds

Check warning on line 106 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L106

Did you really mean 'Contentful'?

Check warning on line 106 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L106

Use parentheses judiciously.
- **First Input Delay (FID):** Should be less than 100 milliseconds

Check warning on line 107 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L107

Use parentheses judiciously.
- **Cumulative Layout Shift (CLS):** Should be less than 0.1

Check warning on line 108 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L108

Use parentheses judiciously.

Examples of more advanced optimizations:
### Performance optimization

- **Optimize media for speed:** Compress images using formats like WebP or AVIF and ensure your pages load quickly (ideally under 3 seconds).
- **Structured data (schema markup):** Add schema markup (like HowTo, FAQ) to your pages to help search engines better understand and rank your content.
- **Optimize media:** Compress images using WebP or AVIF formats

Check warning on line 112 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L112

Spell out 'AVIF', if it's unfamiliar to the audience.
- **Lazy load images:** Load images only when they enter the viewport

Check warning on line 113 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L113

Did you really mean 'viewport'?
- **Minimize JavaScript:** Remove unused code and defer non-critical scripts
- **Enable caching:** Leverage browser caching for static assets
- **Use a CDN:** Serve content from geographically distributed servers

Check warning on line 116 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L116

Spell out 'CDN', if it's unfamiliar to the audience.
- **Target load time:** Aim for pages to load in under 3 seconds

### Structured data (schema markup)

Check warning on line 119 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L119

Use parentheses judiciously.

Add schema markup to help search engines better understand and rank your content:

- **HowTo schema:** For step-by-step guides and tutorials
- **FAQ schema:** For frequently asked questions
- **Article schema:** For blog posts and documentation articles
- **BreadcrumbList schema:** For navigation breadcrumbs
- **SoftwareApplication schema:** For API and SDK documentation

Test your structured data using [Google's Rich Results Test](https://search.google.com/test/rich-results).

### Mobile optimization

Ensure your documentation works well on mobile devices:

- Use responsive design that adapts to different screen sizes
- Ensure text is readable without zooming (minimum 16px font size)

Check warning on line 136 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L136

Use parentheses judiciously.
- Make tap targets at least 48x48 pixels
- Avoid horizontal scrolling
- Test on real devices, not just emulators

## Keyword research

To increase organic traffic, invest time into understanding which keywords help users land on your documentation.

- **Keyword research:** Use free tools like [Google Keyword Planner](https://ads.google.com/intl/en_us/home/tools/keyword-planner/) or [Keywords Everywhere](https://keywordseverywhere.com) to identify common phrases or long-tail keywords.
- **Integrate keywords naturally:** Add keywords naturally into headings, subheadings, and throughout the body text. Don't overstuff keywords. Your documentation should be written for your users, not search engines.
### Finding the right keywords

Use these tools to identify valuable keywords:

- **[Google Keyword Planner](https://ads.google.com/intl/en_us/home/tools/keyword-planner/):** Free tool for search volume and competition data
- **[Google Search Console](https://search.google.com/search-console):** See which queries already drive traffic to your docs
- **[Ahrefs](https://ahrefs.com) or [SEMrush](https://www.semrush.com):** Comprehensive keyword research and competitor analysis
- **[AnswerThePublic](https://answerthepublic.com):** Discover questions people ask about your topics
- **[Keywords Everywhere](https://keywordseverywhere.com):** Browser extension for keyword data

### Keyword strategy

Focus on these types of keywords:

- **Primary keywords:** Main topics your documentation covers (e.g., "REST API authentication")

Check warning on line 159 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L159

Use parentheses judiciously.

Check warning on line 159 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L159

Use 'for example' instead of 'e.g.'.

Check warning on line 159 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L159

Spell out 'REST', if it's unfamiliar to the audience.
- **Long-tail keywords:** Specific phrases with lower competition (e.g., "how to implement OAuth 2.0 in Node.js")

Check warning on line 160 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L160

Use 'for example' instead of 'e.g.'.
- **Question keywords:** Queries starting with who, what, where, when, why, how
- **Intent-based keywords:** Match what users are trying to accomplish (e.g., "troubleshoot API errors")

Check warning on line 162 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L162

Use parentheses judiciously.

Check warning on line 162 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L162

Use 'for example' instead of 'e.g.'.

### Keyword implementation

Add keywords naturally throughout your content:

- **Title and H1:** Include primary keyword near the beginning
- **First paragraph:** Use primary keyword within the first 100 words
- **Headings (H2, H3):** Include related keywords and variations

Check warning on line 170 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L170

Use parentheses judiciously.
- **Body text:** Use keywords naturally throughout, including synonyms
- **Image alt text:** Include relevant keywords in image descriptions
- **URL slug:** Use primary keyword in the page URL

**Important:** Don't overstuff keywords. Your documentation should be written for your users, not search engines. Aim for natural language that provides value.

Check warning on line 175 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L175

': D' should be in lowercase.

Check warning on line 175 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L175

In general, use active voice instead of passive voice ('be written').

## Monitoring and analytics

Track your SEO performance to understand what's working:

Check warning on line 179 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L179

Spell out 'SEO', if it's unfamiliar to the audience.

### Key metrics to monitor

- **Organic traffic:** Total visits from search engines
- **Keyword rankings:** Position in search results for target keywords
- **Click-through rate (CTR):** Percentage of users who click your result

Check warning on line 185 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L185

Use parentheses judiciously.

Check warning on line 185 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L185

Spell out 'CTR', if it's unfamiliar to the audience.
- **Bounce rate:** Percentage of users who leave after viewing one page
- **Time on page:** How long users spend reading your content
- **Pages per session:** How many pages users visit

### Tools for monitoring

- **[Google Search Console](https://search.google.com/search-console):** Monitor search performance, indexing, and issues
- **[Google Analytics](https://analytics.google.com):** Track traffic, user behavior, and conversions
- **[Ahrefs](https://ahrefs.com) or [SEMrush](https://www.semrush.com):** Monitor rankings and backlinks

Check warning on line 194 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L194

Did you really mean 'backlinks'?
- **Mintlify Insights:** Built-in analytics for documentation engagement

### Continuous improvement

- Review analytics monthly to identify trends
- Update underperforming pages with better content

Check warning on line 200 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L200

Did you really mean 'underperforming'?
- Refresh outdated content to maintain rankings
- Add new content targeting high-value keywords
- Fix technical issues promptly (broken links, slow pages, crawl errors)

Check warning on line 203 in guides/seo.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

guides/seo.mdx#L203

Use parentheses judiciously.
Loading
Loading