From 21ec529f1033867927ff61a607addef7253b5214 Mon Sep 17 00:00:00 2001 From: Alistair Hey Date: Sat, 17 Oct 2026 22:35:06 +0100 Subject: [PATCH] Improve SEO: share images, structured data and metadata - Open Graph and Twitter card tags with 1200x630 share images (post hero or a new site-wide default), article timestamps, site name and locale - JSON-LD: organization and website on every page, plus BlogPosting, Service and BreadcrumbList where relevant - robots.txt, PNG favicon, apple-touch-icon and logo; noindex on 404 - Sitemap lastmod from post dates; full post content in the RSS feed - Self-host Manrope through Astro's fonts API instead of Google Fonts - Post tags drive a related posts section, and an optional service field links a post to its matching service page - Clearer titles, descriptions and hero alt text on older posts and key pages --- astro.config.ts | 40 +++++++- public/apple-touch-icon.png | Bin 0 -> 1902 bytes public/favicon-32.png | Bin 0 -> 413 bytes public/logo.png | Bin 0 -> 12942 bytes public/og-default.jpg | Bin 0 -> 66208 bytes public/robots.txt | 4 + src/assets/og-default.jpg | Bin 0 -> 66208 bytes src/assets/og-default.svg | 29 ++++++ src/content.config.ts | 4 + .../blog/bootstrapping-private-eks-argocd.md | 2 + src/content/blog/civo-my-journey.md | 7 +- src/content/blog/developing-openfaas.md | 3 +- src/content/blog/docker-bham-jan.md | 7 +- src/content/blog/inlets-pro.md | 5 +- src/content/blog/introducing-arkade.md | 3 +- src/content/blog/loft-sh.md | 4 +- src/content/blog/my-2019.md | 2 +- src/content/blog/openfaas-whats-it-about.md | 3 +- src/content/blog/unit-testing-helm-charts.md | 6 +- src/data/site.ts | 5 + src/layouts/Base.astro | 59 ++++++++++-- src/lib/content.ts | 18 +++- src/lib/seo.ts | 65 +++++++++++++ src/pages/404.astro | 2 +- src/pages/about.astro | 2 +- src/pages/blog/[slug].astro | 89 ++++++++++++++++-- src/pages/blog/index.astro | 2 +- src/pages/blog/rss.xml.ts | 7 +- src/pages/contact.astro | 2 +- src/pages/how-we-work.astro | 2 +- src/pages/index.astro | 3 +- src/pages/services/[slug].astro | 19 +++- src/pages/services/index.astro | 2 +- src/pages/work/[slug].astro | 9 +- src/pages/work/index.astro | 2 +- src/styles/global.css | 3 +- 36 files changed, 364 insertions(+), 46 deletions(-) create mode 100644 public/apple-touch-icon.png create mode 100644 public/favicon-32.png create mode 100644 public/logo.png create mode 100644 public/og-default.jpg create mode 100644 public/robots.txt create mode 100644 src/assets/og-default.jpg create mode 100644 src/assets/og-default.svg create mode 100644 src/lib/seo.ts diff --git a/astro.config.ts b/astro.config.ts index 543f820..8e32d15 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -1,10 +1,46 @@ -import { defineConfig } from "astro/config"; +import { defineConfig, fontProviders } from "astro/config"; import sitemap from "@astrojs/sitemap"; import tailwindcss from "@tailwindcss/vite"; +import { readFileSync, readdirSync } from "node:fs"; + +/** + * Last-modified date for each blog post URL, read from front matter (updatedDate, else pubDate). + * Content collections aren't available in the config, so this parses the Markdown directly. + */ +function blogLastModified() { + const dir = new URL("./src/content/blog/", import.meta.url); + const dates = new Map(); + for (const file of readdirSync(dir).filter((f) => f.endsWith(".md") && !f.startsWith("_"))) { + const frontMatter = readFileSync(new URL(file, dir), "utf8").split(/^---$/m)[1] ?? ""; + const date = (key: string) => frontMatter.match(new RegExp(`^${key}:\\s*"?([0-9-]+)`, "m"))?.[1]; + const lastmod = date("updatedDate") ?? date("pubDate"); + if (lastmod) dates.set(`/blog/${file.replace(/\.md$/, "")}/`, new Date(lastmod).toISOString()); + } + return dates; +} +const blogDates = blogLastModified(); export default defineConfig({ site: "https://www.heyal.co.uk", - integrations: [sitemap()], + integrations: [ + sitemap({ + serialize(item) { + const lastmod = blogDates.get(new URL(item.url).pathname); + return lastmod ? { ...item, lastmod } : item; + }, + }), + ], + fonts: [ + { + name: "Manrope", + cssVariable: "--font-manrope", + provider: fontProviders.google(), + weights: ["400 800"], + styles: ["normal"], + subsets: ["latin"], + fallbacks: ["ui-sans-serif", "system-ui", "sans-serif"], + }, + ], markdown: { shikiConfig: { themes: { light: "github-light", dark: "github-dark" }, diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8b7d37e1077094e9c2b74a8e542d4fc3be90342c GIT binary patch literal 1902 zcmeAS@N?(olHy`uVBq!ia0vp^TR@nD4M^IaWitX&oCO|{#S9EPdO(=*%(vb83=HfF zo-U3d6?5LsJ?K5vTcZ81zgn*F)mE|X`xpAwJ1jm_VdLRd5Pfrzm|hdt`9oV5D0~s+ z%3G`5_DE?$m|)^;9le;I>hkU_@-=P* zs)=D~Uf6gbhJP@Kfh($@Bej$ z-~aySzsk*98CTS&Y}lNBb9aeCtcUug-V&AA%=Ly}Q<7hJn;-kL_-p#V*B>|j4=l5L z^Xr+9ckN#L>RHBX&&Ab?y!5h~{BFzj*;$(ye!aSqyZ?6H@5?EPxmWp3+OAxmSH&jf zJa_M0wM%nLR_y&Ia{04E{LbRj^;R}t?xqwLJJOC+1{-501!eHW%K9$Ki`NfFG@dCr#U?6L=SK~rM6hSUv_+ioi;vV~~^$D#EC2S6# z*S;5MV9VI|^=*mugXsJBVSyEEy3D_tanHij<%;w5G=o1x^EF)CbB7_<@XPmyys&UT zA8_wN;7|+rsE2Cj*4us5EKaNmxvO{g+|iF|m-L?1#RuLGe#=u^|FUos^Pi%UC+B;3 zR=r<&d*as9azU=Z)E*2@?RlG+?^JDGyAPZVL|=wg+izw5_2$Kf`?v4=7c~U)i(mO3 zT$aMGsWjJX`>o$AWiJ@5eY*4#`;U(g7A(Ji{{FK+U)%EQ_395UpDup&drHSLyx(`r zeuuE{*s$#tyOi^*Y=2wk-i7Dx`3b-Dv$_&j-F1>FV}(llI=x)@y};2&(;4;6_5V+^j!4+SAVVl*Zkf(Kfd-=`||fc|H=KU z{hYZRdy&R&lAL{)(IK41+GAqWzJM!1gTe~DWM4fxO8ry literal 0 HcmV?d00001 diff --git a/public/favicon-32.png b/public/favicon-32.png new file mode 100644 index 0000000000000000000000000000000000000000..9ffda653f27152e8abefd6df1787859a38e6a86f GIT binary patch literal 413 zcmV;O0b>4%P)Luzo8&_3V;vIT{%6uv_x+%C2Pogwb z^b+2{pM?rJKpJ|DTC=P~=A*`>n#9m1QOUrAZ}E8Z$eTr;QghQf+TR8;4zL*lV*qTz z#b7l=tKT}@+fr$>aoSnaj8{PTw)oOiOo7a0yW3s;Zuvuri<2O8pD>}xTvxXIGnzpx z^HM*1Y8>l?n`(A&VI9zHE))>@S)|>wlkn#G(L&yNq6PV$0yeK%BoX=;dFL4@!q!KFlr+3mw$ws za8lb33FFIe_$9-Bo@iOnjOR+~l5H&28<^_jgSPDkQkN<>K*ouhk<=t0b61@Kyxr;b zRucWtnqVB19EX%s=gac=NL`Y~A{Uz18GZ=S@Z{j4%wzKomM>lbB*xV%00000NkvXX Hu0mjfJ=41m literal 0 HcmV?d00001 diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4e4c5cfc04fe03c2b617ada788ed42dc66088bd4 GIT binary patch literal 12942 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 ZyS^FGl6#>E{DKK!cF5vj-T{}Z{{@HonY91_ literal 0 HcmV?d00001 diff --git a/public/og-default.jpg b/public/og-default.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a7602d3ffec3fd4f372f4260021910dcc778914c GIT binary patch literal 66208 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 literal 0 HcmV?d00001 diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..436d3c7 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,4 @@ +User-agent: * +Allow: / + +Sitemap: https://www.heyal.co.uk/sitemap-index.xml diff --git a/src/assets/og-default.jpg b/src/assets/og-default.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a7602d3ffec3fd4f372f4260021910dcc778914c GIT binary patch literal 66208 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 literal 0 HcmV?d00001 diff --git a/src/assets/og-default.svg b/src/assets/og-default.svg new file mode 100644 index 0000000..2d39922 --- /dev/null +++ b/src/assets/og-default.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + Heyal Solutions + + + Make shipping + software boring + + Kubernetes, infrastructure as code and delivery pipelines + diff --git a/src/content.config.ts b/src/content.config.ts index b6e745a..1154902 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -47,6 +47,10 @@ const blog = defineCollection({ heroAlt: z.string().default(""), /** Personal posts are listed on /blog but not featured on the home page. */ personal: z.boolean().default(false), + /** Topics used to pick related posts and as schema.org keywords. Lowercase, e.g. "eks", "gitops". */ + tags: z.array(z.string()).default([]), + /** The service this post relates to; linked from the end of the post. */ + service: reference("services").optional(), /** Groups multi-part posts; parts are linked to each other on the post page. */ series: z.object({ id: z.string(), title: z.string(), part: z.number().int().positive() }).optional(), /** Post-specific note on what has changed since publication (Markdown not supported). */ diff --git a/src/content/blog/bootstrapping-private-eks-argocd.md b/src/content/blog/bootstrapping-private-eks-argocd.md index bc3c3dc..0faaab7 100644 --- a/src/content/blog/bootstrapping-private-eks-argocd.md +++ b/src/content/blog/bootstrapping-private-eks-argocd.md @@ -4,6 +4,8 @@ description: "Terraform for a private-endpoint EKS cluster, GitHub Actions with pubDate: 2026-10-17 heroImage: ../../assets/blog/generated/eks-private-argocd.jpg heroAlt: "A dashed, padlocked VPC boundary around a cluster of connected nodes, with a Git branch pulling into it" +tags: [kubernetes, eks, aws, argo-cd, gitops, terraform, github-actions] +service: infrastructure-and-delivery --- A Kubernetes API server on the public internet is an attack surface most teams don't need. In regulated environments diff --git a/src/content/blog/civo-my-journey.md b/src/content/blog/civo-my-journey.md index 50dea1e..90b733e 100644 --- a/src/content/blog/civo-my-journey.md +++ b/src/content/blog/civo-my-journey.md @@ -1,10 +1,11 @@ --- -title: "Civo Kubernetes KUBE100" -description: "What I have been up to on Civo's managed k3s service" +title: "Civo Kubernetes KUBE100: First Look at Managed k3s" +description: "What k3s is and how it differs from full Kubernetes, my experience on the beta of Civo's managed k3s service, contributing to its app marketplace, and other k3s tooling." pubDate: 2020-01-07 heroImage: ../../assets/blog/civo-card.jpg -heroAlt: "civo kube100 stickers" +heroAlt: "Civo KUBE100 stickers" changes: "The KUBE100 beta ended long ago and Civo Kubernetes is now generally available, the Civo CLI has been rewritten, OpenFaaS Cloud has been retired, and k3d's commands have changed (k3d cluster create)." +tags: [kubernetes, k3s, civo, open-source] --- ## The World's First Managed K3s diff --git a/src/content/blog/developing-openfaas.md b/src/content/blog/developing-openfaas.md index 047a1b5..86647d0 100644 --- a/src/content/blog/developing-openfaas.md +++ b/src/content/blog/developing-openfaas.md @@ -1,10 +1,11 @@ --- title: "How To Get Started Contributing to OpenFaaS" -description: "Get started contributing to OpenFaaS" +description: "A step-by-step guide to your first OpenFaaS contribution: setting up Go, Docker and Kubernetes, finding an issue, forking the repository, and opening a pull request." pubDate: 2020-01-04 heroImage: ../../assets/blog/of-contributing.jpg heroAlt: "A selection of Open Source stickers and my laptop" changes: "Several projects listed here (OpenFaaS Cloud, ofc-bootstrap and the open-source inlets) have since been retired, k3d's commands have changed (k3d cluster create), and Go modules have replaced GOPATH. Check the current OpenFaaS contributing guide before starting." +tags: [openfaas, serverless, open-source, go, kubernetes] --- ## New Year New You? diff --git a/src/content/blog/docker-bham-jan.md b/src/content/blog/docker-bham-jan.md index 1f856a1..16ce4c6 100644 --- a/src/content/blog/docker-bham-jan.md +++ b/src/content/blog/docker-bham-jan.md @@ -1,10 +1,11 @@ --- -title: "Docker Birmingham January 2020" -description: "Building docker images for multiple CPU Architectures" +title: "Docker Birmingham January 2020: Multi-Architecture Images with buildx" +description: "From my Docker Birmingham meetup talk: how Docker images and manifests handle CPU architectures, and building images for ARM and x86 with docker buildx." pubDate: 2020-01-08 heroImage: ../../assets/blog/pi.jpg -heroAlt: "Raspberry Pi computer" +heroAlt: "A Raspberry Pi single-board computer" changes: "buildx has since become a standard part of Docker and multi-platform builds no longer need experimental features, so the setup described here is simpler today." +tags: [docker, multi-arch, raspberry-pi, community] --- Every two months a group of us host a meetup focused on Docker. You can find [the meetup page here](https://www.meetup.com/Docker-Birmingham/). diff --git a/src/content/blog/inlets-pro.md b/src/content/blog/inlets-pro.md index 3783b14..05689fa 100644 --- a/src/content/blog/inlets-pro.md +++ b/src/content/blog/inlets-pro.md @@ -1,10 +1,11 @@ --- title: "Exploring NAT Traversal and Tunnels with Inlets and Inlets Pro" -description: "Give anything a public IP with inlets and inlets pro" +description: "How inlets tunnels give services behind NAT or a firewall a public IP, using inletsctl and the inlets-operator, and when you need inlets PRO for non-HTTP traffic." pubDate: 2020-01-20 heroImage: ../../assets/blog/inlets-headline.png -heroAlt: "inlets pro headline image" +heroAlt: "The inlets PRO logo" changes: "The open-source inlets project has since been retired and inlets is now a commercial product, so the open-source client, download URLs, licensing and some commands shown here no longer apply. See docs.inlets.dev for current instructions." +tags: [inlets, networking, tunnels, kubernetes] --- ## Inlets! What is it? diff --git a/src/content/blog/introducing-arkade.md b/src/content/blog/introducing-arkade.md index e97cdf6..ee3da90 100644 --- a/src/content/blog/introducing-arkade.md +++ b/src/content/blog/introducing-arkade.md @@ -3,8 +3,9 @@ title: "Introducing Arkade - The Kubernetes app installer" description: "A CLI with strongly-typed flags to install charts and apps to your cluster in one command." pubDate: 2020-02-28 heroImage: ../../assets/blog/arkade-headline.png -heroAlt: "arkade headline image" +heroAlt: "The arkade logo" changes: "arkade has grown well beyond installing apps (arkade get now downloads dozens of CLI tools), and its app list, flags and defaults have changed. Tiller belonged to Helm 2, which reached end of life in 2020." +tags: [arkade, kubernetes, helm, open-source] --- ## Arkade! What is it? diff --git a/src/content/blog/loft-sh.md b/src/content/blog/loft-sh.md index bf76720..176550d 100644 --- a/src/content/blog/loft-sh.md +++ b/src/content/blog/loft-sh.md @@ -1,10 +1,12 @@ --- title: "First look at loft.sh using GitOps" -description: "Installation and configuration of loft.sh with Flux" +description: "Using loft.sh for self-service Kubernetes namespaces and virtual clusters on a shared multi-tenant platform, installed and configured with Flux GitOps." pubDate: 2022-03-15 heroImage: ../../assets/blog/loft.jpg heroAlt: "Container in the sky" changes: "Loft has since refocused on vCluster (loft.sh now redirects to vcluster.com), so the product, Helm chart, CLI and docs referenced here have changed. Flux's documentation has also moved to fluxcd.io/flux." +tags: [kubernetes, gitops, flux, multi-tenancy, vcluster] +service: platform-engineering --- ## The problem diff --git a/src/content/blog/my-2019.md b/src/content/blog/my-2019.md index 4480928..b10db89 100644 --- a/src/content/blog/my-2019.md +++ b/src/content/blog/my-2019.md @@ -1,6 +1,6 @@ --- title: "My 2019 In Review - Hello Open Source!" -description: "I look back over my 2019 and share my highlights" +description: "Looking back at 2019: 75+ pull requests to OpenFaaS and OpenFaaS Cloud, k3sup, Birmingham meetups and events, and my plans for 2020." pubDate: 2019-12-30 heroImage: ../../assets/blog/lake.jpg heroAlt: "A lake with sun in the background" diff --git a/src/content/blog/openfaas-whats-it-about.md b/src/content/blog/openfaas-whats-it-about.md index 63bafc0..c3c5773 100644 --- a/src/content/blog/openfaas-whats-it-about.md +++ b/src/content/blog/openfaas-whats-it-about.md @@ -3,8 +3,9 @@ title: "OpenFaaS, what's it all about?" description: "Exploring serverless on Kubernetes. To roll your own or not?" pubDate: 2020-05-12 heroImage: ../../assets/blog/of-headline.png -heroAlt: "OpenFaaS Logo" +heroAlt: "The OpenFaaS logo" changes: "OpenFaaS Cloud has since been retired, and k3d's commands have changed (clusters are now created with k3d cluster create). OpenFaaS itself is still actively developed; see docs.openfaas.com for current installation steps." +tags: [openfaas, serverless, kubernetes] --- Serverless should let you focus on delivering features into production fast not fiddling with infrastructure. diff --git a/src/content/blog/unit-testing-helm-charts.md b/src/content/blog/unit-testing-helm-charts.md index f9615e7..87bb5e4 100644 --- a/src/content/blog/unit-testing-helm-charts.md +++ b/src/content/blog/unit-testing-helm-charts.md @@ -1,10 +1,12 @@ --- -title: "How to unit-test your helm charts with Golang" -description: "We explore unit testing Helm charts with Golang" +title: "How to Unit Test Helm Charts with Go" +description: "Write Go unit tests that render your Helm chart templates and assert on the Kubernetes manifests, so you can change charts with confidence. Includes a full example." pubDate: 2021-01-23 heroImage: ../../assets/blog/helm.jpg heroAlt: "A ship's wheel silhouetted against a sunset" changes: "The networking.k8s.io/v1beta1 Ingress API used in the example was removed in Kubernetes 1.22 (use networking.k8s.io/v1), the Helm Go APIs have moved on, and the OpenFaaS Cloud repository linked below is now archived. The helm-unittest plugin is a popular alternative to the approach shown here." +tags: [helm, testing, go, kubernetes] +service: infrastructure-and-delivery --- Learn how to write Golang unit tests for your Helm charts to keep quality high and make changes with confidence. diff --git a/src/data/site.ts b/src/data/site.ts index e247f07..b31098c 100644 --- a/src/data/site.ts +++ b/src/data/site.ts @@ -1,11 +1,16 @@ export const site = { name: "Heyal Solutions", + url: "https://www.heyal.co.uk", + /** Used as the full on the home page. */ + defaultTitle: "Kubernetes & Platform Engineering Consultancy | Heyal Solutions", legalName: "Heyal Solutions Ltd", description: "Cloud native consultancy. We design, build and fix the Kubernetes platforms, infrastructure and delivery pipelines engineering teams ship on.", email: "sales@heyal.co.uk", companyNumber: "12189247", registeredAddress: "Birmingham, UK", + locality: "Birmingham", + country: "GB", founder: "Alistair Hey", blog: "/blog/", github: "https://github.com/Waterdrips", diff --git a/src/layouts/Base.astro b/src/layouts/Base.astro index 03d96b7..1332b40 100644 --- a/src/layouts/Base.astro +++ b/src/layouts/Base.astro @@ -3,7 +3,11 @@ import "../styles/global.css"; import Header from "../components/Header.astro"; import Footer from "../components/Footer.astro"; import CallToAction from "../components/CallToAction.astro"; +import { Font, getImage } from "astro:assets"; +import type { ImageMetadata } from "astro"; import { site } from "../data/site"; +import { graph, organization, website } from "../lib/seo"; +import defaultShareImage from "../assets/og-default.jpg"; interface Props { title?: string; @@ -11,11 +15,34 @@ interface Props { /** Show the closing "get in touch" band above the footer. */ cta?: boolean; ogType?: "website" | "article"; + /** Social share image, cropped to 1200x630. Falls back to the site-wide image. */ + image?: ImageMetadata; + imageAlt?: string; + /** Article timestamps, rendered as article:* Open Graph tags. */ + published?: Date; + modified?: Date; + /** Keep this page out of search results. */ + noindex?: boolean; + /** schema.org nodes for this page. The organization and website are always included. */ + schema?: object[]; } -const { title: pageTitle, description = site.description, cta = true, ogType = "website" } = Astro.props; -const title = pageTitle ? `${pageTitle} | ${site.name}` : `${site.name} | Cloud native platform consultancy`; +const { + title: pageTitle, + description = site.description, + cta = true, + ogType = "website", + image = defaultShareImage, + imageAlt = site.name, + published, + modified, + noindex = false, + schema = [], +} = Astro.props; +const title = pageTitle ? `${pageTitle} | ${site.name}` : site.defaultTitle; const canonical = new URL(Astro.url.pathname, Astro.site); +const shareImage = await getImage({ src: image, width: 1200, height: 630, fit: "cover", format: "jpg" }); +const shareImageUrl = new URL(shareImage.src, Astro.site); --- <!doctype html> @@ -37,19 +64,33 @@ const canonical = new URL(Astro.url.pathname, Astro.site); </script> <title>{title} + {noindex && } + + + + + - + - - - + + + + + {published && } + {modified && } + {ogType === "article" && } + + + + + +