Skip to content

Conversation

@devin-ai-integration
Copy link
Contributor

Summary

Creates a new consolidated SEO documentation page that organizes SEO topics into tabs, addressing a customer request for clear documentation on SEO capabilities. The new page covers:

  • Meta title & description - How to set headline and description frontmatter, site-level defaults
  • Canonical tags - Self-referencing canonicals (automatic), manual overrides via canonical-url, site-level canonical-host
  • Social metadata - Open Graph tags and Twitter Cards at page and site level
  • URL best practices - Formatting conventions, slug customization, redirects, indexing control

The navigation is updated to show "SEO overview" as the first item in the SEO section.

Review & Testing Checklist for Human

  • Verify redirect needed: The old page at /learn/docs/seo/metadata is no longer in navigation but the file metadata.mdx still exists. Decide if a redirect should be added from the old URL to /learn/docs/seo/overview
  • Check internal links: Verify links to /learn/docs/seo/configuring-slugs, /learn/docs/seo/redirects, /learn/docs/configuration/page-level-settings, and /learn/docs/configuration/site-level-settings work correctly in the preview
  • Technical accuracy: Confirm claims about Fern's automatic behavior (e.g., self-referencing canonicals, lowercase URL conversion) are accurate
  • Customer requirements: The customer asked about URL rewriting and rel alternate tags which Fern doesn't support - verify the page appropriately addresses what Fern does/doesn't do

Test plan: Deploy preview and navigate to /learn/docs/seo/overview, verify all tabs render correctly and internal links work.

Notes

The old metadata.mdx file was not deleted - it may be worth removing it or adding a redirect to avoid duplicate content.

Link to Devin run: https://app.devin.ai/sessions/7e6c3c770c614b3d8f203a07fbc763d0
Requested by: kenny

…on, canonical tags, and social metadata

Co-Authored-By: kenny@buildwithfern.com <kenny@buildwithfern.com>
@devin-ai-integration
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring


### Overriding canonical URLs

To manually set a canonical URL for a specific page, use the `canonical-url` frontmatter field:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Microsoft.URLFormat] Use 'of' (not 'for') to describe the relationship of the word URL to a resource.


Social metadata controls how your pages appear when shared on platforms like LinkedIn, Slack, Discord, and Twitter/X.

### Open Graph tags
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[FernStyles.Headings] 'Open Graph tags' should use sentence-style capitalization.


Open Graph (OG) tags control previews on LinkedIn, Slack, Discord, and other platforms. Fern automatically generates these tags from your page content, but you can customize them.

#### Page-level Open Graph settings
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[FernStyles.Headings] 'Page-level Open Graph settings' should use sentence-style capitalization.

```
</CodeBlock>

#### Site-level Open Graph settings
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[FernStyles.Headings] 'Site-level Open Graph settings' should use sentence-style capitalization.

```
</CodeBlock>

### Twitter Card tags
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[FernStyles.Headings] 'Twitter Card tags' should use sentence-style capitalization.

```
</CodeBlock>

#### Site-level Twitter settings
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[FernStyles.Headings] 'Site-level Twitter settings' should use sentence-style capitalization.

The `twitter:card` field accepts these values: `summary`, `summary_large_image`, `app`, or `player`.

</Tab>
<Tab title="URL best practices">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[FernStyles.Headings] 'URL best practices' should use sentence-style capitalization.


Well-structured URLs improve SEO and user experience. Fern automatically generates clean URLs from your navigation structure.

### URL formatting
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[FernStyles.Headings] 'URL formatting' should use sentence-style capitalization.

<CodeBlock title="docs.yml">
```yaml
redirects:
- source: "/old-path"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[FernStyles.Current] Avoid time-relative terms like 'old' that become outdated

redirects:
- source: "/old-path"
destination: "/new-path"
- source: "/old-folder/:slug"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[FernStyles.Current] Avoid time-relative terms like 'old' that become outdated

@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants