Phase 1: technical SEO foundations

- Per-page titles, descriptions, canonicals, Open Graph/Twitter tags
  via a shared pageMetadata() helper; metadataBase on the root layout
- Sitemap generated from a route list on the canonical non-www host;
  robots.txt points to it; /services removed
- One H1 per page; decorative images get empty alt text
- JSON-LD: site-wide ComputerRepairService, FAQPage on the homepage,
  Service on each service page
- FAQ answers are now server-rendered (forceMount) so the schema matches
  the HTML; fixed the nested payment FAQ item
- Drop web design (page, nav link, homepage card and FAQs); 301 the old URL
- Remove GA, Facebook Pixel and Vercel Analytics/Speed Insights
- Fix tel: links (+640211... -> +64211...)
- Add og-image.png and logo.png

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
asownerytandClaude Opus 5.5 committed 2026-09-30 20:24:29 +13:00
1 parent 0478ab65e5
commit c085e2b031
23 files changed
+375 -386

No files matched your search

+9 -21
View File
@@ -1,22 +1,10 @@
import { SITE_URL, routes } from "@/lib/site";
export default function sitemap() {
return [
{
url: 'https://www.teatatucomputers.com/',
lastModified: new Date(),
changeFrequency: 'monthly',
priority: 1,
},
{
url: 'https://www.teatatucomputers.com/services',
lastModified: new Date(),
changeFrequency: 'monthly',
priority: 0.5,
},
{
url: 'https://www.teatatucomputers.com/contact',
lastModified: new Date(),
changeFrequency: 'monthly',
priority: 0.5,
},
]
}
return routes.map(({ path, priority }) => ({
url: `${SITE_URL}${path}`,
lastModified: new Date(),
changeFrequency: "monthly",
priority,
}));
}