Improved SEO
This commit is contained in:
parent
e8cb2f3162
commit
06827ebc49
4 changed files with 50 additions and 13 deletions
|
@ -3,15 +3,40 @@ import Nav from '../components/Nav.astro';
|
||||||
import Footer from '../components/Footer.astro';
|
import Footer from '../components/Footer.astro';
|
||||||
|
|
||||||
interface Meta {
|
interface Meta {
|
||||||
title?: string;
|
site_name: string,
|
||||||
desc: string;
|
author: string,
|
||||||
|
title: string,
|
||||||
|
desc: string,
|
||||||
|
title_suffix: string,
|
||||||
|
use_title_suffix: boolean,
|
||||||
|
image: string,
|
||||||
|
image_type: "banner" | "icon",
|
||||||
|
favicon: string,
|
||||||
|
color: string
|
||||||
}
|
}
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
meta: Meta
|
meta: Partial<Meta>
|
||||||
}
|
}
|
||||||
|
|
||||||
const { meta } = Astro.props;
|
const defaultMeta: Meta = {
|
||||||
|
site_name: "CodeSpace.cz",
|
||||||
|
title: "CodeSpace",
|
||||||
|
desc: "Spojuje nás touha po svobodě a nezávislosti v digitální době. Provozujeme si vlastní síť a servery, abychom nemuseli spoléhat na ostatní. Poskytujeme různé služby, které respektují naše soukromí.",
|
||||||
|
author: "CodeSpace",
|
||||||
|
title_suffix: " · CodeSpace",
|
||||||
|
use_title_suffix: true,
|
||||||
|
image: "/assets/icon.webp",
|
||||||
|
image_type: "icon",
|
||||||
|
favicon: "/assets/icon.webp",
|
||||||
|
color: "#cc1e58"
|
||||||
|
};
|
||||||
|
|
||||||
|
const props = Astro.props;
|
||||||
|
const meta = { ...defaultMeta, ...props.meta };
|
||||||
|
|
||||||
|
const title = meta.title + (meta.use_title_suffix ? meta.title_suffix : "");
|
||||||
|
const card = meta.image_type == "banner" ? "summary_large_image" : "summary";
|
||||||
|
|
||||||
import '../styles/global.css';
|
import '../styles/global.css';
|
||||||
import '../styles/fonts.css';
|
import '../styles/fonts.css';
|
||||||
|
@ -21,11 +46,23 @@ import '../styles/fonts.css';
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<title>{meta.title}</title>
|
<title>{title}</title>
|
||||||
<meta name="description" content={meta.desc} />
|
<meta name="description" content={meta.desc} />
|
||||||
|
<meta name="theme-color" content={meta.color}>
|
||||||
|
<meta name="description" content={meta.desc}>
|
||||||
|
<meta property="og:site_name" content={meta.site_name}>
|
||||||
|
<meta property="og:title" content={meta.title}>
|
||||||
|
<meta property="og:description" content={meta.desc}>
|
||||||
|
<meta property="og:image" content={meta.image}>
|
||||||
|
<meta property="twitter:site_name" content={meta.site_name}>
|
||||||
|
<meta property="twitter:title" content={meta.title}>
|
||||||
|
<meta property="twitter:description" content={meta.desc}>
|
||||||
|
<meta property="twitter:image" content={meta.image}>
|
||||||
|
<meta property="twitter:card" content={card}>
|
||||||
|
<meta name="author" content={meta.author}>
|
||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
<link rel="icon" type="image/webp" href="/assets/icon.webp" />
|
<link rel="icon" href={meta.favicon} />
|
||||||
<script defer data-domain="codespace.cz" src="https://plausible.cdsp.cz/js/script.js"></script>
|
<script is:inline defer data-domain="codespace.cz" src="https://plausible.cdsp.cz/js/script.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="page">
|
<div class="page">
|
||||||
|
|
|
@ -4,8 +4,8 @@ import Layout from '../layouts/Layout.astro';
|
||||||
import { public_services, invite_services } from '../scripts/services';
|
import { public_services, invite_services } from '../scripts/services';
|
||||||
|
|
||||||
const meta = {
|
const meta = {
|
||||||
title: "CodeSpace.cz - Spojuje nás touha po svobodě a nezávislosti v digitální době",
|
title: "CodeSpace.cz - svoboda a nezávislost v digitální době",
|
||||||
desc: "Provozujeme si vlastní síť a servery, abychom nemuseli spoléhat na ostatní."
|
use_title_suffix: false
|
||||||
};
|
};
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
import Layout from '../layouts/Layout.astro';
|
import Layout from '../layouts/Layout.astro';
|
||||||
|
|
||||||
const meta = {
|
const meta = {
|
||||||
title: "Kontakt - CodeSpace.cz",
|
title: "Kontakt",
|
||||||
desc: "Způsoby, kterými nás můžete kontaktovat."
|
desc: "Způsoby, kterými nás můžete kontaktovat."
|
||||||
};
|
};
|
||||||
---
|
---
|
||||||
|
|
|
@ -4,7 +4,7 @@ import { invite_services, public_services } from '../scripts/services';
|
||||||
import Service from '../components/Service.astro';
|
import Service from '../components/Service.astro';
|
||||||
|
|
||||||
const meta = {
|
const meta = {
|
||||||
title: "Služby - CodeSpace.cz",
|
title: "Služby",
|
||||||
desc: "Přehled veřejných služeb, které provozujeme."
|
desc: "Přehled veřejných služeb, které provozujeme."
|
||||||
};
|
};
|
||||||
---
|
---
|
||||||
|
@ -21,7 +21,7 @@ const meta = {
|
||||||
<h2>Veřejné služby</h2>
|
<h2>Veřejné služby</h2>
|
||||||
<p>Přehled všech provozovaných veřejných služeb.</p>
|
<p>Přehled všech provozovaných veřejných služeb.</p>
|
||||||
<div class="services">
|
<div class="services">
|
||||||
{ public_services.map(service =>
|
{ public_services.map(service =>
|
||||||
<Service {...service} />
|
<Service {...service} />
|
||||||
) }
|
) }
|
||||||
</div>
|
</div>
|
||||||
|
@ -32,7 +32,7 @@ const meta = {
|
||||||
<h2>Služby pro členy</h2>
|
<h2>Služby pro členy</h2>
|
||||||
<p>Provozujeme také další služby, které jsou určeny především naším členům.</p>
|
<p>Provozujeme také další služby, které jsou určeny především naším členům.</p>
|
||||||
<div class="services">
|
<div class="services">
|
||||||
{ invite_services.map(service =>
|
{ invite_services.map(service =>
|
||||||
<Service {...service} />
|
<Service {...service} />
|
||||||
) }
|
) }
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue