diff --git a/public/.well-known/security.txt b/public/.well-known/security.txt new file mode 100644 index 0000000..1c983fb --- /dev/null +++ b/public/.well-known/security.txt @@ -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 diff --git a/public/humans.txt b/public/humans.txt new file mode 100644 index 0000000..8ea225b --- /dev/null +++ b/public/humans.txt @@ -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 diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro index b48875e..3b9a138 100644 --- a/src/layouts/BaseLayout.astro +++ b/src/layouts/BaseLayout.astro @@ -1,6 +1,6 @@ --- 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 SocialLinks from '../components/SocialLinks.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 canonical = new URL(Astro.url.pathname, SITE_URL).toString(); 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), + }, +]; --- @@ -46,6 +75,8 @@ const year = new Date().getFullYear(); +