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

+19 -1
View File
@@ -1,11 +1,29 @@
import HeaderSm from "../../components/HeaderSm";
import JsonLd from "../../components/JsonLd";
import { pageMetadata, serviceSchema } from "@/lib/site";
const page = {
title: "Virus & Malware Removal West Auckland",
description:
"Pop-ups, scams, slow or hacked PC? I'll clean it up, keep your files safe and help stop it happening again. Based in Te Atatū.",
path: "/services/virus-removal",
};
export const metadata = pageMetadata(page);
export default function Home() {
return (
<div style={{ marginBottom: "30em" }}>
<JsonLd
data={serviceSchema({
name: "Virus & Malware Removal",
description: page.description,
path: page.path,
})}
/>
<HeaderSm text="Virus Removal" />
<section className="container mx-auto mb">
<h1 className="text-2xl mb-4">Virus & Malware Removal</h1>
<h2 className="text-2xl mb-4">Virus & Malware Removal</h2>
<p>
Te Atatu Computers specializes in efficient and thorough virus removal
services for Windows devices, ensuring your computer is free from