feat(publication): share policy for manifest routes, canonicals, indexing and sitemap
This commit is contained in:
40 files changed
+846
-282
No files matched your search
@@ -3,9 +3,11 @@ import Header from '../components/Header.astro';
|
||||
import Footer from '../components/Footer.astro';
|
||||
import Seo from '../components/Seo.astro';
|
||||
import site from '../data/site.json';
|
||||
import { getPublication } from '../utils/publication';
|
||||
import '../styles/global.css';
|
||||
import '../styles/rtl.css';
|
||||
const { title, description, canonical, image, lang = 'en', type = 'website' } = Astro.props;
|
||||
const { title, description, image, lang = 'en', type = 'website' } = Astro.props;
|
||||
const publication = await getPublication(Astro.url.pathname);
|
||||
const dir = lang === 'ar' ? 'rtl' : 'ltr';
|
||||
const organizationSchema = {
|
||||
'@context': 'https://schema.org',
|
||||
@@ -30,7 +32,7 @@ const organizationSchema = {
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<link rel="icon" href="/assets/images/favicon.svg" />
|
||||
<Seo title={title} description={description} canonical={canonical} image={image} lang={lang} type={type} />
|
||||
<Seo title={title} description={description} publication={publication} image={image} lang={lang} type={type} />
|
||||
<slot name="head" />
|
||||
<script type="application/ld+json" is:inline set:html={JSON.stringify(organizationSchema)} />
|
||||
</head>
|
||||
|
||||
@@ -10,10 +10,8 @@ interface Props {
|
||||
}
|
||||
|
||||
const { title, description, intro = [], lang = 'en' } = Astro.props;
|
||||
const languagePrefix = lang === 'en' ? '' : `/${lang}`;
|
||||
const canonical = `https://www.azinstitute4autism.com${languagePrefix}/library`;
|
||||
---
|
||||
<BaseLayout title={title} description={description} canonical={canonical} lang={lang}>
|
||||
<BaseLayout title={title} description={description} lang={lang}>
|
||||
<PageHero title={title} image="/assets/images/hero-library-index.webp" eyebrow="Welcome to" constrain />
|
||||
<section class="library-intro">
|
||||
<div class="container">
|
||||
|
||||
@@ -4,7 +4,7 @@ import BlogPostFooter from '../components/BlogPostFooter.astro';
|
||||
import LikeViewCounter from '../components/LikeViewCounter.astro';
|
||||
const { entry } = Astro.props;
|
||||
---
|
||||
<BaseLayout title={entry.data.title} description={entry.data.description} canonical={entry.data.canonical} image={entry.data.featuredImage} lang={entry.data.lang} type="article">
|
||||
<BaseLayout title={entry.data.title} description={entry.data.description} image={entry.data.featuredImage} lang={entry.data.lang} type="article">
|
||||
<article class="blog-post">
|
||||
<header class="article-header container">
|
||||
<h1>{entry.data.title}</h1>
|
||||
|
||||
@@ -55,7 +55,7 @@ const bannerTitle = serviceTitles[entry.data.lang]?.[entry.data.slug] || pageTit
|
||||
const isService = Boolean(serviceTitles[entry.data.lang]?.[entry.data.slug]);
|
||||
const heroImage = pageHeroImages[entry.data.slug];
|
||||
---
|
||||
<BaseLayout title={entry.data.title} description={entry.data.description} canonical={entry.data.canonical} image={entry.data.featuredImage || heroImage} lang={entry.data.lang}>
|
||||
<BaseLayout title={entry.data.title} description={entry.data.description} image={entry.data.featuredImage || heroImage} lang={entry.data.lang}>
|
||||
{entry.data.slug === 'contact' && <Fragment slot="head"><link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin="" /></Fragment>}
|
||||
<PageHero title={bannerTitle} subtitle={entry.data.slug === 'faqs' ? 'FAQs' : undefined} image={heroImage} constrain />
|
||||
{entry.data.slug === 'team' && entry.data.lang === 'en'
|
||||
|
||||
Reference in new issue
Block a user