Listing page canonical urls - #459
Open
jhancock532 wants to merge 33 commits into
Open
jhancock532 wants to merge 33 commits into
jhancock532 wants to merge 33 commits into
Conversation
Reusable backend core for validating listing query params and building the shared filter UI context, used by the blog, work and events listings. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Filter dropdowns, active-filter pills and the clear-all control shared by the listing pages, plus the JS component and styles that drive them. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The slug is used as the value in event-filter URLs. Includes a factory for test data. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Filters match both WorkPage and HistoricalWorkPage subtypes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Improve high contrast mode accessibility for submit button - Remove excess comments - Standardise use of SCSS styles for listing filters component
…of generic no results text
- Make focus styles for buttons consistent. - Use data attribute instead of matching on details element - Add comment reminder to update Jest markup - Revert change moving minor duplicate code to shared component
jhancock532
marked this pull request as ready for review
September 16, 2026 15:04
Author
jhancock532
force-pushed
the
feature/listing-page-canonical-urls
branch
from
September 16, 2026 15:07
e4508a7 to
ab9247c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Listing pages now include a selected filter in their canonical URL when the visitor is looking at a page with one distinct filter value is selected. If none or multiple filter values are selected, the canonical points to the unfiltered listing page.
When pagination is present, the canonical contains only the current page parameter. This is because pagination is mainly used by Google's crawler to index the site & we don't need a page 2 of a filtered view in search results / Search Console.
This applies to BlogIndex, Work, and Events. Team page is ignored as the canonical URL is fine as is, confirmed with Beth.
How to Test
Run the branch locally at
http://localhost:8000, then open the links below & look at the canonical URL in<head>.Each page should contain exactly one canonical tag with the expected URL.
http://localhost:8000/news/http://localhost:8000/news/?sector=charity-non-profithttp://localhost:8000/news/http://localhost:8000/news/?page=2http://localhost:8000/our-work/?service=designhttp://localhost:8000/events/?type=webinarhttp://localhost:8000/events/Screenshots
Expand to see more
MR Checklist
Unit tests
Documentation
Browser testing
Data protection
Light and dark mode
Accessibility
Sustainability
Pattern library