mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
feat(meta): add OpenGraph, JSON-LD, security headers for crawler identity
This commit is contained in:
+46
-2
@@ -6,10 +6,54 @@
|
|||||||
<link rel="icon" href="/favicon.ico" />
|
<link rel="icon" href="/favicon.ico" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
||||||
<meta name="theme-color" content="#000000" />
|
<meta name="theme-color" content="#000000" />
|
||||||
<meta name="description" content="serverless, adminless, decentralized imageboard" />
|
<meta name="description" content="5chan is a free, open-source, decentralized imageboard built on the Bitsocial protocol. No servers, no admins — all content is shared peer-to-peer via IPFS." />
|
||||||
|
<meta name="author" content="bitsocialhq" />
|
||||||
|
<link rel="canonical" href="https://5chan.app/" />
|
||||||
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
||||||
<link rel="manifest" href="/manifest.json" />
|
<link rel="manifest" href="/manifest.json" />
|
||||||
<title>5chan</title>
|
|
||||||
|
<!-- OpenGraph -->
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:site_name" content="5chan" />
|
||||||
|
<meta property="og:title" content="5chan — Decentralized Imageboard" />
|
||||||
|
<meta property="og:description" content="Free, open-source, serverless imageboard built on the Bitsocial protocol. No servers, no admins — peer-to-peer via IPFS." />
|
||||||
|
<meta property="og:url" content="https://5chan.app/" />
|
||||||
|
<meta property="og:image" content="https://5chan.app/manifest-icon-512x512.png" />
|
||||||
|
|
||||||
|
<!-- Twitter Card -->
|
||||||
|
<meta name="twitter:card" content="summary" />
|
||||||
|
<meta name="twitter:title" content="5chan — Decentralized Imageboard" />
|
||||||
|
<meta name="twitter:description" content="Free, open-source, serverless imageboard built on the Bitsocial protocol. Peer-to-peer via IPFS." />
|
||||||
|
<meta name="twitter:image" content="https://5chan.app/manifest-icon-512x512.png" />
|
||||||
|
|
||||||
|
<!-- Structured Data -->
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "WebApplication",
|
||||||
|
"name": "5chan",
|
||||||
|
"url": "https://5chan.app",
|
||||||
|
"description": "Free, open-source, decentralized imageboard built on the Bitsocial protocol. No servers, no admins — all content is shared peer-to-peer via IPFS.",
|
||||||
|
"applicationCategory": "SocialNetworkingApplication",
|
||||||
|
"operatingSystem": "Any",
|
||||||
|
"offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" },
|
||||||
|
"author": {
|
||||||
|
"@type": "Organization",
|
||||||
|
"name": "bitsocialhq",
|
||||||
|
"url": "https://github.com/bitsocialhq"
|
||||||
|
},
|
||||||
|
"license": "https://www.gnu.org/licenses/old-licenses/gpl-2.0.html",
|
||||||
|
"sourceOrganization": {
|
||||||
|
"@type": "Organization",
|
||||||
|
"name": "bitsocialhq",
|
||||||
|
"url": "https://github.com/bitsocialhq"
|
||||||
|
},
|
||||||
|
"isAccessibleForFree": true,
|
||||||
|
"codeRepository": "https://github.com/bitsocialhq/5chan"
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<title>5chan — Decentralized Imageboard</title>
|
||||||
<!-- React Grab: Hold ⌘C and click any element to provide visual context to AI coding agents (dev only) -->
|
<!-- React Grab: Hold ⌘C and click any element to provide visual context to AI coding agents (dev only) -->
|
||||||
<script type="module">
|
<script type="module">
|
||||||
if (import.meta.env.DEV) {
|
if (import.meta.env.DEV) {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"short_name": "5chan",
|
"short_name": "5chan",
|
||||||
"name": "5chan",
|
"name": "5chan — Decentralized Imageboard",
|
||||||
|
"description": "Free, open-source, decentralized imageboard built on the Bitsocial protocol. No servers, no admins — peer-to-peer via IPFS.",
|
||||||
"icons": [
|
"icons": [
|
||||||
{
|
{
|
||||||
"src": "manifest-icon-192x192.png",
|
"src": "manifest-icon-192x192.png",
|
||||||
@@ -14,5 +15,6 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"start_url": ".",
|
"start_url": ".",
|
||||||
"display": "standalone"
|
"display": "standalone",
|
||||||
|
"categories": ["social", "news"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
# https://www.robotstxt.org/robotstxt.html
|
# https://www.robotstxt.org/robotstxt.html
|
||||||
User-agent: *
|
User-agent: *
|
||||||
Disallow:
|
Disallow:
|
||||||
|
|
||||||
|
# 5chan — open-source decentralized imageboard
|
||||||
|
# Source: https://github.com/bitsocialhq/5chan
|
||||||
|
|||||||
+12
@@ -2,6 +2,18 @@
|
|||||||
"rewrites": [
|
"rewrites": [
|
||||||
{ "source": "/(.*)", "destination": "/index.html" }
|
{ "source": "/(.*)", "destination": "/index.html" }
|
||||||
],
|
],
|
||||||
|
"headers": [
|
||||||
|
{
|
||||||
|
"source": "/(.*)",
|
||||||
|
"headers": [
|
||||||
|
{ "key": "X-Content-Type-Options", "value": "nosniff" },
|
||||||
|
{ "key": "X-Frame-Options", "value": "DENY" },
|
||||||
|
{ "key": "Referrer-Policy", "value": "no-referrer" },
|
||||||
|
{ "key": "Permissions-Policy", "value": "camera=(), microphone=(), geolocation=()" },
|
||||||
|
{ "key": "X-DNS-Prefetch-Control", "value": "off" }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"installCommand": "HUSKY=0 YARN_CACHE_FOLDER=/tmp/yarn-cache yarn install --frozen-lockfile --network-timeout 600000 --network-concurrency 1 --child-concurrency 1",
|
"installCommand": "HUSKY=0 YARN_CACHE_FOLDER=/tmp/yarn-cache yarn install --frozen-lockfile --network-timeout 600000 --network-concurrency 1 --child-concurrency 1",
|
||||||
"buildCommand": "yarn build",
|
"buildCommand": "yarn build",
|
||||||
"outputDirectory": "build",
|
"outputDirectory": "build",
|
||||||
|
|||||||
Reference in New Issue
Block a user