SEO, Metadata & Sitemap
This commit is contained in:
+18
-1
@@ -4,7 +4,24 @@ import ArchitectureDiagram from "@/components/diagrams/ArchitectureDiagram";
|
|||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "About P2NS - Peer-to-Peer Decentralized DNS System",
|
title: "About P2NS - Peer-to-Peer Decentralized DNS System",
|
||||||
description:
|
description:
|
||||||
"Learn about P2NS, a robust, firewall-resistant peer-to-peer DNS resolution system.",
|
"Learn about P2NS, a robust, firewall-resistant peer-to-peer DNS resolution system that operates independently of centralized DNS infrastructure.",
|
||||||
|
keywords: ["P2P", "DNS", "decentralized", "peer-to-peer", "NAT traversal", "firewall", "censorship resistance", "about P2NS"],
|
||||||
|
authors: [{ name: "Raven Scott" }],
|
||||||
|
openGraph: {
|
||||||
|
title: "About P2NS - Peer-to-Peer Decentralized DNS System",
|
||||||
|
description: "Learn about P2NS, a robust, firewall-resistant peer-to-peer DNS resolution system.",
|
||||||
|
url: "https://p2ns.space/about",
|
||||||
|
siteName: "P2NS",
|
||||||
|
type: "website",
|
||||||
|
},
|
||||||
|
twitter: {
|
||||||
|
card: "summary_large_image",
|
||||||
|
title: "About P2NS - Peer-to-Peer Decentralized DNS System",
|
||||||
|
description: "Learn about P2NS, a robust, firewall-resistant peer-to-peer DNS resolution system.",
|
||||||
|
},
|
||||||
|
alternates: {
|
||||||
|
canonical: "https://p2ns.space/about",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function AboutPage() {
|
export default function AboutPage() {
|
||||||
|
|||||||
@@ -2,8 +2,25 @@ import type { Metadata } from 'next';
|
|||||||
import { Github, ExternalLink, Code, Heart, MessageCircle } from 'lucide-react';
|
import { Github, ExternalLink, Code, Heart, MessageCircle } from 'lucide-react';
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
|
title: 'Community - P2NS',
|
||||||
|
description: 'Contribute to P2NS, get support, join the Discord community, and learn about the roadmap.',
|
||||||
|
keywords: ['P2NS community', 'contribute', 'open source', 'Discord', 'support', 'contributing'],
|
||||||
|
authors: [{ name: 'Raven Scott' }],
|
||||||
|
openGraph: {
|
||||||
title: 'Community - P2NS',
|
title: 'Community - P2NS',
|
||||||
description: 'Contribute to P2NS, get support, and learn about the roadmap.',
|
description: 'Contribute to P2NS, get support, and learn about the roadmap.',
|
||||||
|
url: 'https://p2ns.space/community',
|
||||||
|
siteName: 'P2NS',
|
||||||
|
type: 'website',
|
||||||
|
},
|
||||||
|
twitter: {
|
||||||
|
card: 'summary_large_image',
|
||||||
|
title: 'Community - P2NS',
|
||||||
|
description: 'Contribute to P2NS, get support, and learn about the roadmap.',
|
||||||
|
},
|
||||||
|
alternates: {
|
||||||
|
canonical: 'https://p2ns.space/community',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function CommunityPage() {
|
export default function CommunityPage() {
|
||||||
|
|||||||
@@ -2,8 +2,25 @@ import type { Metadata } from 'next';
|
|||||||
import CodeBlock from '@/components/ui/CodeBlock';
|
import CodeBlock from '@/components/ui/CodeBlock';
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
|
title: 'Admin Panel - P2NS Documentation',
|
||||||
|
description: 'Complete guide to the P2NS web-based admin interface, features, and usage instructions. Manage domains, Holesail servers, and more.',
|
||||||
|
keywords: ['P2NS admin panel', 'admin interface', 'web interface', 'management', 'P2NS dashboard'],
|
||||||
|
authors: [{ name: 'Raven Scott' }],
|
||||||
|
openGraph: {
|
||||||
title: 'Admin Panel - P2NS Documentation',
|
title: 'Admin Panel - P2NS Documentation',
|
||||||
description: 'Complete guide to the P2NS web-based admin interface, features, and usage instructions',
|
description: 'Complete guide to the P2NS web-based admin interface, features, and usage instructions',
|
||||||
|
url: 'https://p2ns.space/docs/admin-panel',
|
||||||
|
siteName: 'P2NS',
|
||||||
|
type: 'website',
|
||||||
|
},
|
||||||
|
twitter: {
|
||||||
|
card: 'summary_large_image',
|
||||||
|
title: 'Admin Panel - P2NS Documentation',
|
||||||
|
description: 'Complete guide to the P2NS web-based admin interface, features, and usage instructions',
|
||||||
|
},
|
||||||
|
alternates: {
|
||||||
|
canonical: 'https://p2ns.space/docs/admin-panel',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function AdminPanelPage() {
|
export default function AdminPanelPage() {
|
||||||
|
|||||||
@@ -2,8 +2,25 @@ import type { Metadata } from 'next';
|
|||||||
import CodeBlock from '@/components/ui/CodeBlock';
|
import CodeBlock from '@/components/ui/CodeBlock';
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
|
title: 'API Reference - P2NS Documentation',
|
||||||
|
description: 'Complete REST API and WebSocket documentation for P2NS. All endpoints, request/response formats, and WebSocket events.',
|
||||||
|
keywords: ['P2NS API', 'REST API', 'WebSocket', 'API documentation', 'endpoints', 'P2NS reference'],
|
||||||
|
authors: [{ name: 'Raven Scott' }],
|
||||||
|
openGraph: {
|
||||||
title: 'API Reference - P2NS Documentation',
|
title: 'API Reference - P2NS Documentation',
|
||||||
description: 'Complete REST API and WebSocket documentation for P2NS.',
|
description: 'Complete REST API and WebSocket documentation for P2NS.',
|
||||||
|
url: 'https://p2ns.space/docs/api',
|
||||||
|
siteName: 'P2NS',
|
||||||
|
type: 'website',
|
||||||
|
},
|
||||||
|
twitter: {
|
||||||
|
card: 'summary_large_image',
|
||||||
|
title: 'API Reference - P2NS Documentation',
|
||||||
|
description: 'Complete REST API and WebSocket documentation for P2NS.',
|
||||||
|
},
|
||||||
|
alternates: {
|
||||||
|
canonical: 'https://p2ns.space/docs/api',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function APIPage() {
|
export default function APIPage() {
|
||||||
|
|||||||
@@ -2,8 +2,25 @@ import type { Metadata } from 'next';
|
|||||||
import ArchitectureDiagram from '@/components/diagrams/ArchitectureDiagram';
|
import ArchitectureDiagram from '@/components/diagrams/ArchitectureDiagram';
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
|
title: 'Architecture - P2NS Documentation',
|
||||||
|
description: 'Deep dive into P2NS system architecture and components. Understand how P2NS is built and how all pieces work together.',
|
||||||
|
keywords: ['P2NS architecture', 'system design', 'components', 'technical details', 'P2NS internals'],
|
||||||
|
authors: [{ name: 'Raven Scott' }],
|
||||||
|
openGraph: {
|
||||||
title: 'Architecture - P2NS Documentation',
|
title: 'Architecture - P2NS Documentation',
|
||||||
description: 'Deep dive into P2NS system architecture and components.',
|
description: 'Deep dive into P2NS system architecture and components.',
|
||||||
|
url: 'https://p2ns.space/docs/architecture',
|
||||||
|
siteName: 'P2NS',
|
||||||
|
type: 'website',
|
||||||
|
},
|
||||||
|
twitter: {
|
||||||
|
card: 'summary_large_image',
|
||||||
|
title: 'Architecture - P2NS Documentation',
|
||||||
|
description: 'Deep dive into P2NS system architecture and components.',
|
||||||
|
},
|
||||||
|
alternates: {
|
||||||
|
canonical: 'https://p2ns.space/docs/architecture',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function ArchitecturePage() {
|
export default function ArchitecturePage() {
|
||||||
|
|||||||
@@ -2,8 +2,25 @@ import type { Metadata } from 'next';
|
|||||||
import CodeBlock from '@/components/ui/CodeBlock';
|
import CodeBlock from '@/components/ui/CodeBlock';
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
|
title: 'Configuration - P2NS Documentation',
|
||||||
|
description: 'Environment variables and configuration options for P2NS. Complete guide to customizing your P2NS setup.',
|
||||||
|
keywords: ['P2NS configuration', 'environment variables', 'settings', 'config', 'P2NS setup'],
|
||||||
|
authors: [{ name: 'Raven Scott' }],
|
||||||
|
openGraph: {
|
||||||
title: 'Configuration - P2NS Documentation',
|
title: 'Configuration - P2NS Documentation',
|
||||||
description: 'Environment variables and configuration options for P2NS.',
|
description: 'Environment variables and configuration options for P2NS.',
|
||||||
|
url: 'https://p2ns.space/docs/configuration',
|
||||||
|
siteName: 'P2NS',
|
||||||
|
type: 'website',
|
||||||
|
},
|
||||||
|
twitter: {
|
||||||
|
card: 'summary_large_image',
|
||||||
|
title: 'Configuration - P2NS Documentation',
|
||||||
|
description: 'Environment variables and configuration options for P2NS.',
|
||||||
|
},
|
||||||
|
alternates: {
|
||||||
|
canonical: 'https://p2ns.space/docs/configuration',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function ConfigurationPage() {
|
export default function ConfigurationPage() {
|
||||||
|
|||||||
@@ -2,8 +2,25 @@ import type { Metadata } from 'next';
|
|||||||
import CodeBlock from '@/components/ui/CodeBlock';
|
import CodeBlock from '@/components/ui/CodeBlock';
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
|
title: 'Getting Started - P2NS Documentation',
|
||||||
|
description: 'Installation and quick start guide for P2NS. Learn how to set up and run your first P2NS node.',
|
||||||
|
keywords: ['P2NS installation', 'getting started', 'quick start', 'setup guide', 'P2NS tutorial'],
|
||||||
|
authors: [{ name: 'Raven Scott' }],
|
||||||
|
openGraph: {
|
||||||
title: 'Getting Started - P2NS Documentation',
|
title: 'Getting Started - P2NS Documentation',
|
||||||
description: 'Installation and quick start guide for P2NS.',
|
description: 'Installation and quick start guide for P2NS.',
|
||||||
|
url: 'https://p2ns.space/docs/getting-started',
|
||||||
|
siteName: 'P2NS',
|
||||||
|
type: 'website',
|
||||||
|
},
|
||||||
|
twitter: {
|
||||||
|
card: 'summary_large_image',
|
||||||
|
title: 'Getting Started - P2NS Documentation',
|
||||||
|
description: 'Installation and quick start guide for P2NS.',
|
||||||
|
},
|
||||||
|
alternates: {
|
||||||
|
canonical: 'https://p2ns.space/docs/getting-started',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function GettingStartedPage() {
|
export default function GettingStartedPage() {
|
||||||
|
|||||||
@@ -3,8 +3,25 @@ import CodeBlock from '@/components/ui/CodeBlock';
|
|||||||
import P2NSFlowDiagram from '@/components/diagrams/P2NSFlowDiagram';
|
import P2NSFlowDiagram from '@/components/diagrams/P2NSFlowDiagram';
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
|
title: 'How It Works - P2NS Documentation',
|
||||||
|
description: 'Complete explanation of how P2NS works from domain registration to accessing services. Understand the P2NS workflow and processes.',
|
||||||
|
keywords: ['P2NS how it works', 'workflow', 'process', 'domain registration', 'P2NS explanation'],
|
||||||
|
authors: [{ name: 'Raven Scott' }],
|
||||||
|
openGraph: {
|
||||||
title: 'How It Works - P2NS Documentation',
|
title: 'How It Works - P2NS Documentation',
|
||||||
description: 'Complete explanation of how P2NS works from domain registration to accessing services',
|
description: 'Complete explanation of how P2NS works from domain registration to accessing services',
|
||||||
|
url: 'https://p2ns.space/docs/how-it-works',
|
||||||
|
siteName: 'P2NS',
|
||||||
|
type: 'website',
|
||||||
|
},
|
||||||
|
twitter: {
|
||||||
|
card: 'summary_large_image',
|
||||||
|
title: 'How It Works - P2NS Documentation',
|
||||||
|
description: 'Complete explanation of how P2NS works from domain registration to accessing services',
|
||||||
|
},
|
||||||
|
alternates: {
|
||||||
|
canonical: 'https://p2ns.space/docs/how-it-works',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function HowItWorksPage() {
|
export default function HowItWorksPage() {
|
||||||
|
|||||||
@@ -5,6 +5,23 @@ import { Book, Settings, Code, Wrench, Network, FileText, LayoutDashboard } from
|
|||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: 'Documentation - P2NS',
|
title: 'Documentation - P2NS',
|
||||||
description: 'Complete documentation for P2NS including installation, configuration, API reference, and troubleshooting.',
|
description: 'Complete documentation for P2NS including installation, configuration, API reference, and troubleshooting.',
|
||||||
|
keywords: ['P2NS documentation', 'P2NS docs', 'installation guide', 'configuration', 'API reference', 'troubleshooting'],
|
||||||
|
authors: [{ name: 'Raven Scott' }],
|
||||||
|
openGraph: {
|
||||||
|
title: 'Documentation - P2NS',
|
||||||
|
description: 'Complete documentation for P2NS including installation, configuration, API reference, and troubleshooting.',
|
||||||
|
url: 'https://p2ns.space/docs',
|
||||||
|
siteName: 'P2NS',
|
||||||
|
type: 'website',
|
||||||
|
},
|
||||||
|
twitter: {
|
||||||
|
card: 'summary_large_image',
|
||||||
|
title: 'Documentation - P2NS',
|
||||||
|
description: 'Complete documentation for P2NS including installation, configuration, API reference, and troubleshooting.',
|
||||||
|
},
|
||||||
|
alternates: {
|
||||||
|
canonical: 'https://p2ns.space/docs',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const docSections = [
|
const docSections = [
|
||||||
|
|||||||
@@ -2,8 +2,25 @@ import type { Metadata } from 'next';
|
|||||||
import CodeBlock from '@/components/ui/CodeBlock';
|
import CodeBlock from '@/components/ui/CodeBlock';
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
|
title: 'Troubleshooting - P2NS Documentation',
|
||||||
|
description: 'Common issues and solutions for P2NS. Debug problems, fix errors, and get help with your P2NS setup.',
|
||||||
|
keywords: ['P2NS troubleshooting', 'debug', 'fix errors', 'common issues', 'P2NS help', 'problem solving'],
|
||||||
|
authors: [{ name: 'Raven Scott' }],
|
||||||
|
openGraph: {
|
||||||
title: 'Troubleshooting - P2NS Documentation',
|
title: 'Troubleshooting - P2NS Documentation',
|
||||||
description: 'Common issues and solutions for P2NS.',
|
description: 'Common issues and solutions for P2NS.',
|
||||||
|
url: 'https://p2ns.space/docs/troubleshooting',
|
||||||
|
siteName: 'P2NS',
|
||||||
|
type: 'website',
|
||||||
|
},
|
||||||
|
twitter: {
|
||||||
|
card: 'summary_large_image',
|
||||||
|
title: 'Troubleshooting - P2NS Documentation',
|
||||||
|
description: 'Common issues and solutions for P2NS.',
|
||||||
|
},
|
||||||
|
alternates: {
|
||||||
|
canonical: 'https://p2ns.space/docs/troubleshooting',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function TroubleshootingPage() {
|
export default function TroubleshootingPage() {
|
||||||
|
|||||||
+18
-1
@@ -25,7 +25,24 @@ import {
|
|||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: 'Features - P2NS Peer-to-Peer DNS System',
|
title: 'Features - P2NS Peer-to-Peer DNS System',
|
||||||
description:
|
description:
|
||||||
'Comprehensive features of P2NS including decentralized DNS, firewall traversal, proxy servers, and more.',
|
'Comprehensive features of P2NS including decentralized DNS, firewall traversal, proxy servers, automatic certificate management, and more.',
|
||||||
|
keywords: ['P2P DNS features', 'decentralized DNS', 'firewall traversal', 'NAT traversal', 'proxy servers', 'certificate management', 'P2NS features'],
|
||||||
|
authors: [{ name: 'Raven Scott' }],
|
||||||
|
openGraph: {
|
||||||
|
title: 'Features - P2NS Peer-to-Peer DNS System',
|
||||||
|
description: 'Comprehensive features of P2NS including decentralized DNS, firewall traversal, proxy servers, and more.',
|
||||||
|
url: 'https://p2ns.space/features',
|
||||||
|
siteName: 'P2NS',
|
||||||
|
type: 'website',
|
||||||
|
},
|
||||||
|
twitter: {
|
||||||
|
card: 'summary_large_image',
|
||||||
|
title: 'Features - P2NS Peer-to-Peer DNS System',
|
||||||
|
description: 'Comprehensive features of P2NS including decentralized DNS, firewall traversal, proxy servers, and more.',
|
||||||
|
},
|
||||||
|
alternates: {
|
||||||
|
canonical: 'https://p2ns.space/features',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
type Feature = {
|
type Feature = {
|
||||||
|
|||||||
+3
-2
@@ -19,8 +19,9 @@ export const metadata: Metadata = {
|
|||||||
openGraph: {
|
openGraph: {
|
||||||
title: "P2NS - Peer-to-Peer Decentralized DNS System",
|
title: "P2NS - Peer-to-Peer Decentralized DNS System",
|
||||||
description: "A robust, firewall-resistant peer-to-peer DNS resolution system",
|
description: "A robust, firewall-resistant peer-to-peer DNS resolution system",
|
||||||
type: "website",
|
url: "https://p2ns.space",
|
||||||
siteName: "P2NS",
|
siteName: "P2NS",
|
||||||
|
type: "website",
|
||||||
},
|
},
|
||||||
twitter: {
|
twitter: {
|
||||||
card: "summary_large_image",
|
card: "summary_large_image",
|
||||||
@@ -32,7 +33,7 @@ export const metadata: Metadata = {
|
|||||||
follow: true,
|
follow: true,
|
||||||
},
|
},
|
||||||
alternates: {
|
alternates: {
|
||||||
canonical: "/",
|
canonical: "https://p2ns.space",
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,23 @@ import PeerDiscoveryDiagram from '@/components/diagrams/PeerDiscoveryDiagram';
|
|||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: 'How P2P Works - Understanding Peer-to-Peer Networking',
|
title: 'How P2P Works - Understanding Peer-to-Peer Networking',
|
||||||
description: 'Learn about peer-to-peer networking, UDP hole-punching, NAT traversal, and how P2NS uses these technologies.',
|
description: 'Learn about peer-to-peer networking, UDP hole-punching, NAT traversal, and how P2NS uses these technologies.',
|
||||||
|
keywords: ['P2P networking', 'peer-to-peer', 'UDP hole-punching', 'NAT traversal', 'Hyperswarm', 'DHT', 'Corestore', 'P2P explained'],
|
||||||
|
authors: [{ name: 'Raven Scott' }],
|
||||||
|
openGraph: {
|
||||||
|
title: 'How P2P Works - Understanding Peer-to-Peer Networking',
|
||||||
|
description: 'Learn about peer-to-peer networking, UDP hole-punching, NAT traversal, and how P2NS uses these technologies.',
|
||||||
|
url: 'https://p2ns.space/learn/p2p',
|
||||||
|
siteName: 'P2NS',
|
||||||
|
type: 'website',
|
||||||
|
},
|
||||||
|
twitter: {
|
||||||
|
card: 'summary_large_image',
|
||||||
|
title: 'How P2P Works - Understanding Peer-to-Peer Networking',
|
||||||
|
description: 'Learn about peer-to-peer networking, UDP hole-punching, NAT traversal, and how P2NS uses these technologies.',
|
||||||
|
},
|
||||||
|
alternates: {
|
||||||
|
canonical: 'https://p2ns.space/learn/p2p',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function P2PPage() {
|
export default function P2PPage() {
|
||||||
|
|||||||
@@ -1,9 +1,32 @@
|
|||||||
|
import type { Metadata } from 'next';
|
||||||
import Hero from '@/components/sections/Hero';
|
import Hero from '@/components/sections/Hero';
|
||||||
import FeaturesGrid from '@/components/sections/FeaturesGrid';
|
import FeaturesGrid from '@/components/sections/FeaturesGrid';
|
||||||
import HowItWorks from '@/components/sections/HowItWorks';
|
import HowItWorks from '@/components/sections/HowItWorks';
|
||||||
import TechnologyStack from '@/components/sections/TechnologyStack';
|
import TechnologyStack from '@/components/sections/TechnologyStack';
|
||||||
import QuickStart from '@/components/sections/QuickStart';
|
import QuickStart from '@/components/sections/QuickStart';
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'P2NS - Peer-to-Peer Decentralized DNS System',
|
||||||
|
description: 'A robust, firewall-resistant peer-to-peer DNS resolution system that operates independently of centralized DNS infrastructure. Built with Holesail, Hyperswarm, and Corestore.',
|
||||||
|
keywords: ['P2P', 'DNS', 'decentralized', 'peer-to-peer', 'NAT traversal', 'firewall', 'Holesail', 'Hyperswarm', 'Corestore', 'decentralized DNS', 'P2P DNS'],
|
||||||
|
authors: [{ name: 'Raven Scott' }],
|
||||||
|
openGraph: {
|
||||||
|
title: 'P2NS - Peer-to-Peer Decentralized DNS System',
|
||||||
|
description: 'A robust, firewall-resistant peer-to-peer DNS resolution system that operates independently of centralized DNS infrastructure.',
|
||||||
|
url: 'https://p2ns.space',
|
||||||
|
siteName: 'P2NS',
|
||||||
|
type: 'website',
|
||||||
|
},
|
||||||
|
twitter: {
|
||||||
|
card: 'summary_large_image',
|
||||||
|
title: 'P2NS - Peer-to-Peer Decentralized DNS System',
|
||||||
|
description: 'A robust, firewall-resistant peer-to-peer DNS resolution system that operates independently of centralized DNS infrastructure.',
|
||||||
|
},
|
||||||
|
alternates: {
|
||||||
|
canonical: 'https://p2ns.space',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
export default function Home() {
|
export default function Home() {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ export default async function robots(): Promise<MetadataRoute.Robots> {
|
|||||||
allow: '/',
|
allow: '/',
|
||||||
disallow: ['/api/'],
|
disallow: ['/api/'],
|
||||||
},
|
},
|
||||||
sitemap: 'https://p2ns.example.com/sitemap.xml', // Update with your actual domain
|
sitemap: 'https://p2ns.space/sitemap.xml',
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import { MetadataRoute } from 'next';
|
import { MetadataRoute } from 'next';
|
||||||
|
|
||||||
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
|
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
|
||||||
const baseUrl = 'https://p2ns.example.com'; // Update with your actual domain
|
const baseUrl = 'https://p2ns.space';
|
||||||
|
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
@@ -17,13 +17,19 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
|
|||||||
priority: 0.8,
|
priority: 0.8,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
url: `${baseUrl}/learn/p2p`,
|
url: `${baseUrl}/features`,
|
||||||
lastModified: new Date(),
|
lastModified: new Date(),
|
||||||
changeFrequency: 'monthly',
|
changeFrequency: 'monthly',
|
||||||
priority: 0.8,
|
priority: 0.8,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
url: `${baseUrl}/features`,
|
url: `${baseUrl}/community`,
|
||||||
|
lastModified: new Date(),
|
||||||
|
changeFrequency: 'monthly',
|
||||||
|
priority: 0.8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: `${baseUrl}/learn/p2p`,
|
||||||
lastModified: new Date(),
|
lastModified: new Date(),
|
||||||
changeFrequency: 'monthly',
|
changeFrequency: 'monthly',
|
||||||
priority: 0.8,
|
priority: 0.8,
|
||||||
@@ -46,12 +52,6 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
|
|||||||
changeFrequency: 'weekly',
|
changeFrequency: 'weekly',
|
||||||
priority: 0.8,
|
priority: 0.8,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
url: `${baseUrl}/docs/examples`,
|
|
||||||
lastModified: new Date(),
|
|
||||||
changeFrequency: 'weekly',
|
|
||||||
priority: 0.8,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
url: `${baseUrl}/docs/api`,
|
url: `${baseUrl}/docs/api`,
|
||||||
lastModified: new Date(),
|
lastModified: new Date(),
|
||||||
@@ -64,6 +64,12 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
|
|||||||
changeFrequency: 'weekly',
|
changeFrequency: 'weekly',
|
||||||
priority: 0.7,
|
priority: 0.7,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
url: `${baseUrl}/docs/admin-panel`,
|
||||||
|
lastModified: new Date(),
|
||||||
|
changeFrequency: 'weekly',
|
||||||
|
priority: 0.8,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
url: `${baseUrl}/docs/architecture`,
|
url: `${baseUrl}/docs/architecture`,
|
||||||
lastModified: new Date(),
|
lastModified: new Date(),
|
||||||
@@ -71,16 +77,10 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
|
|||||||
priority: 0.7,
|
priority: 0.7,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
url: `${baseUrl}/examples`,
|
url: `${baseUrl}/docs/how-it-works`,
|
||||||
lastModified: new Date(),
|
lastModified: new Date(),
|
||||||
changeFrequency: 'monthly',
|
changeFrequency: 'weekly',
|
||||||
priority: 0.7,
|
priority: 0.8,
|
||||||
},
|
|
||||||
{
|
|
||||||
url: `${baseUrl}/community`,
|
|
||||||
lastModified: new Date(),
|
|
||||||
changeFrequency: 'monthly',
|
|
||||||
priority: 0.6,
|
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user