Fix home page copy and remove leftover template FAQ section - #3
Merged
Merged
Conversation
The home page seo.description read "a Software Engineer developer", which is redundant and reads as a mistake. This string feeds both the meta description and the Portfolio OG image, so it appeared in the social thumbnail. Also tightened the wording: the OG image clamps the description to two lines, and the previous 209-character string was being truncated mid-sentence. The replacement is 130 characters and fits. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CvxoAeZ54xkw26ShZrUHsC
The hero said "Based in Boston", contradicting the United Kingdom used in the site config, the about page, and the meta description. The hero title was also missing punctuation between the name and the role, reading as "Hi, I'm Morgan Godden Software Engineer". Both fields are hero-only; seo.title and seo.description take precedence for meta tags and the OG image. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CvxoAeZ54xkw26ShZrUHsC
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
The FAQ block in content/index.yml was unmodified starter-template content: UX/UI agency services, USD pricing ($5,000 engagements, a $700 day rate), deposit and retainer terms, and hobbies set in Boston. None of it described this site. The LandingFAQ component was never rendered by any page, so the block was data-only, but it still shipped in the prerendered content payload. Removing all three parts together: - drop the faq block from content/index.yml - drop the now-unused faq schema from content.config.ts, which required the key and would fail collection validation without it - delete the orphaned app/components/landing/FAQ.vue, which read page.faq and no longer type-checks against the collection This also clears the last US references in the repo; the hero's Boston mention was fixed in the previous commit. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CvxoAeZ54xkw26ShZrUHsC
This branch was successfully deployed
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.
Fixes the copy errors on the home page and strips the starter-template content that was still sitting in
content/index.yml.1. "Software Engineer developer" in the OG thumbnail
seo.descriptionread "a Software Engineer developer based in the United Kingdom" — redundant, and it read as a mistake.app/pages/index.vuepasses this field to bothuseSeoMetaanddefineOgImage('Portfolio', …), so the phrase was baked into the social share card as well as the meta description.The replacement is also shorter, for a reason worth noting:
app/components/OgImage/Portfolio.takumi.vueclamps the description to 2 lines. The old string was 209 characters, well past what fits, so the card was truncating mid-sentence — which is why the odd phrase was so prominent in the visible portion. The new string is 130 characters and fits within the clamp.Before: Welcome to my portfolio! I'm Morgan Godden, a Software Engineer developer based in the United Kingdom. I specialize in creating user-centered digital experiences that are both beautiful and functional.
After: I'm Morgan Godden, a UK-based Software Engineer creating user-centered digital experiences that are both beautiful and functional.
2. Hero said "Based in Boston"
The hero
descriptionclaimed Boston, contradicting the United Kingdom used innuxt.config.ts(site.description),content/about.yml, and the meta description. Changed to the United Kingdom.3. Hero title missing punctuation
titleread "Hi, I'm Morgan Godden Software Engineer". Now "Hi, I'm Morgan Godden, a Software Engineer".Both of these fields are hero-only on the home page —
seo.titleandseo.descriptiontake precedence for the meta tags and OG image, so neither affects the share card.4. Removed the leftover template FAQ section
The
faqblock was unmodified starter-template content: UX/UI agency services, USD pricing ($5,000 engagements, a $700 day rate), deposit and retainer terms, and hobbies set in Boston. None of it described this site.LandingFAQwas never rendered by any page, so the block was data-only, but it still shipped in the prerendered content payload. Removing it takes three coupled changes:faqblock fromcontent/index.ymlfaqschema fromcontent.config.ts— it was a required key, so collection validation would fail without itapp/components/landing/FAQ.vue, which readpage.faqand no longer type-checks against the collectionThis also clears the last US references in the repo.
grepforboston|$<digits>|USA?|united statesacross all.yml/.ts/.vue/.mdnow returns nothing.Testing
Installed dependencies and ran the real build this time, since the schema change is riskier than a string edit:
npm run build— passes; the content collection validates without thefaqkey.output/public/index.htmlcarries the correctedog:descriptionanddescriptionmeta tagsboston, USD amounts, "frequently asked", and "day rate" — no leakagenpm run lintreports 41 pre-existing problems inapp/app.vueandapp/pages/about.vue, both untouched here. Confirmed identical onmaster; the files changed in this PR are lint-clean.Deployment note
nuxt.config.tssetsogImage: { zeroRuntime: true }, so cards are generated at build time — this needs a redeploy to take effect. Social platforms also cache scrapes, so the URL may need re-scraping in Facebook's Sharing Debugger / LinkedIn's Post Inspector to pick up the new image.