Repository navigation
SEO: move TMiR transcripts to tmir.reactiflux.com, fix site metadata - #374
Merged
Merged
Conversation
- 301 every /transcripts/tmir-* page to its episode on tmir.reactiflux.com and delete the 40 duplicate copies (and the shadowed tmir.md page). The heading anchors use the same slug rule there, so #fragments still work. - /tmir redirect is now a 301. - Every page gets a canonical URL, og:url, og:site_name, a www banner image and a large Twitter card. Titles get a " · Reactiflux" suffix unless they already name the site; pages without a description fall back to one. - Homepage: real title and description, Organization JSON-LD. - /transcripts gets its own H1, intro and dated list instead of duplicating the newest transcript. Transcript pages get "<Guest>: Q&A transcript (<Month YYYY>)" titles (no more duplicate Jared Palmer / Nader Dabit / React Conf titles) and a one-line meta description. - noindex the Discord OAuth callback and the unfinished podcast player, and drop them and /blog/1 from the sitemap (/blog/1 redirects to /blog). - Descriptions for blog posts, /jobs and /tips. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011ZUEzbgHTThFQF8TL9bLzf
✅ Deploy Preview for reactiflux ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
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.
Why
The 40 This Month in React transcripts lived here and on tmir.reactiflux.com with no canonical between them, so the two sites competed for the same searches. The site-wide metadata also had gaps: the homepage was titled "Welcome" with no description, no page had a canonical tag, and
/transcriptscopied the newest transcript in full under that transcript's own H1.Changes
TMiR consolidation
public/_redirects: a 301 for every/transcripts/tmir-*URL to its episode on tmir.reactiflux.com, generated from the files and checked against the TMiR repo's episode list. TMiR builds heading anchors with the same slug rule, so#sectionlinks keep working.src/md-pages/tmir.md, which the/tmirredirect already hid but which still showed up in the sitemap. The content lives in the TMiR repo./tmiris now a 301 instead of a 302. If that 302 was intentional, for example ahead of a move to thismonthinreact.com, say so and I'll revert it.Site-wide (
SEO.js/Layout.js)og:urlon every page: www, no query string, no trailing slash.· Reactifluxsuffix unless they already include "Reactiflux". For example, "Jobs" becomes "Jobs · Reactiflux".summary_large_image,og:site_nameandtwitter:site. Fixed the duplicateog:imagethat appeared when a page passed its own image.noindexandstructuredDataprops.Pages
/transcripts: H1 "Q&A transcripts", a short intro, a link to TMiR, and a dated list with each guest's blurb, replacing the duplicated newest transcript./jobsand/tips./auth/discordcb(the OAuth popup) and/podcasts/24-06(the unfinished player; it's prerendered in a loading state, so the tag is outside theLayout). Both are removed from the sitemap but still crawlable, since Google has to fetch a page to see noindex./blog/1now redirects to/blogand is removed from the sitemap.Please check on the deploy preview
/transcripts/tmir-2026-08and/transcripts/tmir-march-2023should 301 to TMiR./transcriptsand a couple of transcript pages should read well.Verified locally
yarn test(lint and prettier) andyarn buildboth pass. I checked titles, descriptions, canonicals, robots tags and JSON-LD in the built HTML. The sitemap has 117 URLs, with no TMiR, auth, podcast or/blog/1entries.🤖 Generated with Claude Code
https://claude.ai/code/session_011ZUEzbgHTThFQF8TL9bLzf
Generated by Claude Code