Restore backlink feature URL (#484)

* Restore backlink feature URL

* Restore backlink checker page titles
This commit is contained in:
Ben Senescu 2026-08-13 20:33:55 -04:00 committed by GitHub
parent db45a0dd6d
commit 3df66ad9ae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 52 additions and 28 deletions

View File

@ -32,6 +32,22 @@ export function FeaturePageTemplate({ page }: FeaturePageProps) {
<FeatureImage page={page} /> <FeatureImage page={page} />
{page.featuredLink ? (
<section className="mt-12">
<h2 className="text-2xl font-semibold tracking-tight text-neutral-950">
<a
href={page.featuredLink.href}
className="underline decoration-[var(--color-brand-accent)] underline-offset-4"
>
{page.featuredLink.title}
</a>
</h2>
<p className="mt-2 max-w-2xl text-sm leading-6 text-[var(--color-brand-muted)]">
{page.featuredLink.description}
</p>
</section>
) : null}
<section className="mt-12"> <section className="mt-12">
<h2 className="text-2xl font-semibold tracking-tight text-neutral-950"> <h2 className="text-2xl font-semibold tracking-tight text-neutral-950">
What you can do What you can do

View File

@ -1,7 +1,7 @@
export const FEATURE_PAGE_SLUGS = { export const FEATURE_PAGE_SLUGS = {
keywordResearch: "keyword-research", keywordResearch: "keyword-research",
siteAudit: "site-audit", siteAudit: "site-audit",
backlinks: "backlinks", backlinks: "backlink-checker",
domainOverview: "domain-overview", domainOverview: "domain-overview",
rankTracking: "rank-tracking", rankTracking: "rank-tracking",
savedKeywords: "saved-keywords", savedKeywords: "saved-keywords",

View File

@ -21,6 +21,11 @@ export type FeaturePage = {
showMetrics?: boolean; showMetrics?: boolean;
useCases: string[]; useCases: string[];
differentiators: string[]; differentiators: string[];
featuredLink?: {
title: string;
description: string;
href: string;
};
related: Array<{ related: Array<{
label: string; label: string;
href: string; href: string;
@ -207,7 +212,7 @@ export const featurePages = {
], ],
related: [ related: [
{ label: "Domain Overview", href: "/features/domain-overview" }, { label: "Domain Overview", href: "/features/domain-overview" },
{ label: "Backlinks", href: "/features/backlinks" }, { label: "Backlinks", href: "/features/backlink-checker" },
{ label: "Keyword Research", href: "/features/keyword-research" }, { label: "Keyword Research", href: "/features/keyword-research" },
], ],
faqs: [ faqs: [
@ -232,7 +237,7 @@ export const featurePages = {
slug: FEATURE_PAGE_SLUGS.backlinks, slug: FEATURE_PAGE_SLUGS.backlinks,
eyebrow: "Backlinks", eyebrow: "Backlinks",
navDescription: "Check links and referring domains.", navDescription: "Check links and referring domains.",
title: "Backlink analysis for understanding a domain's link profile", title: "Backlink checker for understanding a domain's link profile",
description: description:
"Analyze backlinks, referring domains, and linked pages without separating link research from the rest of your SEO workspace.", "Analyze backlinks, referring domains, and linked pages without separating link research from the rest of your SEO workspace.",
primaryKeyword: "backlink analysis", primaryKeyword: "backlink analysis",
@ -278,13 +283,19 @@ export const featurePages = {
"Self-host or adapt backlink reporting for your team's workflow.", "Self-host or adapt backlink reporting for your team's workflow.",
"MCP support lets an AI agent pull backlink context during SEO research.", "MCP support lets an AI agent pull backlink context during SEO research.",
], ],
featuredLink: {
title: "Free backlink checker",
description:
"Check any domain's backlink summary and top 15 backlinks. No signup required.",
href: "/backlink-checker",
},
related: [ related: [
{ label: "Free Backlink Checker", href: "/backlink-checker" },
{ {
label: "Link Prospecting", label: "Link Prospecting",
href: "/docs/skills/link-prospecting", href: "/docs/skills/link-prospecting",
}, },
{ label: "Domain Overview", href: "/features/domain-overview" }, { label: "Domain Overview", href: "/features/domain-overview" },
{ label: "OpenSEO MCP", href: "/features/mcp" },
], ],
faqs: [ faqs: [
{ {
@ -360,7 +371,7 @@ export const featurePages = {
href: "/docs/skills/competitor-analysis", href: "/docs/skills/competitor-analysis",
}, },
{ label: "Keyword Research", href: "/features/keyword-research" }, { label: "Keyword Research", href: "/features/keyword-research" },
{ label: "Backlinks", href: "/features/backlinks" }, { label: "Backlinks", href: "/features/backlink-checker" },
], ],
faqs: [ faqs: [
{ {

View File

@ -136,7 +136,7 @@ function BacklinkCheckerPage() {
</span> </span>
</a> </a>
<a <a
href="/features/backlinks" href="/features/backlink-checker"
className="text-sm font-medium text-neutral-950 underline decoration-[var(--color-brand-accent)] underline-offset-4" className="text-sm font-medium text-neutral-950 underline decoration-[var(--color-brand-accent)] underline-offset-4"
> >
Learn about the Backlinks feature Learn about the Backlinks feature

View File

@ -1,10 +1,18 @@
import { createFileRoute, redirect } from "@tanstack/react-router"; import { createFileRoute } from "@tanstack/react-router";
import { FeaturePageTemplate } from "@/components/feature-page";
import { featurePages } from "@/lib/feature-pages";
import { buildPageSeo } from "@/lib/seo";
const page = featurePages.backlinks;
// The old feature page ranks for "backlink checker"; that intent is now served
// by the free tool at /backlink-checker. The feature content moved to
// /features/backlinks.
export const Route = createFileRoute("/_marketing/features/backlink-checker")({ export const Route = createFileRoute("/_marketing/features/backlink-checker")({
beforeLoad: () => { head: () =>
throw redirect({ to: "/backlink-checker", statusCode: 301 }); buildPageSeo({
}, title: "Backlink Checker",
description: page.description,
path: "/features/backlink-checker",
titleSuffix: "OpenSEO",
imageAlt: page.imageAlt,
}),
component: () => <FeaturePageTemplate page={page} />,
}); });

View File

@ -1,18 +1,7 @@
import { createFileRoute } from "@tanstack/react-router"; import { createFileRoute, redirect } from "@tanstack/react-router";
import { FeaturePageTemplate } from "@/components/feature-page";
import { featurePages } from "@/lib/feature-pages";
import { buildPageSeo } from "@/lib/seo";
const page = featurePages.backlinks;
export const Route = createFileRoute("/_marketing/features/backlinks")({ export const Route = createFileRoute("/_marketing/features/backlinks")({
head: () => beforeLoad: () => {
buildPageSeo({ throw redirect({ to: "/features/backlink-checker", statusCode: 301 });
title: "Backlink Analysis Tool", },
description: page.description,
path: "/features/backlinks",
titleSuffix: "OpenSEO",
imageAlt: page.imageAlt,
}),
component: () => <FeaturePageTemplate page={page} />,
}); });