Skip to content

Conversation

@roberth
Copy link

@roberth roberth commented May 15, 2025

Hi 👋

This implements the suggestion by markhildreth to implement such a setting, based on the conversation in #1238.
<link rel="canonical"> plays an important role in avoiding an SEO penalty when users deploy multiple versions of their site.

I've additionally infixed -site- to highlight the relationship with the site-url, and to distinguish it from the canonical URL as it occurs in a page.

This is a more user-friendly alternative to #2415 as it's an "end to end" solution with documentation. (It may have usages beyond this use case though)

Let me know if there's anything I should improve.
When this is done, I'd like to implement a setting for opting in to clean URLs without the .html suffix so that we can close the whole issue.

Changelog suggestion (not included due to repeated conflicts...)

- Added [`canonical-site-url`](https://rust-lang.github.io/mdBook/format/configuration/renderers.html?highlight=canonical-site-url#html-renderer-options) setting, to set `<link rel="canonical">` in the HTML output of each page.

@rustbot rustbot added the S-waiting-on-review Status: waiting on a review label May 15, 2025
@rustbot

This comment has been minimized.

@roberth roberth force-pushed the canonical-site-url branch from e421180 to 9c26fc4 Compare May 25, 2025 14:10
@rustbot

This comment has been minimized.

@roberth roberth force-pushed the canonical-site-url branch from 9c26fc4 to cbca16c Compare May 27, 2025 07:28
@roberth roberth force-pushed the canonical-site-url branch from cbca16c to fe29dc1 Compare July 24, 2025 15:53
@rustbot

This comment has been minimized.

Copy link

@pinage404 pinage404 left a comment

Choose a reason for hiding this comment

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

I tested locally, it works great

I hope a solution will be merged

@whitequark
Copy link

I'd really like to have this functionality; is there a way I can help advance this PR? I want it for #1238.

Based on the conversation in rust-lang#1238,
this implements the suggestion by markhildreth to implement such a setting.

I've additionally infixed `-site-` to highlight the relationship with the
`site-url`, and to distinguish it from the canonical URL as it occurs in a
page.
@roberth roberth force-pushed the canonical-site-url branch from fe29dc1 to 2554834 Compare October 18, 2025 20:32
@rustbot
Copy link
Collaborator

rustbot commented Oct 18, 2025

This PR was rebased onto a different master commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@roberth
Copy link
Author

roberth commented Oct 18, 2025

I've rebased and put my suggestion for a changelog entry in the PR description, because it kept causing conflicts.

Let us know if there's anything else we can do!

@rustbot
Copy link
Collaborator

rustbot commented Oct 28, 2025

☔ The latest upstream changes (possibly #2905) made this pull request unmergeable. Please resolve the merge conflicts.

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

Labels

S-waiting-on-review Status: waiting on a review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants