← back to Open Seo
badseo/src/routes/index.tsx
72 lines
import { createFileRoute } from "@tanstack/react-router";
import { SiteLayout } from "../components/site-layout";
import { catalogLinkedFixtures, categories } from "../fixtures/registry";
const PRODUCT_DESCRIPTION =
"A website with example technical SEO issues for you to learn or test your agents";
const homepageCategories = [
"Kitchen sink",
...categories.filter(
(category) =>
category !== "Kitchen sink" &&
category !== "Head tags & headings" &&
category !== "Content quality",
),
"Head tags & headings",
"Content quality",
];
export const Route = createFileRoute("/")({
head: () => ({
meta: [
{ title: "BadSEO | Technical SEO test site" },
{ name: "description", content: PRODUCT_DESCRIPTION },
],
}),
component: HomePage,
});
function HomePage() {
return (
<SiteLayout>
<main className="home-main">
<section className="home-hero">
<div className="home-copy">
<h1>BadSEO</h1>
<p>{PRODUCT_DESCRIPTION}</p>
</div>
</section>
<div className="home-issues" id="issues">
{homepageCategories.map((category) => (
<section className="home-issue-group" key={category}>
<h3>{category}</h3>
<div className="home-case-head" aria-hidden="true">
<span>Issue</span>
<span>What it demonstrates</span>
</div>
<div className="home-case-list">
{catalogLinkedFixtures
.filter((fixture) => fixture.category === category)
.map((fixture) => (
<a
className="home-case-row"
href={fixture.path}
key={fixture.path}
>
<span className="home-case-name">{fixture.name}</span>
<span className="home-case-summary">
{fixture.summary}
</span>
</a>
))}
</div>
</section>
))}
</div>
</main>
</SiteLayout>
);
}