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} />
|
<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
|
||||||
|
|||||||
@ -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",
|
||||||
|
|||||||
@ -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: [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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} />,
|
||||||
});
|
});
|
||||||
|
|||||||
@ -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} />,
|
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user