feat(seo): add security.txt, humans.txt, Schema.org JSON-LD
- public/.well-known/security.txt (RFC 9116): контакты для responsible disclosure - public/humans.txt: команда и стек - BaseLayout.astro: JSON-LD WebSite (SearchAction) + NewsMediaOrganization (sameAs из SOCIAL)
This commit is contained in:
6
public/.well-known/security.txt
Normal file
6
public/.well-known/security.txt
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
Contact: mailto:admin@anotherreflections.ru
|
||||||
|
Contact: https://anotherreflections.ru/kontakty
|
||||||
|
Expires: 2027-05-21T00:00:00.000Z
|
||||||
|
Preferred-Languages: ru, en
|
||||||
|
Canonical: https://anotherreflections.ru/.well-known/security.txt
|
||||||
|
Policy: https://anotherreflections.ru/privacy
|
||||||
10
public/humans.txt
Normal file
10
public/humans.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
/* SITE */
|
||||||
|
Site: Иные Отражения — anotherreflections.ru
|
||||||
|
Last update: 2026-05-21
|
||||||
|
Standards: HTML5, CSS3, RSS 2.0
|
||||||
|
Components: Astro 5, nginx 1.29
|
||||||
|
Software: Docker, Gitea Actions
|
||||||
|
|
||||||
|
/* TEAM */
|
||||||
|
Maintained by: HHIVP
|
||||||
|
Contact: admin@anotherreflections.ru
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
import '../styles/global.css';
|
import '../styles/global.css';
|
||||||
import { SITE_TITLE, SITE_DESCRIPTION, SITE_URL, SITE_LANG, MAIN_NAV } from '../consts';
|
import { SITE_TITLE, SITE_DESCRIPTION, SITE_URL, SITE_LANG, SITE_FOUNDED, MAIN_NAV, SOCIAL } from '../consts';
|
||||||
import BrandMark from '../components/BrandMark.astro';
|
import BrandMark from '../components/BrandMark.astro';
|
||||||
import SocialLinks from '../components/SocialLinks.astro';
|
import SocialLinks from '../components/SocialLinks.astro';
|
||||||
import Analytics from '../components/Analytics.astro';
|
import Analytics from '../components/Analytics.astro';
|
||||||
@@ -17,6 +17,35 @@ const pageTitle = title ? `${title} — ${SITE_TITLE}` : SITE_TITLE;
|
|||||||
const pageDesc = description || SITE_DESCRIPTION;
|
const pageDesc = description || SITE_DESCRIPTION;
|
||||||
const canonical = new URL(Astro.url.pathname, SITE_URL).toString();
|
const canonical = new URL(Astro.url.pathname, SITE_URL).toString();
|
||||||
const year = new Date().getFullYear();
|
const year = new Date().getFullYear();
|
||||||
|
|
||||||
|
const ogImage = new URL('/og-image.png', SITE_URL).toString();
|
||||||
|
const logoUrl = new URL('/logo.svg', SITE_URL).toString();
|
||||||
|
const jsonLd = [
|
||||||
|
{
|
||||||
|
'@context': 'https://schema.org',
|
||||||
|
'@type': 'WebSite',
|
||||||
|
name: SITE_TITLE,
|
||||||
|
url: SITE_URL,
|
||||||
|
inLanguage: SITE_LANG,
|
||||||
|
description: SITE_DESCRIPTION,
|
||||||
|
potentialAction: {
|
||||||
|
'@type': 'SearchAction',
|
||||||
|
target: `${SITE_URL}/?s={query}`,
|
||||||
|
'query-input': 'required name=query',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'@context': 'https://schema.org',
|
||||||
|
'@type': 'NewsMediaOrganization',
|
||||||
|
name: SITE_TITLE,
|
||||||
|
url: SITE_URL,
|
||||||
|
logo: logoUrl,
|
||||||
|
image: ogImage,
|
||||||
|
description: SITE_DESCRIPTION,
|
||||||
|
foundingDate: String(SITE_FOUNDED),
|
||||||
|
sameAs: Object.values(SOCIAL).map((s) => s.url),
|
||||||
|
},
|
||||||
|
];
|
||||||
---
|
---
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang={SITE_LANG}>
|
<html lang={SITE_LANG}>
|
||||||
@@ -46,6 +75,8 @@ const year = new Date().getFullYear();
|
|||||||
|
|
||||||
<link rel="alternate" type="application/rss+xml" title={`${SITE_TITLE} — RSS`} href="/feed.xml" />
|
<link rel="alternate" type="application/rss+xml" title={`${SITE_TITLE} — RSS`} href="/feed.xml" />
|
||||||
|
|
||||||
|
<script type="application/ld+json" is:inline set:html={JSON.stringify(jsonLd)} />
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Cormorant+Garamond:wght@500;600;700&display=swap" rel="stylesheet" />
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Cormorant+Garamond:wght@500;600;700&display=swap" rel="stylesheet" />
|
||||||
|
|||||||
Reference in New Issue
Block a user