Skip to content

feat(seo): Add more SEO fixes#1272

Merged
aaguiarz merged 21 commits into
mainfrom
fix/seo-iteration-2
Jun 2, 2026
Merged

feat(seo): Add more SEO fixes#1272
aaguiarz merged 21 commits into
mainfrom
fix/seo-iteration-2

Conversation

@aaguiarz
Copy link
Copy Markdown
Member

@aaguiarz aaguiarz commented May 30, 2026

Summary

SEO iteration 2 — a focused set of metadata and accessibility improvements across the site.

  • Site title: Updated siteConfig.title to the full SEO-optimized string "OpenFGA — Open Source Fine-Grained Authorization | CNCF", which is now used as the suffix on all page titles sitewide.
  • Homepage title tag: Fixed a doubled-title regression by restoring customFields.landingPageTitle as the Layout title prop on the homepage, producing the correct "Fine-Grained Authorization | OpenFGA — …" output.
  • Homepage hero heading: Updated subtitle to use customFields.landingPageTitle instead of siteConfig.tagline.
  • Blog listing metadata: Added blogTitle and blogDescription to the blog plugin config for better representation in search results.
  • Blog post last_update dates: Added last_update frontmatter to 20+ blog posts so Docusaurus emits <lastmod> entries in the sitemap, improving crawl freshness signals. showLastUpdateTime is intentionally disabled to avoid displaying redundant timestamps in the UI.
  • Docs page titles/descriptions: Improved titles and meta descriptions on intro.mdx, authorization-concepts.mdx, and setup-openfga/overview.mdx to better match search intent.
  • Adopter carousel accessibility: Added aria-hidden to duplicate logo images (used for infinite-scroll effect) so screen readers skip them.
  • Organization schema: Added the CNCF project URL to the sameAs array in the JSON-LD organization schema in Root.tsx.

Test plan

  • Verify homepage <title> tag in browser DevTools is "Fine-Grained Authorization | OpenFGA — Open Source Fine-Grained Authorization | CNCF" (no doubling)
  • Confirm blog posts do not show a "Last updated" badge in the UI
  • Check sitemap (/sitemap.xml) includes <lastmod> entries for updated blog posts
  • Run yarn build with no errors

Summary by CodeRabbit

  • Documentation & Blog

    • Blog posts now display last update timestamps
    • Documentation titles and descriptions refreshed
  • Branding & Content

    • Site branding updated to include CNCF recognition
    • Blog section title and description enhanced
    • Landing page messaging refined
  • Accessibility

    • Improved carousel image accessibility with ARIA attributes

Review Change Stack

Copilot AI review requested due to automatic review settings May 30, 2026 21:21
@aaguiarz aaguiarz requested review from a team as code owners May 30, 2026 21:21
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 30, 2026

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 335a70c5-a15e-4935-950a-be5c14d53479

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Walkthrough

This PR updates the OpenFGA documentation site with CNCF branding, landing page customization, and retroactive post-update tracking. The site configuration is rebanded with CNCF affiliation, landing page components now consume a custom branding field, SEO metadata includes the CNCF project URL, and all blog and documentation pages receive metadata updates to title, description, or publication-tracking fields.

Changes

Site Branding and Metadata Consolidation

Layer / File(s) Summary
Site configuration and blog branding
docusaurus.config.js
Site title updated to "OpenFGA — Open Source Fine-Grained Authorization | CNCF"; blog section receives new blogTitle and blogDescription describing ReBAC, FGA, Zanzibar, and CNCF community focus.
Landing page and UI component updates
src/features/LandingPage/HeroHeader/index.tsx, src/pages/index.tsx, src/components/AdoptersCarousel/index.tsx
HeroHeader subtitle switches from siteConfig.tagline to siteConfig.customFields.landingPageTitle; Home page adds string type assertion; AdoptersCarousel expands AdopterImage JSX to set aria-hidden based on isDuplicate flag.
Organization SEO and structured data
src/theme/Root.tsx
CNCF project URL (https://www.cncf.io/projects/openfga/) is added to JSON-LD organization sameAs array.
Blog post last_update metadata
blog/*-announcement.md, blog/fine-grained-news-*.md, blog/kubecon-*.md
All 23 blog posts receive a last_update field in YAML frontmatter, setting publication tracking dates across 2023–2026 posts.
Documentation page title and description updates
docs/content/authorization-concepts.mdx, docs/content/getting-started/setup-openfga/overview.mdx, docs/content/intro.mdx
Authorization concepts removes | OpenFGA title suffix; setup overview description clarifies Docker/Kubernetes/Go library options and configuration/datastore/telemetry coverage; intro title and description emphasize FGA fundamentals and relationship/role/attribute-based access control.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Suggested reviewers

  • rhamzeh
  • ewanharris
  • ttrzeng
🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The PR title 'feat(seo): Add more SEO fixes' is generic and vague. While 'SEO' relates to some changes in the PR, the phrase 'Add more SEO fixes' does not convey specific meaningful information about what was actually changed (title updates, blog metadata, accessibility, schema markup, etc.). Replace with a more specific title describing the main changes, such as 'feat(seo): Update siteConfig title and add blog post last_update metadata' or 'feat(seo): Improve SEO with siteConfig updates, blog metadata, and schema enhancements'.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/seo-iteration-2

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.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 30, 2026

PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-06-02 16:35 UTC

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR implements a second iteration of SEO-focused metadata and accessibility improvements across the OpenFGA Docusaurus site, primarily by standardizing title suffixing via siteConfig.title, improving homepage title composition, enhancing blog metadata, and adding sitemap lastmod signals for blog content.

Changes:

  • Updates global site title and homepage title/subtitle wiring to avoid title duplication and improve search intent matching.
  • Adds blog listing metadata (blogTitle, blogDescription) and last_update frontmatter across many blog posts for sitemap freshness.
  • Improves accessibility of the adopters carousel (hiding duplicated logos from screen readers) and expands JSON-LD organization sameAs links.

Reviewed changes

Copilot reviewed 31 out of 31 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/theme/Root.tsx Adds CNCF project URL to Organization JSON-LD sameAs array.
src/pages/index.tsx Uses customFields.landingPageTitle (typed) for the homepage <Layout title>.
src/features/LandingPage/HeroHeader/index.tsx Updates hero heading composition and uses landingPageTitle for the subtitle.
src/components/AdoptersCarousel/index.tsx Adds aria-hidden for duplicated carousel images to reduce screen reader noise.
docusaurus.config.js Updates title to SEO-optimized string and adds blog listing title/description.
docs/content/intro.mdx Updates docs page title/description for SEO intent alignment.
docs/content/getting-started/setup-openfga/overview.mdx Expands meta description to better reflect setup options and keywords.
docs/content/authorization-concepts.mdx Adjusts page title to avoid redundant branding in the title text.
blog/query-consistency-options-announcement.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/modular-models-announcement.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/list-users-announcement.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/kubecon-na-2023.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/incubation-announcement.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/ignore-duplicate-writes-announcement.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/fine-grained-news-2025-10.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/fine-grained-news-2025-09.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/fine-grained-news-2025-02.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/fine-grained-news-2025-01.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/fine-grained-news-2024-11.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/fine-grained-news-2024-10.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/fine-grained-news-2024-09.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/fine-grained-news-2024-08.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/fine-grained-news-2024-07.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/fine-grained-news-2024-06.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/fine-grained-news-2024-05.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/fine-grained-news-2024-04.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/fine-grained-news-2024-03.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/fine-grained-news-2024-02.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/fine-grained-news-2024-01.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/fine-grained-news-2023-12.md Adds last_update frontmatter date for sitemap <lastmod>.
blog/conditional-tuples-announcement.md Adds last_update frontmatter date for sitemap <lastmod>.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@aaguiarz aaguiarz changed the title feat(seo): Add feat(seo): Add more SEO fixes May 30, 2026
@aaguiarz aaguiarz merged commit 60c9eba into main Jun 2, 2026
14 checks passed
@aaguiarz aaguiarz deleted the fix/seo-iteration-2 branch June 2, 2026 16:33
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.

4 participants