Skip to content

feat(blog): external canonical for syndicated posts #7879

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

MattIPv4
Copy link
Member

Description

To follow SEO best practices, when a blog post is syndicated to our blog from elsewhere, we should set the meta canonical to point to the original post, so that indexing crawlers know this is a syndicated version of the original, rather than competing (near-)identical content.

Validation

On the blog post for Mikeal, the canonical is set to the OpenJSF blog post. On all other blog posts, and all other pages, the canonicals remain as in production.

Related Issues

N/A

Check List

  • I have read the Contributing Guidelines and made commit messages that follow the guideline.
  • I have run pnpm format to ensure the code follows the style guide.
  • I have run pnpm test to check if all tests are passing.
  • I have run pnpm build to check if the website builds without errors.
  • I've covered new added functionality with unit tests if necessary.

@Copilot Copilot AI review requested due to automatic review settings June 20, 2025 17:00
@MattIPv4 MattIPv4 requested review from a team as code owners June 20, 2025 17:00
Copy link

vercel bot commented Jun 20, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
nodejs-org ✅ Ready (Inspect) Visit Preview Jun 20, 2025 6:52pm

Copy link
Contributor

@Copilot 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 adds support for external canonical URLs on syndicated blog posts, following SEO best practices.

  • Adds a canonical field to the Mikeal announcement markdown file with an external URL.
  • Updates the dynamic routing logic to use the canonical URL from page data if provided.

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
apps/site/pages/en/blog/announcements/mikeal.md Adds a canonical field in front matter for syndicated content.
apps/site/next.dynamic.mjs Adjusts the canonical URL logic to use the provided value when available.
Comments suppressed due to low confidence (1)

apps/site/pages/en/blog/announcements/mikeal.md:7

  • [nitpick] Consider adding an inline comment in the front matter indicating that this canonical URL represents the original source of the syndicated content for SEO clarity.
canonical: https://openjsf.org/blog/in-memory-of-mikeal-rogers

Copy link

codecov bot commented Jun 20, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 75.46%. Comparing base (177dacb) to head (0be2d27).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #7879   +/-   ##
=======================================
  Coverage   75.46%   75.46%           
=======================================
  Files         101      101           
  Lines        8311     8311           
  Branches      218      218           
=======================================
  Hits         6272     6272           
  Misses       2037     2037           
  Partials        2        2           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Member

@AugustinMauroy AugustinMauroy left a comment

Choose a reason for hiding this comment

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

It's should be documented on md file

@MattIPv4

This comment has been minimized.

Signed-off-by: Matt Cowley <me@mattcowley.co.uk>
@avivkeller
Copy link
Member

I’m okay fast tracking this, but I think members of the foundation want to wait until next week.

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.

5 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy