Skip to content

SEO improvement based on Pixelpoint SEO audit#1054

Merged
jainpawan21 merged 2 commits intomainfrom
MRK-1381
Mar 16, 2026
Merged

SEO improvement based on Pixelpoint SEO audit#1054
jainpawan21 merged 2 commits intomainfrom
MRK-1381

Conversation

@Aviatorscode2
Copy link
Contributor

@Aviatorscode2 Aviatorscode2 commented Mar 6, 2026

Summary by CodeRabbit

  • Documentation
    • Enhanced documentation page metadata with improved titles and descriptions across API references, framework guides, platform documentation, and community resources for better discoverability and SEO optimization.

@netlify
Copy link

netlify bot commented Mar 6, 2026

Deploy Preview for docs-novu ready!

Name Link
🔨 Latest commit 047db5b
🔍 Latest deploy log https://app.netlify.com/projects/docs-novu/deploys/69b6e0d48317560008cf6e42
😎 Deploy Preview https://deploy-preview-1054--docs-novu.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@linear
Copy link

linear bot commented Mar 15, 2026

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 15, 2026

📝 Walkthrough

Walkthrough

This PR systematically updates MDX front matter metadata across the entire documentation suite by adding or modifying pageTitle and description fields. Changes span API reference, framework guides, platform documentation, community, and other sections, standardizing page title metadata for improved SEO and navigation without modifying content or functionality.

Changes

Cohort / File(s) Summary
API Reference Schema Files
content/docs/api-reference/contexts/*, content/docs/api-reference/environments/*, content/docs/api-reference/integrations/*, content/docs/api-reference/messages/*, content/docs/api-reference/notifications/*, content/docs/api-reference/subscribers/*, content/docs/api-reference/topics/*, content/docs/api-reference/workflows/*
Added pageTitle and description fields to schema documentation front matter, providing standardized page titles and descriptive metadata for API reference resources.
API Reference Core Pages
content/docs/api-reference/idempotency.mdx, content/docs/api-reference/index.mdx, content/docs/api-reference/payload-limits.mdx, content/docs/api-reference/rate-limiting.mdx
Updated pageTitle values with adjusted formatting and content; modified metadata in index.mdx and payload-limits.mdx by removing description field while adjusting page title.
Community Documentation
content/docs/community/changelog.mdx, content/docs/community/index.mdx, content/docs/community/roadmap.mdx, content/docs/community/run-in-local-machine.mdx, content/docs/community/self-hosted-and-novu-cloud.mdx, content/docs/community/add-a-new-provider.mdx
Updated pageTitle front matter with expanded descriptive text; modified quote style formatting across files.
Community Self-Hosting
content/docs/community/self-hosting-novu/*
Updated pageTitle values with extended descriptions; adjusted field structure in v0-to-v2-migration.mdx by replacing title key with pageTitle and adding new title field.
Framework Core & Channels
content/docs/framework/chat-channel.mdx, content/docs/framework/email-channel.mdx, content/docs/framework/in-app-channel.mdx, content/docs/framework/push-channel.mdx, content/docs/framework/sms-channel.mdx, content/docs/framework/controls.mdx, content/docs/framework/custom.mdx, content/docs/framework/skip.mdx, content/docs/framework/studio.mdx, content/docs/framework/tags.mdx, content/docs/framework/index.mdx, content/docs/framework/introduction.mdx
Updated pageTitle front matter with standardized prefixing and extended descriptive text to clarify framework context.
Framework Quickstart Guides
content/docs/framework/quickstart/express.mdx, content/docs/framework/quickstart/h3.mdx, content/docs/framework/quickstart/lambda.mdx, content/docs/framework/quickstart/nestjs.mdx, content/docs/framework/quickstart/nextjs.mdx, content/docs/framework/quickstart/nuxt.mdx, content/docs/framework/quickstart/remix.mdx, content/docs/framework/quickstart/svelte.mdx
Updated pageTitle values to use standardized "Framework Quickstart Guide" format with framework name prefix.
Framework Content & Email
content/docs/framework/content/react-email.mdx, content/docs/framework/content/remix-react-email.mdx, content/docs/framework/content/svelte-email.mdx, content/docs/framework/content/vue-email.mdx
Extended pageTitle values with descriptive suffixes about email content template integration.
Framework Schema Validation
content/docs/framework/schema/class-validator.mdx, content/docs/framework/schema/json-schema.mdx, content/docs/framework/schema/zod.mdx
Updated pageTitle with appended schema validation guide descriptions.
Framework TypeScript & Steps
content/docs/framework/typescript/*, content/docs/framework/deployment/production.mdx
Updated pageTitle values with extended descriptive text; standardized naming for TypeScript steps and overview pages.
Platform Quickstart & SDKs
content/docs/platform/quickstart/angular.mdx, content/docs/platform/quickstart/nextjs.mdx, content/docs/platform/quickstart/react.mdx, content/docs/platform/quickstart/remix.mdx, content/docs/platform/quickstart/vanilla-js.mdx, content/docs/platform/quickstart/vue.mdx, content/docs/platform/sdks/*
Updated pageTitle front matter; adjusted formatting (single to double quotes) and extended descriptive text; removed description field from nextjs.mdx.
Platform Integrations
content/docs/platform/integrations/chat/index.mdx, content/docs/platform/integrations/email/(providers)/*, content/docs/platform/integrations/email/activity-tracking/*, content/docs/platform/integrations/push/index.mdx, content/docs/platform/integrations/push/push-activity-tracking.mdx, content/docs/platform/integrations/sms/index.mdx, content/docs/platform/integrations/index.mdx
Added/updated pageTitle and adjusted metadata structure; removed description and icon fields from push and SMS integration index pages; standardized provider-specific guide titles.
Platform Inbox Configuration
content/docs/platform/inbox/advanced-features/multi-tenancy.mdx, content/docs/platform/inbox/configuration/data-object.mdx, content/docs/platform/inbox/configuration/icons.mdx, content/docs/platform/inbox/configuration/preferences.mdx, content/docs/platform/inbox/configuration/styling.mdx, content/docs/platform/inbox/features/snooze.mdx, content/docs/platform/inbox/headless-mode.mdx, content/docs/platform/inbox/prepare-for-production.mdx
Added or updated pageTitle front matter with descriptive text and standardized naming conventions.
Platform Account & Concepts
content/docs/platform/account/authentication.mdx, content/docs/platform/account/billing.mdx, content/docs/platform/additional-resources/errors.mdx, content/docs/platform/concepts/preferences.mdx, content/docs/platform/concepts/tenants.mdx
Added/updated pageTitle field to provide explicit page titles for account configuration and concept documentation.
Platform Developer & Webhooks
content/docs/platform/developer/webhooks/event-types.mdx, content/docs/platform/developer/webhooks/index.mdx, content/docs/platform/developer/webhooks/webhooks.mdx
Updated pageTitle values; adjusted quote formatting; removed description and icon fields from webhooks.mdx.
Platform Workflow & Subscription
content/docs/platform/workflow/*, content/docs/platform/subscription/*
Updated pageTitle values with "How to" prefixes and extended descriptive text; adjusted field structure in subscription and workflow configuration pages.
Guides
content/docs/guides/webhooks/segment.mdx
Updated pageTitle value with adjusted phrasing.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • novuhq/docs#881: Directly modifies the same API reference schema MDX files with front-matter edits for environment and workflow schemas.
  • novuhq/docs#851: Updates front-matter metadata across the same API reference schema files (integration, message, topic, subscriber schemas).
  • novuhq/docs#1025: Overlaps with subscription documentation files modified in this PR (overview, quickstart, customize-and-configure, headless-hooks).

Suggested reviewers

  • jainpawan21
  • scopsy

🐰 Hoppy times in the docs, with titles so fine,
Page by page, they all align,
Metadata dancing in perfect rows,
SEO magic from head to toes! ✨📚

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'SEO improvement based on Pixelpoint SEO audit' directly and accurately reflects the primary objective of the pull request, which involves systematically updating pageTitle and description fields across 100+ documentation files to improve search engine optimization based on a professional SEO audit.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch MRK-1381
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

CodeRabbit can generate a title for your PR based on the changes.

Add @coderabbitai placeholder anywhere in the title of your PR and CodeRabbit will replace it with a title based on the changes in the PR. You can change the placeholder by changing the reviews.auto_title_placeholder setting.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 9

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (3)
content/docs/platform/inbox/headless-mode.mdx (1)

35-35: ⚠️ Potential issue | 🔴 Critical

Critical: Corrupted subscriber prop value in code example.

The subscriber prop contains garbled text that appears to be a copy-paste error or merge conflict artifact:

subscriber="[notificationSoundRef, novu]icationSoundRef, novu]IBER_ID"

This should be a placeholder like the other examples in this file.

🐛 Proposed fix
-      subscriber="[notificationSoundRef, novu]icationSoundRef, novu]IBER_ID"
+      subscriber="YOUR_SUBSCRIBER_ID"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/platform/inbox/headless-mode.mdx` at line 35, The code example
contains a corrupted subscriber prop value ("subscriber=\"[notificationSoundRef,
novu]icationSoundRef, novu]IBER_ID\""); locate the example where the subscriber
prop is used and replace the garbled string with the proper placeholder used
elsewhere (e.g., "SUBSCRIBER_ID" or the same placeholder style as other examples
in this file) so the prop is a clean, readable placeholder; ensure the corrected
prop matches the surrounding examples' format and casing.
content/docs/platform/sdks/react/hooks/novu-provider.mdx (1)

14-18: ⚠️ Potential issue | 🟠 Major

Fix the TypeTable to document subscriber, not subscriberId.

The props table currently lists subscriberId, but all usage examples in both React and React Native documentation use subscriber. This mismatch can mislead developers during integration.

Suggested fix
-    subscriberId: {
+    subscriber: {
       type: "string",
       description: "The unique identifier of the subscriber",
       typeDescription: "Required",
     },
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/platform/sdks/react/hooks/novu-provider.mdx` around lines 14 -
18, The TypeTable currently documents a prop named subscriberId but the SDK
examples use subscriber; update the prop entry in the TypeTable to use
subscriber (replace subscriberId with subscriber), set its type to "object" (or
the correct shape used elsewhere), adjust description to "The subscriber object
containing id and other attributes" and update typeDescription to match (e.g.,
"Required" or the documented shape). Ensure the change targets the TypeTable
entry that currently defines subscriberId so examples and docs are consistent.
content/docs/platform/sdks/react-native/hooks/novu-provider.mdx (1)

16-17: ⚠️ Potential issue | 🟠 Major

Fix NovuProvider prop name in the props table (subscriberIdsubscriber).

The table documents subscriberId, but all three code examples in this file (lines 33, 50, 73) use subscriber, and NovuProvider expects subscriber. This mismatch will mislead developers and cause integration failures.

🔧 Suggested fix
-| subscriberId          | string    | Yes      | The unique identifier of the subscriber                        |
+| subscriber            | string    | Yes      | The unique identifier of the subscriber                        |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/platform/sdks/react-native/hooks/novu-provider.mdx` around lines
16 - 17, The props table documents the wrong prop name: replace `subscriberId`
with `subscriber` in the props table so it matches the NovuProvider usage and
expected prop; update the header row entry (currently `subscriberId`) to
`subscriber` and ensure its type and required flag remain the same to align with
the NovuProvider component and the examples using `subscriber`.
🧹 Nitpick comments (22)
content/docs/community/self-hosting-novu/deploy-with-docker.mdx (1)

2-2: Consider trimming pageTitle for optimal SERP display.

The new pageTitle is 84 characters. Search engines typically truncate titles beyond 50-70 characters in search results, which could cut off "for Novu deployments" or more.

Since this is based on a dedicated SEO audit, the keyword density may be intentional. If you want to stay within recommended limits while preserving key terms, consider a shorter variant like:

"Deploy with Docker - Novu Self-Hosting Guide"

That said, if the audit specifically recommended targeting long-tail keywords, the current title is fine.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/community/self-hosting-novu/deploy-with-docker.mdx` at line 2,
The pageTitle value is lengthy and may be truncated in SERPs; update the
pageTitle frontmatter (the pageTitle field) to a shorter, SEO-friendly
variant—e.g., replace "Deploy with Docker - self-hosting setup and operations
guide for Novu deployments" with a concise title like "Deploy with Docker - Novu
Self-Hosting Guide" or another shortened version preserving key terms; ensure
you only modify the pageTitle string in the file
content/docs/community/self-hosting-novu/deploy-with-docker.mdx and keep
punctuation/quoting consistent.
content/docs/platform/integrations/push/push-activity-tracking.mdx (1)

1-5: Consider standardizing quote style across front matter fields.

The pageTitle field now uses double quotes while title and description still use single quotes. For consistency and maintainability, consider using the same quote style for all front matter string values.

✨ Proposed fix to standardize on double quotes
 ---
 pageTitle: "Push Notification Activity Tracking"
-title: 'Activity Tracking'
-description: 'Learn how to manually forward push notification events from your application to Novu for unified activity tracking.'
+title: "Activity Tracking"
+description: "Learn how to manually forward push notification events from your application to Novu for unified activity tracking."
 ---
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/platform/integrations/push/push-activity-tracking.mdx` around
lines 1 - 5, Front matter string quoting is inconsistent: pageTitle uses double
quotes while title and description use single quotes; update the front matter so
all string values use the same quote style (e.g., change title and description
to use double quotes) by editing the front matter keys pageTitle, title, and
description to match the chosen quoting convention.
content/docs/platform/developer/webhooks/webhooks.mdx (1)

1-4: Consider keeping an explicit front matter description for SEO snippets.

The pageTitle change is good, but having a dedicated description here would give better control over search previews and stay aligned with the SEO-audit objective.

Suggested diff
 ---
 title: 'Webhooks'
 pageTitle: "Novu Webhooks Guide"
+description: "Learn how to configure Novu webhooks, supported event types, signature verification, retries, and recovery."
 ---
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/platform/developer/webhooks/webhooks.mdx` around lines 1 - 4,
Add an explicit front-matter description field to the MDX file so SEO snippets
and search previews are controlled; update the existing front-matter (which
currently contains title and pageTitle) to include a description: e.g., add a
"description" key with a short summary of the page’s purpose and target keywords
to the front-matter block that contains title and pageTitle so search engines
and previews use it.
content/docs/platform/developer/webhooks/event-types.mdx (1)

3-3: Standardize pageTitle branding/casing with the rest of the section.

Line 3 currently uses a generic/lowercase variant. Consider matching the section pattern (e.g., Novu Webhooks Event Types) for consistency and stronger SEO signals.

Suggested diff
-pageTitle: "Webhooks event types"
+pageTitle: "Novu Webhooks Event Types"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/platform/developer/webhooks/event-types.mdx` at line 3, Update
the pageTitle frontmatter value to match the section's branding/casing
convention (replace the current "Webhooks event types" value in the pageTitle
field with a capitalized, branded form such as "Novu Webhooks Event Types") so
it is consistent with other pages and improves SEO.
content/docs/platform/workflow/add-and-configure-steps/configure-action-steps/delay.mdx (1)

2-2: Optional copy polish for title readability.

Line 2 is fine functionally; consider a more natural phrasing for consistency with doc-style headings.

📝 Optional wording tweak
-pageTitle: "How to configure Delay Step"
+pageTitle: "How to Configure the Delay Step"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@content/docs/platform/workflow/add-and-configure-steps/configure-action-steps/delay.mdx`
at line 2, The frontmatter key pageTitle currently reads "How to configure Delay
Step"; update the pageTitle value to a more natural doc-style heading such as
"How to Configure the Delay Step" (or "Configuring the Delay Step") to improve
readability—locate the pageTitle frontmatter in the file and replace the string
accordingly.
content/docs/platform/integrations/sms/index.mdx (1)

3-3: Consider shortening the page title to avoid keyword repetition.

Line 3 is quite long and repeats “SMS” heavily. A cleaner title usually performs better for readability and snippet quality.

♻️ Suggested metadata wording
-pageTitle: "SMS Integrations (SMS) - SMS provider integration guide for Novu notification delivery"
+pageTitle: "Novu SMS Integrations"
+description: "Set up SMS providers and deliver SMS notifications with Novu."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/platform/integrations/sms/index.mdx` at line 3, The frontmatter
pageTitle value is overly long and repeats "SMS" — update the pageTitle metadata
(the pageTitle field in content/docs/platform/integrations/sms/index.mdx) to a
shorter, non-redundant string such as "SMS Integrations - Provider Guide" or
"SMS Provider Integration Guide" to improve readability and SEO; simply replace
the existing pageTitle value with the chosen concise title.
content/docs/framework/index.mdx (1)

2-2: Consider simplifying the redundant page title.

The current title "Novu Framework Overview - overview of Novu Framework architecture, concepts, and setup" contains redundancy ("Overview" and "Novu Framework" each appear twice) and is quite long (~90 characters). SEO best practices suggest keeping titles under 60 characters to avoid truncation in search results.

📝 Suggested simplification
-pageTitle: "Novu Framework Overview - overview of Novu Framework architecture, concepts, and setup"
+pageTitle: "Novu Framework Overview - Architecture, Concepts, and Setup"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/framework/index.mdx` at line 2, The frontmatter pageTitle value
is redundant and too long—update the pageTitle key in
content/docs/framework/index.mdx to a concise, non-redundant title under ~60
characters (e.g., "Novu Framework Overview" or "Novu Framework") by removing the
duplicated words and extra descriptive clause so the title reads cleanly and
avoids truncation in search results.
content/docs/platform/inbox/features/snooze.mdx (1)

1-6: Consider shortening the pageTitle for better SEO.

The current pageTitle at 77 characters is longer than the recommended 50-60 characters for optimal search result display. Other inbox configuration docs in this PR use more concise titles (e.g., "Inbox Preferences Configuration").

A shorter alternative could be: "Snooze Notifications - Novu Inbox Configuration"

📝 Suggested change
 ---
-pageTitle: "Snooze notifications - Inbox feature configuration guide for Novu applications"
+pageTitle: "Snooze Notifications - Novu Inbox Configuration"
 title: 'Snooze'
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/platform/inbox/features/snooze.mdx` around lines 1 - 6, The
pageTitle string is too long for SEO; update the frontmatter key pageTitle in
the Snooze doc to a shorter, clearer title (e.g., replace the existing value
with "Snooze Notifications - Novu Inbox Configuration" or another concise 50–60
char variant) so it matches other inbox docs and improves search result display;
locate the pageTitle entry in the frontmatter at the top of the file and edit
its value accordingly.
content/docs/framework/tags.mdx (1)

2-2: Consider revising "template tagging" terminology.

The pageTitle mentions "template tagging" but the page content describes workflow-level tags for organizing notifications, not template tags. Consider aligning the terminology:

-pageTitle: "Framework Tags Implementation - template tagging and targeting guide for Novu Framework notifications"
+pageTitle: "Framework Tags Implementation - workflow tagging and filtering guide for Novu Framework notifications"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/framework/tags.mdx` at line 2, The pageTitle string currently
uses "template tagging" but the article describes workflow-level tags; update
the pageTitle value (the pageTitle entry in content/docs/framework/tags.mdx) to
reflect "workflow tagging" or "workflow-level tags" (e.g., "Framework Tags
Implementation - workflow tagging and targeting guide for Novu Framework
notifications") so terminology aligns with the content and remove or replace
"template tagging" wherever present.
content/docs/platform/integrations/chat/index.mdx (1)

2-2: Redundant "(Chat)" in pageTitle.

The pageTitle contains redundancy with "Chat Integrations (Chat)". Consider simplifying:

-pageTitle: "Chat Integrations (Chat) - chat provider integration guide for Novu notification delivery"
+pageTitle: "Chat Integrations - chat provider integration guide for Novu notification delivery"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/platform/integrations/chat/index.mdx` at line 2, The pageTitle
value currently reads pageTitle: "Chat Integrations (Chat) - chat provider
integration guide for Novu notification delivery" which is redundant; update the
pageTitle string (the pageTitle identifier) to remove the duplicate "(Chat)" and
simplify it to something like "Chat Integrations - chat provider integration
guide for Novu notification delivery" or another concise variant that omits the
parenthetical.
content/docs/framework/typescript/client.mdx (1)

2-2: Consider shortening the pageTitle and removing redundancy.

The current title is 93 characters and repeats "Novu Framework" twice. Search engines typically display 50-60 characters, so this will be truncated. Consider a more concise version:

-pageTitle: "Novu Framework Client - workflow interface and client implementation guide for Novu Framework"
+pageTitle: "Novu Framework Client - Configuration and Usage Guide"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/framework/typescript/client.mdx` at line 2, The pageTitle string
is too long and redundant ("Novu Framework" appears twice); update the pageTitle
value to a shorter, non-redundant title (e.g., keep "Novu Framework" once and
concise rest) by editing the pageTitle declaration in this file (look for the
pageTitle symbol) so it falls within ~50–60 characters and removes repeated
phrases.
content/docs/platform/sdks/server/index.mdx (1)

2-2: Optional wording polish: use standard “Server-Side” hyphenation.

This is a minor readability/consistency tweak for the title.

📝 Suggested wording tweak
-pageTitle: "Novu Server Side SDKs documentation"
+pageTitle: "Novu Server-Side SDK Documentation"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/platform/sdks/server/index.mdx` at line 2, Update the pageTitle
value from "Novu Server Side SDKs documentation" to use standard hyphenation
"Novu Server-Side SDKs documentation"; search for other occurrences of the
phrase (e.g., any heading or metadata fields using "Server Side") and apply the
same "Server-Side" hyphenated form for consistency across the document.
content/docs/framework/content/remix-react-email.mdx (1)

2-2: Recommend a shorter page title for cleaner SEO snippets.

The current title is descriptive but a bit long; trimming it can improve readability in search results.

✂️ Suggested title refinement
-pageTitle: "Remix & React Email - email content template integration guide for Novu Framework channels"
+pageTitle: "Remix & React Email Integration for Novu Framework"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/framework/content/remix-react-email.mdx` at line 2, The
frontmatter pageTitle value is too long for SEO snippets; update the pageTitle
key in this document's frontmatter (pageTitle) to a shorter, punchier string
(for example: "Remix & React Email — Novu Framework" or "Remix + React Email for
Novu") to improve search result readability and keep the rest of the file
unchanged.
content/docs/platform/additional-resources/errors.mdx (1)

4-4: Consider shortening this pageTitle for stronger SERP readability.

Current phrasing is very long. A tighter title keeps primary keywords while reducing truncation risk.

✂️ Suggested title refinement
-pageTitle: "Common errors - reference guide for troubleshooting and platform operations in Novu"
+pageTitle: "Common Errors Troubleshooting Guide | Novu"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/platform/additional-resources/errors.mdx` at line 4, The
pageTitle string is overly long and risks SERP truncation; shorten the value of
the pageTitle metadata (the "pageTitle: \"Common errors - reference guide for
troubleshooting and platform operations in Novu\"") to a more concise title that
preserves primary keywords (e.g., "Common errors — Novu troubleshooting" or
"Common errors in Novu") by editing the pageTitle value in the document header.
content/docs/api-reference/index.mdx (1)

3-3: Consider adding front matter description for this overview page.

pageTitle is improved, and adding a concise description here would better align with the SEO objective for snippet quality.

Proposed metadata addition
 ---
 title: 'Overview'
 pageTitle: "Novu API Reference Overview"
+description: "Explore Novu REST API authentication, endpoints, and core concepts."
 ---
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/api-reference/index.mdx` at line 3, Add a concise SEO-friendly
front matter key `description` alongside the existing `pageTitle: "Novu API
Reference Overview"` in content/docs/api-reference/index.mdx; craft a 1–2
sentence summary (around 120 characters) describing the API reference purpose
and audience and place it as `description: "..."` directly in the file's front
matter so search snippets show a clearer summary for the page.
content/docs/community/index.mdx (1)

2-2: Consider reducing keyword repetition in pageTitle.

Line 2 repeats “community” and adds a long suffix that may reduce SERP readability. A shorter title can keep intent while improving scanability.

✏️ Suggested tweak
-pageTitle: "Community Overview - community documentation and contribution guide for Novu"
+pageTitle: "Novu Community Overview | Contribution Guide"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/community/index.mdx` at line 2, The pageTitle value repeats
"community" and is overly long; update the pageTitle in
content/docs/community/index.mdx by shortening and removing the duplicate term
and unnecessary suffix so it's more scanable (e.g., "Community — Documentation &
Contribution Guide" or "Community: Contribution Guide"), ensuring the key
remains pageTitle and only the string value is changed.
content/docs/platform/workflow/monitor-and-debug-workflow.mdx (1)

2-2: Minor grammar polish in pageTitle.

Line 2 reads a bit awkward (“debug Workflow”). Consider “workflows” in lowercase for natural phrasing.

✏️ Suggested tweak
-pageTitle: "How to monitor and debug Workflow in Novu"
+pageTitle: "How to monitor and debug workflows in Novu"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/platform/workflow/monitor-and-debug-workflow.mdx` at line 2,
Update the frontmatter pageTitle value to use lowercase and the plural
"workflows" for natural phrasing: replace pageTitle: "How to monitor and debug
Workflow in Novu" with pageTitle: "How to monitor and debug workflows in Novu"
so the key pageTitle and its string reflect the corrected grammar.
content/docs/framework/typescript/steps/delay.mdx (1)

2-2: Consider shortening pageTitle for better SERP display.

Line 2 is likely to be truncated in search snippets. A shorter variant can keep key terms while improving readability.

✏️ Suggested tweak
-pageTitle: "Delay Action Step - TypeScript step implementation guide for Novu Framework workflows"
+pageTitle: "Novu Framework TypeScript Delay Step"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/framework/typescript/steps/delay.mdx` at line 2, Shorten the
pageTitle frontmatter value to a more concise phrase to avoid SERP truncation;
update the pageTitle string (the pageTitle frontmatter key at the top of the MDX
file) to something shorter that preserves the key terms, e.g., "Delay Action -
TypeScript (Novu Framework)" or similar, ensuring the pageTitle remains
descriptive but under typical search snippet lengths.
content/docs/api-reference/workflows/workflow-schema.model.mdx (1)

3-4: Polish pageTitle wording for cleaner API-reference naming.

Line 3 reads slightly awkward (“Workflow schema Model…”). Consider normalizing casing/order for consistency with other API reference pages.

✏️ Suggested tweak
-pageTitle: "Workflow schema Model API Reference (Workflows)"
+pageTitle: "Workflow Schema Model API Reference"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/api-reference/workflows/workflow-schema.model.mdx` around lines
3 - 4, The pageTitle value is awkwardly worded; update the pageTitle string (the
pageTitle key) to match other API reference pages by normalizing casing and
order — for example change "Workflow schema Model API Reference (Workflows)" to
"Workflow Schema API Reference (Workflows)" or "Workflow Schema Model API
Reference" depending on convention, ensuring consistent capitalization of
"Workflow", "Schema", "Model", and "API Reference".
content/docs/api-reference/integrations/integration-schema.model.mdx (1)

3-4: Differentiate the model page metadata from the main schema page.

Lines 3-4 are almost the same as content/docs/api-reference/integrations/integration-schema.mdx, so these two docs are hard to tell apart in navigation and search. This page should read more explicitly as the model/types reference.

Suggested wording
-pageTitle: "Integration schema Model API Reference (Integrations)"
-description: "Reference the Novu integration schema used in API requests and responses. Review fields, data types, and object structure for this resource."
+pageTitle: "Integration Schema Model API Reference"
+description: "Inspect the Integration, Credentials, and ChannelTypeEnum models used by Novu integrations."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/api-reference/integrations/integration-schema.model.mdx` around
lines 3 - 4, The page metadata for the model reference is too similar to the
main schema page; update the frontmatter keys (pageTitle and description) in
integration-schema.model.mdx to clearly indicate this is the model/types
reference (e.g., change pageTitle to "Integration schema Model API Reference
(Integrations) — Types & Models" and update description to mention "Type
definitions, interfaces, and fields for Novu integration schema used in code and
API models") so navigation and search distinguish it from
integration-schema.mdx; edit the pageTitle and description values in the file to
the new wording.
content/docs/framework/introduction.mdx (1)

2-2: Trim the repeated "Introduction" phrasing.

Line 2 repeats both Introduction and Novu Framework, so the title reads a bit awkwardly in tabs and search results. A shorter variant keeps the same keywords without the duplication.

Suggested wording
-pageTitle: "Novu Framework Introduction - introduction to building notification workflows with Novu Framework"
+pageTitle: "Novu Framework Introduction - Building Notification Workflows"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/framework/introduction.mdx` at line 2, The frontmatter pageTitle
duplicates "Introduction" and "Novu Framework" making the tab/search title
awkward; update the pageTitle string (the pageTitle value in this file) to a
shorter, non-redundant variant that preserves keywords (e.g., "Novu Framework —
Building notification workflows" or "Novu Framework: Building notification
workflows") so it no longer repeats "Introduction" while keeping search-friendly
terms.
content/docs/framework/deployment/production.mdx (1)

3-3: Consider a cleaner production title.

Line 3 repeats production, and the existing title already frames this as a deployment guide. Tightening the pageTitle would read better in tabs and search results.

Suggested wording
-pageTitle: "Going to Production - production deployment and operations guide for Novu Framework"
+pageTitle: "Novu Framework Production Deployment Guide"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/framework/deployment/production.mdx` at line 3, The pageTitle
string is redundant (repeats "production"); update the pageTitle value (the
pageTitle frontmatter key) to a tighter, non-redundant phrase that aligns with
the existing title (for example "Going to Production — Deployment & Operations
Guide" or "Going to Production — Deployment and Operations") so tabs/search
results read cleaner while keeping the original title content intact.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@content/docs/api-reference/contexts/context-schema.model.mdx`:
- Line 3: Update the pageTitle metadata key to use consistent Title Case (e.g.,
"Context Schema Model API Reference (Contexts)") instead of the mixed casing
"Context schema Model API Reference (Contexts)"; locate the pageTitle field in
the frontmatter/metadata (the pageTitle variable) and change the string to the
corrected Title Case form to ensure consistent SERP presentation.

In `@content/docs/community/changelog.mdx`:
- Line 2: The pageTitle value "Novu Community Changelog - community
documentation and contribution guide for Novu" is misleading for a changelog
page; update the pageTitle string to focus on releases/changelog (e.g., include
"Releases", "Changelog", or a date range) so the tab/search title reflects the
document's purpose—locate the pageTitle assignment in this file and replace it
with a concise releases-focused title such as "Novu Releases & Changelog" or
similar.

In `@content/docs/community/self-hosting-novu/v0-to-v2-migration.mdx`:
- Around line 2-3: The page metadata has an inconsistency: the frontmatter key
pageTitle is "Migrate from v0 Web UI to v2 Dashboard" while title is "Migrate
from v0 to v2 Dashboard"; decide whether the shorter title is intentional, then
update one to match the other for consistency—either change pageTitle to
"Migrate from v0 to v2 Dashboard" or change title to include "Web UI"—and ensure
the keys pageTitle and title in this document are aligned accordingly.

In `@content/docs/framework/sms-channel.mdx`:
- Line 2: The frontmatter key pageTitle currently reads "Novu Framework SMS
Channel - notification channel implementation guide for Novu Framework" and
repeats "Novu Framework"; update the pageTitle value to remove the duplicate
(e.g., "Novu Framework SMS Channel - notification channel implementation guide"
or "SMS Channel - notification channel implementation guide for Novu Framework")
so it no longer contains the phrase twice, keeping the rest of the title intact.

In `@content/docs/platform/integrations/push/index.mdx`:
- Around line 1-4: The front matter for the Push page is missing the SEO
`description` field; restore it by adding a `description` property to the YAML
block alongside `title` and `pageTitle` (e.g., add description: "Concise SEO
summary of Push notification channel integrations") so the file's front matter
(the block containing `title` and `pageTitle`) includes `description` to prevent
metadata regression.

In `@content/docs/platform/quickstart/nextjs.mdx`:
- Around line 1-4: Restore a front-matter "description" field in the Next.js
doc's top YAML block (near the existing title and pageTitle entries) to improve
SEO; add a concise meta description similar to the one used in
content/docs/framework/quickstart/nextjs.mdx and ensure the key is named
"description" so search engines and site generator pick it up.

In `@content/docs/platform/sdks/server/typescript.mdx`:
- Line 2: Update the pageTitle value to use the canonical capitalization for the
language by changing the string literal pageTitle: "Novu Typescript SDK" to
pageTitle: "Novu TypeScript SDK" so the title uses the standard "TypeScript"
casing.

In `@content/docs/platform/subscription/quickstart.mdx`:
- Line 2: The pageTitle currently contains JSX syntax ("<Subscription />
Quickstart Guide"); update the pageTitle value to plain text for SEO/readability
(e.g., "Subscription Quickstart Guide" or "Quickstart: Subscription") by
replacing the string assigned to pageTitle in the frontmatter/metadata so it no
longer includes "<Subscription />". Ensure the updated pageTitle is used where
pageTitle is referenced so browser tabs and OG metadata show the plain-text
title.

In `@content/docs/platform/workflow/configure-workflow.mdx`:
- Line 2: Update the pageTitle frontmatter value to use an article + lowercase
noun for smoother SEO copy; change the current pageTitle "How to configure
Workflow in Novu" to "How to configure a workflow in Novu" by editing the
pageTitle entry in the file (look for the pageTitle frontmatter key).

---

Outside diff comments:
In `@content/docs/platform/inbox/headless-mode.mdx`:
- Line 35: The code example contains a corrupted subscriber prop value
("subscriber=\"[notificationSoundRef, novu]icationSoundRef, novu]IBER_ID\"");
locate the example where the subscriber prop is used and replace the garbled
string with the proper placeholder used elsewhere (e.g., "SUBSCRIBER_ID" or the
same placeholder style as other examples in this file) so the prop is a clean,
readable placeholder; ensure the corrected prop matches the surrounding
examples' format and casing.

In `@content/docs/platform/sdks/react-native/hooks/novu-provider.mdx`:
- Around line 16-17: The props table documents the wrong prop name: replace
`subscriberId` with `subscriber` in the props table so it matches the
NovuProvider usage and expected prop; update the header row entry (currently
`subscriberId`) to `subscriber` and ensure its type and required flag remain the
same to align with the NovuProvider component and the examples using
`subscriber`.

In `@content/docs/platform/sdks/react/hooks/novu-provider.mdx`:
- Around line 14-18: The TypeTable currently documents a prop named subscriberId
but the SDK examples use subscriber; update the prop entry in the TypeTable to
use subscriber (replace subscriberId with subscriber), set its type to "object"
(or the correct shape used elsewhere), adjust description to "The subscriber
object containing id and other attributes" and update typeDescription to match
(e.g., "Required" or the documented shape). Ensure the change targets the
TypeTable entry that currently defines subscriberId so examples and docs are
consistent.

---

Nitpick comments:
In `@content/docs/api-reference/index.mdx`:
- Line 3: Add a concise SEO-friendly front matter key `description` alongside
the existing `pageTitle: "Novu API Reference Overview"` in
content/docs/api-reference/index.mdx; craft a 1–2 sentence summary (around 120
characters) describing the API reference purpose and audience and place it as
`description: "..."` directly in the file's front matter so search snippets show
a clearer summary for the page.

In `@content/docs/api-reference/integrations/integration-schema.model.mdx`:
- Around line 3-4: The page metadata for the model reference is too similar to
the main schema page; update the frontmatter keys (pageTitle and description) in
integration-schema.model.mdx to clearly indicate this is the model/types
reference (e.g., change pageTitle to "Integration schema Model API Reference
(Integrations) — Types & Models" and update description to mention "Type
definitions, interfaces, and fields for Novu integration schema used in code and
API models") so navigation and search distinguish it from
integration-schema.mdx; edit the pageTitle and description values in the file to
the new wording.

In `@content/docs/api-reference/workflows/workflow-schema.model.mdx`:
- Around line 3-4: The pageTitle value is awkwardly worded; update the pageTitle
string (the pageTitle key) to match other API reference pages by normalizing
casing and order — for example change "Workflow schema Model API Reference
(Workflows)" to "Workflow Schema API Reference (Workflows)" or "Workflow Schema
Model API Reference" depending on convention, ensuring consistent capitalization
of "Workflow", "Schema", "Model", and "API Reference".

In `@content/docs/community/index.mdx`:
- Line 2: The pageTitle value repeats "community" and is overly long; update the
pageTitle in content/docs/community/index.mdx by shortening and removing the
duplicate term and unnecessary suffix so it's more scanable (e.g., "Community —
Documentation & Contribution Guide" or "Community: Contribution Guide"),
ensuring the key remains pageTitle and only the string value is changed.

In `@content/docs/community/self-hosting-novu/deploy-with-docker.mdx`:
- Line 2: The pageTitle value is lengthy and may be truncated in SERPs; update
the pageTitle frontmatter (the pageTitle field) to a shorter, SEO-friendly
variant—e.g., replace "Deploy with Docker - self-hosting setup and operations
guide for Novu deployments" with a concise title like "Deploy with Docker - Novu
Self-Hosting Guide" or another shortened version preserving key terms; ensure
you only modify the pageTitle string in the file
content/docs/community/self-hosting-novu/deploy-with-docker.mdx and keep
punctuation/quoting consistent.

In `@content/docs/framework/content/remix-react-email.mdx`:
- Line 2: The frontmatter pageTitle value is too long for SEO snippets; update
the pageTitle key in this document's frontmatter (pageTitle) to a shorter,
punchier string (for example: "Remix & React Email — Novu Framework" or "Remix +
React Email for Novu") to improve search result readability and keep the rest of
the file unchanged.

In `@content/docs/framework/deployment/production.mdx`:
- Line 3: The pageTitle string is redundant (repeats "production"); update the
pageTitle value (the pageTitle frontmatter key) to a tighter, non-redundant
phrase that aligns with the existing title (for example "Going to Production —
Deployment & Operations Guide" or "Going to Production — Deployment and
Operations") so tabs/search results read cleaner while keeping the original
title content intact.

In `@content/docs/framework/index.mdx`:
- Line 2: The frontmatter pageTitle value is redundant and too long—update the
pageTitle key in content/docs/framework/index.mdx to a concise, non-redundant
title under ~60 characters (e.g., "Novu Framework Overview" or "Novu Framework")
by removing the duplicated words and extra descriptive clause so the title reads
cleanly and avoids truncation in search results.

In `@content/docs/framework/introduction.mdx`:
- Line 2: The frontmatter pageTitle duplicates "Introduction" and "Novu
Framework" making the tab/search title awkward; update the pageTitle string (the
pageTitle value in this file) to a shorter, non-redundant variant that preserves
keywords (e.g., "Novu Framework — Building notification workflows" or "Novu
Framework: Building notification workflows") so it no longer repeats
"Introduction" while keeping search-friendly terms.

In `@content/docs/framework/tags.mdx`:
- Line 2: The pageTitle string currently uses "template tagging" but the article
describes workflow-level tags; update the pageTitle value (the pageTitle entry
in content/docs/framework/tags.mdx) to reflect "workflow tagging" or
"workflow-level tags" (e.g., "Framework Tags Implementation - workflow tagging
and targeting guide for Novu Framework notifications") so terminology aligns
with the content and remove or replace "template tagging" wherever present.

In `@content/docs/framework/typescript/client.mdx`:
- Line 2: The pageTitle string is too long and redundant ("Novu Framework"
appears twice); update the pageTitle value to a shorter, non-redundant title
(e.g., keep "Novu Framework" once and concise rest) by editing the pageTitle
declaration in this file (look for the pageTitle symbol) so it falls within
~50–60 characters and removes repeated phrases.

In `@content/docs/framework/typescript/steps/delay.mdx`:
- Line 2: Shorten the pageTitle frontmatter value to a more concise phrase to
avoid SERP truncation; update the pageTitle string (the pageTitle frontmatter
key at the top of the MDX file) to something shorter that preserves the key
terms, e.g., "Delay Action - TypeScript (Novu Framework)" or similar, ensuring
the pageTitle remains descriptive but under typical search snippet lengths.

In `@content/docs/platform/additional-resources/errors.mdx`:
- Line 4: The pageTitle string is overly long and risks SERP truncation; shorten
the value of the pageTitle metadata (the "pageTitle: \"Common errors - reference
guide for troubleshooting and platform operations in Novu\"") to a more concise
title that preserves primary keywords (e.g., "Common errors — Novu
troubleshooting" or "Common errors in Novu") by editing the pageTitle value in
the document header.

In `@content/docs/platform/developer/webhooks/event-types.mdx`:
- Line 3: Update the pageTitle frontmatter value to match the section's
branding/casing convention (replace the current "Webhooks event types" value in
the pageTitle field with a capitalized, branded form such as "Novu Webhooks
Event Types") so it is consistent with other pages and improves SEO.

In `@content/docs/platform/developer/webhooks/webhooks.mdx`:
- Around line 1-4: Add an explicit front-matter description field to the MDX
file so SEO snippets and search previews are controlled; update the existing
front-matter (which currently contains title and pageTitle) to include a
description: e.g., add a "description" key with a short summary of the page’s
purpose and target keywords to the front-matter block that contains title and
pageTitle so search engines and previews use it.

In `@content/docs/platform/inbox/features/snooze.mdx`:
- Around line 1-6: The pageTitle string is too long for SEO; update the
frontmatter key pageTitle in the Snooze doc to a shorter, clearer title (e.g.,
replace the existing value with "Snooze Notifications - Novu Inbox
Configuration" or another concise 50–60 char variant) so it matches other inbox
docs and improves search result display; locate the pageTitle entry in the
frontmatter at the top of the file and edit its value accordingly.

In `@content/docs/platform/integrations/chat/index.mdx`:
- Line 2: The pageTitle value currently reads pageTitle: "Chat Integrations
(Chat) - chat provider integration guide for Novu notification delivery" which
is redundant; update the pageTitle string (the pageTitle identifier) to remove
the duplicate "(Chat)" and simplify it to something like "Chat Integrations -
chat provider integration guide for Novu notification delivery" or another
concise variant that omits the parenthetical.

In `@content/docs/platform/integrations/push/push-activity-tracking.mdx`:
- Around line 1-5: Front matter string quoting is inconsistent: pageTitle uses
double quotes while title and description use single quotes; update the front
matter so all string values use the same quote style (e.g., change title and
description to use double quotes) by editing the front matter keys pageTitle,
title, and description to match the chosen quoting convention.

In `@content/docs/platform/integrations/sms/index.mdx`:
- Line 3: The frontmatter pageTitle value is overly long and repeats "SMS" —
update the pageTitle metadata (the pageTitle field in
content/docs/platform/integrations/sms/index.mdx) to a shorter, non-redundant
string such as "SMS Integrations - Provider Guide" or "SMS Provider Integration
Guide" to improve readability and SEO; simply replace the existing pageTitle
value with the chosen concise title.

In `@content/docs/platform/sdks/server/index.mdx`:
- Line 2: Update the pageTitle value from "Novu Server Side SDKs documentation"
to use standard hyphenation "Novu Server-Side SDKs documentation"; search for
other occurrences of the phrase (e.g., any heading or metadata fields using
"Server Side") and apply the same "Server-Side" hyphenated form for consistency
across the document.

In
`@content/docs/platform/workflow/add-and-configure-steps/configure-action-steps/delay.mdx`:
- Line 2: The frontmatter key pageTitle currently reads "How to configure Delay
Step"; update the pageTitle value to a more natural doc-style heading such as
"How to Configure the Delay Step" (or "Configuring the Delay Step") to improve
readability—locate the pageTitle frontmatter in the file and replace the string
accordingly.

In `@content/docs/platform/workflow/monitor-and-debug-workflow.mdx`:
- Line 2: Update the frontmatter pageTitle value to use lowercase and the plural
"workflows" for natural phrasing: replace pageTitle: "How to monitor and debug
Workflow in Novu" with pageTitle: "How to monitor and debug workflows in Novu"
so the key pageTitle and its string reflect the corrected grammar.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 5e017208-01f2-4718-bf33-bbc02e9c5b65

📥 Commits

Reviewing files that changed from the base of the PR and between 2e02ae7 and 047db5b.

📒 Files selected for processing (147)
  • content/docs/api-reference/contexts/context-schema.mdx
  • content/docs/api-reference/contexts/context-schema.model.mdx
  • content/docs/api-reference/environments/environment-schema.mdx
  • content/docs/api-reference/environments/environment-schema.model.mdx
  • content/docs/api-reference/idempotency.mdx
  • content/docs/api-reference/index.mdx
  • content/docs/api-reference/integrations/integration-schema.mdx
  • content/docs/api-reference/integrations/integration-schema.model.mdx
  • content/docs/api-reference/messages/message-schema.mdx
  • content/docs/api-reference/messages/message-schema.model.mdx
  • content/docs/api-reference/notifications/notification-event-schema.mdx
  • content/docs/api-reference/notifications/notification-event-schema.model.mdx
  • content/docs/api-reference/payload-limits.mdx
  • content/docs/api-reference/rate-limiting.mdx
  • content/docs/api-reference/subscribers/subscriber-schema.mdx
  • content/docs/api-reference/subscribers/subscriber-schema.model.mdx
  • content/docs/api-reference/topics/topic-schema.mdx
  • content/docs/api-reference/topics/topic-schema.model.mdx
  • content/docs/api-reference/workflows/workflow-schema.mdx
  • content/docs/api-reference/workflows/workflow-schema.model.mdx
  • content/docs/community/add-a-new-provider.mdx
  • content/docs/community/changelog.mdx
  • content/docs/community/index.mdx
  • content/docs/community/roadmap.mdx
  • content/docs/community/run-in-local-machine.mdx
  • content/docs/community/self-hosted-and-novu-cloud.mdx
  • content/docs/community/self-hosting-novu/deploy-with-docker.mdx
  • content/docs/community/self-hosting-novu/overview.mdx
  • content/docs/community/self-hosting-novu/telemetry.mdx
  • content/docs/community/self-hosting-novu/v0-to-v2-migration.mdx
  • content/docs/framework/chat-channel.mdx
  • content/docs/framework/content/react-email.mdx
  • content/docs/framework/content/remix-react-email.mdx
  • content/docs/framework/content/svelte-email.mdx
  • content/docs/framework/content/vue-email.mdx
  • content/docs/framework/controls.mdx
  • content/docs/framework/custom.mdx
  • content/docs/framework/deployment/production.mdx
  • content/docs/framework/email-channel.mdx
  • content/docs/framework/in-app-channel.mdx
  • content/docs/framework/index.mdx
  • content/docs/framework/introduction.mdx
  • content/docs/framework/push-channel.mdx
  • content/docs/framework/quickstart/express.mdx
  • content/docs/framework/quickstart/h3.mdx
  • content/docs/framework/quickstart/lambda.mdx
  • content/docs/framework/quickstart/nestjs.mdx
  • content/docs/framework/quickstart/nextjs.mdx
  • content/docs/framework/quickstart/nuxt.mdx
  • content/docs/framework/quickstart/remix.mdx
  • content/docs/framework/quickstart/svelte.mdx
  • content/docs/framework/schema/class-validator.mdx
  • content/docs/framework/schema/json-schema.mdx
  • content/docs/framework/schema/zod.mdx
  • content/docs/framework/skip.mdx
  • content/docs/framework/sms-channel.mdx
  • content/docs/framework/studio.mdx
  • content/docs/framework/tags.mdx
  • content/docs/framework/typescript/client.mdx
  • content/docs/framework/typescript/overview.mdx
  • content/docs/framework/typescript/steps/chat.mdx
  • content/docs/framework/typescript/steps/custom.mdx
  • content/docs/framework/typescript/steps/delay.mdx
  • content/docs/framework/typescript/steps/digest.mdx
  • content/docs/framework/typescript/steps/email.mdx
  • content/docs/framework/typescript/steps/inApp.mdx
  • content/docs/framework/typescript/steps/index.mdx
  • content/docs/framework/typescript/steps/push.mdx
  • content/docs/framework/typescript/steps/sms.mdx
  • content/docs/framework/typescript/workflow.mdx
  • content/docs/guides/webhooks/segment.mdx
  • content/docs/platform/account/authentication.mdx
  • content/docs/platform/account/billing.mdx
  • content/docs/platform/additional-resources/errors.mdx
  • content/docs/platform/concepts/preferences.mdx
  • content/docs/platform/concepts/tenants.mdx
  • content/docs/platform/developer/webhooks/event-types.mdx
  • content/docs/platform/developer/webhooks/index.mdx
  • content/docs/platform/developer/webhooks/webhooks.mdx
  • content/docs/platform/inbox/advanced-features/multi-tenancy.mdx
  • content/docs/platform/inbox/configuration/data-object.mdx
  • content/docs/platform/inbox/configuration/icons.mdx
  • content/docs/platform/inbox/configuration/preferences.mdx
  • content/docs/platform/inbox/configuration/styling.mdx
  • content/docs/platform/inbox/features/snooze.mdx
  • content/docs/platform/inbox/headless-mode.mdx
  • content/docs/platform/inbox/prepare-for-production.mdx
  • content/docs/platform/integrations/chat/index.mdx
  • content/docs/platform/integrations/email/(providers)/brevo.mdx
  • content/docs/platform/integrations/email/(providers)/infobip.mdx
  • content/docs/platform/integrations/email/(providers)/mailgun.mdx
  • content/docs/platform/integrations/email/(providers)/mailjet.mdx
  • content/docs/platform/integrations/email/(providers)/plunk.mdx
  • content/docs/platform/integrations/email/(providers)/resend.mdx
  • content/docs/platform/integrations/email/activity-tracking/index.mdx
  • content/docs/platform/integrations/email/activity-tracking/manual-configuration/mailgun.mdx
  • content/docs/platform/integrations/email/activity-tracking/manual-configuration/resend.mdx
  • content/docs/platform/integrations/email/activity-tracking/manual-configuration/sendgrid.mdx
  • content/docs/platform/integrations/email/activity-tracking/manual-configuration/ses.mdx
  • content/docs/platform/integrations/email/index.mdx
  • content/docs/platform/integrations/index.mdx
  • content/docs/platform/integrations/push/index.mdx
  • content/docs/platform/integrations/push/push-activity-tracking.mdx
  • content/docs/platform/integrations/sms/index.mdx
  • content/docs/platform/quickstart/angular.mdx
  • content/docs/platform/quickstart/nextjs.mdx
  • content/docs/platform/quickstart/react.mdx
  • content/docs/platform/quickstart/remix.mdx
  • content/docs/platform/quickstart/vanilla-js.mdx
  • content/docs/platform/quickstart/vue.mdx
  • content/docs/platform/sdks/index.mdx
  • content/docs/platform/sdks/react-native/hooks/novu-provider.mdx
  • content/docs/platform/sdks/react-native/hooks/use-counts.mdx
  • content/docs/platform/sdks/react-native/hooks/use-novu.mdx
  • content/docs/platform/sdks/react-native/hooks/use-preferences.mdx
  • content/docs/platform/sdks/react-native/hooks/use-schedule.mdx
  • content/docs/platform/sdks/react-native/index.mdx
  • content/docs/platform/sdks/react/changelog.mdx
  • content/docs/platform/sdks/react/hooks/novu-provider.mdx
  • content/docs/platform/sdks/react/hooks/use-counts.mdx
  • content/docs/platform/sdks/react/hooks/use-novu.mdx
  • content/docs/platform/sdks/react/hooks/use-preferences.mdx
  • content/docs/platform/sdks/react/hooks/use-schedule.mdx
  • content/docs/platform/sdks/server/dotnet.mdx
  • content/docs/platform/sdks/server/index.mdx
  • content/docs/platform/sdks/server/java.mdx
  • content/docs/platform/sdks/server/kotlin.mdx
  • content/docs/platform/sdks/server/laravel.mdx
  • content/docs/platform/sdks/server/python.mdx
  • content/docs/platform/sdks/server/ruby.mdx
  • content/docs/platform/sdks/server/typescript.mdx
  • content/docs/platform/subscription/customize-and-configure.mdx
  • content/docs/platform/subscription/headless-hooks.mdx
  • content/docs/platform/subscription/index.mdx
  • content/docs/platform/subscription/quickstart.mdx
  • content/docs/platform/workflow/add-and-configure-steps/configure-action-steps/delay.mdx
  • content/docs/platform/workflow/add-and-configure-steps/configure-action-steps/digest.mdx
  • content/docs/platform/workflow/add-and-configure-steps/configure-action-steps/throttle.mdx
  • content/docs/platform/workflow/add-and-configure-steps/index.mdx
  • content/docs/platform/workflow/add-notification-content/channels-template-editors.mdx
  • content/docs/platform/workflow/add-notification-content/personalize-content.mdx
  • content/docs/platform/workflow/advanced-features/contexts/index.mdx
  • content/docs/platform/workflow/advanced-features/contexts/manage-contexts.mdx
  • content/docs/platform/workflow/configure-workflow.mdx
  • content/docs/platform/workflow/create-a-workflow.mdx
  • content/docs/platform/workflow/monitor-and-debug-workflow.mdx
  • content/docs/platform/workflow/trigger-workflow.mdx

@@ -1,5 +1,7 @@
---
title: Context schema
pageTitle: "Context schema Model API Reference (Contexts)"
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix pageTitle casing consistency.

Line 3 has awkward mixed casing (“Context schema Model…”). Consider title case for cleaner SERP presentation.

Suggested metadata tweak
-pageTitle: "Context schema Model API Reference (Contexts)"
+pageTitle: "Context Schema Model API Reference (Contexts)"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
pageTitle: "Context schema Model API Reference (Contexts)"
pageTitle: "Context Schema Model API Reference (Contexts)"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/api-reference/contexts/context-schema.model.mdx` at line 3,
Update the pageTitle metadata key to use consistent Title Case (e.g., "Context
Schema Model API Reference (Contexts)") instead of the mixed casing "Context
schema Model API Reference (Contexts)"; locate the pageTitle field in the
frontmatter/metadata (the pageTitle variable) and change the string to the
corrected Title Case form to ensure consistent SERP presentation.

@@ -1,5 +1,5 @@
---
pageTitle: 'Changelog'
pageTitle: "Novu Community Changelog - community documentation and contribution guide for Novu"
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Retitle this around releases rather than contribution guidance.

Line 2 reads like a community landing page, but this doc is primarily a changelog. That makes the tab/search title less accurate than the actual page content.

Suggested wording
-pageTitle: "Novu Community Changelog - community documentation and contribution guide for Novu"
+pageTitle: "Novu Community Changelog - product updates, releases, and bug fixes"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
pageTitle: "Novu Community Changelog - community documentation and contribution guide for Novu"
pageTitle: "Novu Community Changelog - product updates, releases, and bug fixes"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/community/changelog.mdx` at line 2, The pageTitle value "Novu
Community Changelog - community documentation and contribution guide for Novu"
is misleading for a changelog page; update the pageTitle string to focus on
releases/changelog (e.g., include "Releases", "Changelog", or a date range) so
the tab/search title reflects the document's purpose—locate the pageTitle
assignment in this file and replace it with a concise releases-focused title
such as "Novu Releases & Changelog" or similar.

Comment on lines +2 to +3
pageTitle: 'Migrate from v0 Web UI to v2 Dashboard'
title: "Migrate from v0 to v2 Dashboard"
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Inconsistency between pageTitle and title.

The pageTitle mentions "Web UI" while the title omits it. If intentional (shorter title for navigation), this is fine. Otherwise, consider aligning them for consistency.

Option to align if unintentional
 pageTitle: 'Migrate from v0 Web UI to v2 Dashboard'
-title: "Migrate from v0 to v2 Dashboard"
+title: "Migrate from v0 Web UI to v2 Dashboard"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
pageTitle: 'Migrate from v0 Web UI to v2 Dashboard'
title: "Migrate from v0 to v2 Dashboard"
pageTitle: 'Migrate from v0 Web UI to v2 Dashboard'
title: "Migrate from v0 Web UI to v2 Dashboard"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/community/self-hosting-novu/v0-to-v2-migration.mdx` around lines
2 - 3, The page metadata has an inconsistency: the frontmatter key pageTitle is
"Migrate from v0 Web UI to v2 Dashboard" while title is "Migrate from v0 to v2
Dashboard"; decide whether the shorter title is intentional, then update one to
match the other for consistency—either change pageTitle to "Migrate from v0 to
v2 Dashboard" or change title to include "Web UI"—and ensure the keys pageTitle
and title in this document are aligned accordingly.

@@ -1,5 +1,5 @@
---
pageTitle: 'SMS Channel'
pageTitle: "Novu Framework SMS Channel - notification channel implementation guide for Novu Framework"
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Redundant "Novu Framework" in pageTitle.

The pageTitle contains "Novu Framework" twice, which creates unnecessary repetition and may negatively impact SEO.

Suggested fix
-pageTitle: "Novu Framework SMS Channel - notification channel implementation guide for Novu Framework"
+pageTitle: "Novu Framework SMS Channel - notification channel implementation guide"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
pageTitle: "Novu Framework SMS Channel - notification channel implementation guide for Novu Framework"
pageTitle: "Novu Framework SMS Channel - notification channel implementation guide"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/framework/sms-channel.mdx` at line 2, The frontmatter key
pageTitle currently reads "Novu Framework SMS Channel - notification channel
implementation guide for Novu Framework" and repeats "Novu Framework"; update
the pageTitle value to remove the duplicate (e.g., "Novu Framework SMS Channel -
notification channel implementation guide" or "SMS Channel - notification
channel implementation guide for Novu Framework") so it no longer contains the
phrase twice, keeping the rest of the title intact.

Comment on lines 1 to 4
---
title: 'Push'
pageTitle: 'Push Providers Integration'
description: 'Learn how to configure the Push channel'
icon: 'circle-info'
pageTitle: "Push Notification Channel Integrations"
---
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Restore front matter description to avoid SEO metadata regression.

In Line 1–4, description is missing. For an SEO-focused PR, dropping meta description reduces snippet control and weakens the objective.

🛠️ Proposed fix
 ---
 title: 'Push'
 pageTitle: "Push Notification Channel Integrations"
+description: "Set up and manage push notification provider integrations in Novu, including delivery flow, token management, and supported providers."
 ---
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
---
title: 'Push'
pageTitle: 'Push Providers Integration'
description: 'Learn how to configure the Push channel'
icon: 'circle-info'
pageTitle: "Push Notification Channel Integrations"
---
---
title: 'Push'
pageTitle: "Push Notification Channel Integrations"
description: "Set up and manage push notification provider integrations in Novu, including delivery flow, token management, and supported providers."
---
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/platform/integrations/push/index.mdx` around lines 1 - 4, The
front matter for the Push page is missing the SEO `description` field; restore
it by adding a `description` property to the YAML block alongside `title` and
`pageTitle` (e.g., add description: "Concise SEO summary of Push notification
channel integrations") so the file's front matter (the block containing `title`
and `pageTitle`) includes `description` to prevent metadata regression.

Comment on lines 1 to 4
---
title: 'Next.js'
pageTitle: 'Novu Next.js Quickstart'
description: 'Learn how to integrate the Novu Inbox component into your Next.js application using the App Router.'
pageTitle: "Novu Next.js Quickstart Guide"
---
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Consider restoring the description field for SEO.

The AI summary indicates that a description line was removed from the front matter. For an SEO-focused PR, removing meta descriptions is typically counterproductive—they appear in search engine snippets and improve click-through rates.

Compare this to content/docs/framework/quickstart/nextjs.mdx which retains its description. Consider adding a description back, e.g.:

 ---
 title: 'Next.js'
 pageTitle: "Novu Next.js Quickstart Guide"
+description: 'Integrate Novu Inbox for real-time in-app notifications in your Next.js application'
 ---
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
---
title: 'Next.js'
pageTitle: 'Novu Next.js Quickstart'
description: 'Learn how to integrate the Novu Inbox component into your Next.js application using the App Router.'
pageTitle: "Novu Next.js Quickstart Guide"
---
---
title: 'Next.js'
pageTitle: "Novu Next.js Quickstart Guide"
description: 'Integrate Novu Inbox for real-time in-app notifications in your Next.js application'
---
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/platform/quickstart/nextjs.mdx` around lines 1 - 4, Restore a
front-matter "description" field in the Next.js doc's top YAML block (near the
existing title and pageTitle entries) to improve SEO; add a concise meta
description similar to the one used in
content/docs/framework/quickstart/nextjs.mdx and ensure the key is named
"description" so search engines and site generator pick it up.

@@ -1,5 +1,5 @@
---
pageTitle: 'Typescript SDK'
pageTitle: "Novu Typescript SDK"
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Use canonical “TypeScript” capitalization in the title.

Line 2 should use the standard language name for consistency and search alignment.

✏️ Suggested fix
-pageTitle: "Novu Typescript SDK"
+pageTitle: "Novu TypeScript SDK"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
pageTitle: "Novu Typescript SDK"
pageTitle: "Novu TypeScript SDK"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/platform/sdks/server/typescript.mdx` at line 2, Update the
pageTitle value to use the canonical capitalization for the language by changing
the string literal pageTitle: "Novu Typescript SDK" to pageTitle: "Novu
TypeScript SDK" so the title uses the standard "TypeScript" casing.

@@ -1,5 +1,5 @@
---
pageTitle: '<Subscription /> Quickstart'
pageTitle: "<Subscription /> Quickstart Guide"
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Consider using plain text in pageTitle for better SEO rendering.

The JSX syntax <Subscription /> will appear literally in browser tabs, search engine results, and social media previews (e.g., og:title). This may look unpolished to end users.

Suggested fix
-pageTitle: "<Subscription /> Quickstart Guide"
+pageTitle: "Subscription Quickstart Guide"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
pageTitle: "<Subscription /> Quickstart Guide"
pageTitle: "Subscription Quickstart Guide"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/platform/subscription/quickstart.mdx` at line 2, The pageTitle
currently contains JSX syntax ("<Subscription /> Quickstart Guide"); update the
pageTitle value to plain text for SEO/readability (e.g., "Subscription
Quickstart Guide" or "Quickstart: Subscription") by replacing the string
assigned to pageTitle in the frontmatter/metadata so it no longer includes
"<Subscription />". Ensure the updated pageTitle is used where pageTitle is
referenced so browser tabs and OG metadata show the plain-text title.

@@ -1,5 +1,5 @@
---
pageTitle: 'Configure Workflow'
pageTitle: "How to configure Workflow in Novu"
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix pageTitle grammar for cleaner SEO copy.

Line 2 reads a bit awkwardly. Recommend using article + lowercase noun for natural phrasing.

Suggested tweak
-pageTitle: "How to configure Workflow in Novu"
+pageTitle: "How to configure a workflow in Novu"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
pageTitle: "How to configure Workflow in Novu"
pageTitle: "How to configure a workflow in Novu"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/platform/workflow/configure-workflow.mdx` at line 2, Update the
pageTitle frontmatter value to use an article + lowercase noun for smoother SEO
copy; change the current pageTitle "How to configure Workflow in Novu" to "How
to configure a workflow in Novu" by editing the pageTitle entry in the file
(look for the pageTitle frontmatter key).

@jainpawan21 jainpawan21 merged commit 53664eb into main Mar 16, 2026
6 checks passed
@jainpawan21 jainpawan21 deleted the MRK-1381 branch March 16, 2026 15:12
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.

2 participants