Restore backlink feature URL (#484)
* Restore backlink feature URL * Restore backlink checker page titles
This commit is contained in:
parent
db45a0dd6d
commit
3df66ad9ae
@ -32,6 +32,22 @@ export function FeaturePageTemplate({ page }: FeaturePageProps) {
|
||||
|
||||
<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">
|
||||
<h2 className="text-2xl font-semibold tracking-tight text-neutral-950">
|
||||
What you can do
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
export const FEATURE_PAGE_SLUGS = {
|
||||
keywordResearch: "keyword-research",
|
||||
siteAudit: "site-audit",
|
||||
backlinks: "backlinks",
|
||||
backlinks: "backlink-checker",
|
||||
domainOverview: "domain-overview",
|
||||
rankTracking: "rank-tracking",
|
||||
savedKeywords: "saved-keywords",
|
||||
|
||||
@ -21,6 +21,11 @@ export type FeaturePage = {
|
||||
showMetrics?: boolean;
|
||||
useCases: string[];
|
||||
differentiators: string[];
|
||||
featuredLink?: {
|
||||
title: string;
|
||||
description: string;
|
||||
href: string;
|
||||
};
|
||||
related: Array<{
|
||||
label: string;
|
||||
href: string;
|
||||
@ -207,7 +212,7 @@ export const featurePages = {
|
||||
],
|
||||
related: [
|
||||
{ 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" },
|
||||
],
|
||||
faqs: [
|
||||
@ -232,7 +237,7 @@ export const featurePages = {
|
||||
slug: FEATURE_PAGE_SLUGS.backlinks,
|
||||
eyebrow: "Backlinks",
|
||||
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:
|
||||
"Analyze backlinks, referring domains, and linked pages without separating link research from the rest of your SEO workspace.",
|
||||
primaryKeyword: "backlink analysis",
|
||||
@ -278,13 +283,19 @@ export const featurePages = {
|
||||
"Self-host or adapt backlink reporting for your team's workflow.",
|
||||
"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: [
|
||||
{ label: "Free Backlink Checker", href: "/backlink-checker" },
|
||||
{
|
||||
label: "Link Prospecting",
|
||||
href: "/docs/skills/link-prospecting",
|
||||
},
|
||||
{ label: "Domain Overview", href: "/features/domain-overview" },
|
||||
{ label: "OpenSEO MCP", href: "/features/mcp" },
|
||||
],
|
||||
faqs: [
|
||||
{
|
||||
@ -360,7 +371,7 @@ export const featurePages = {
|
||||
href: "/docs/skills/competitor-analysis",
|
||||
},
|
||||
{ label: "Keyword Research", href: "/features/keyword-research" },
|
||||
{ label: "Backlinks", href: "/features/backlinks" },
|
||||
{ label: "Backlinks", href: "/features/backlink-checker" },
|
||||
],
|
||||
faqs: [
|
||||
{
|
||||
|
||||
@ -136,7 +136,7 @@ function BacklinkCheckerPage() {
|
||||
</span>
|
||||
</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"
|
||||
>
|
||||
Learn about the Backlinks feature
|
||||
|
||||
@ -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")({
|
||||
beforeLoad: () => {
|
||||
throw redirect({ to: "/backlink-checker", statusCode: 301 });
|
||||
},
|
||||
head: () =>
|
||||
buildPageSeo({
|
||||
title: "Backlink Checker",
|
||||
description: page.description,
|
||||
path: "/features/backlink-checker",
|
||||
titleSuffix: "OpenSEO",
|
||||
imageAlt: page.imageAlt,
|
||||
}),
|
||||
component: () => <FeaturePageTemplate page={page} />,
|
||||
});
|
||||
|
||||
@ -1,18 +1,7 @@
|
||||
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;
|
||||
import { createFileRoute, redirect } from "@tanstack/react-router";
|
||||
|
||||
export const Route = createFileRoute("/_marketing/features/backlinks")({
|
||||
head: () =>
|
||||
buildPageSeo({
|
||||
title: "Backlink Analysis Tool",
|
||||
description: page.description,
|
||||
path: "/features/backlinks",
|
||||
titleSuffix: "OpenSEO",
|
||||
imageAlt: page.imageAlt,
|
||||
}),
|
||||
component: () => <FeaturePageTemplate page={page} />,
|
||||
beforeLoad: () => {
|
||||
throw redirect({ to: "/features/backlink-checker", statusCode: 301 });
|
||||
},
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user