From 57f1a8d705f8cacc4896e085a167f40541fa9289 Mon Sep 17 00:00:00 2001 From: emil Date: Sat, 9 May 2026 15:03:28 +0300 Subject: [PATCH] seo: add How to use / When to use text blocks to all generator pages Each page now has a subtle text section with keyword-rich content for search engine indexing, without disrupting the tool UX. Co-Authored-By: Claude Sonnet 4.6 --- src/components/SeoBlock.astro | 23 +++++++++++++++++++++++ src/pages/generators/cards.astro | 16 ++++++++++++++++ src/pages/generators/coin.astro | 16 ++++++++++++++++ src/pages/generators/colors.astro | 15 +++++++++++++++ src/pages/generators/dice.astro | 16 ++++++++++++++++ src/pages/generators/list.astro | 16 ++++++++++++++++ src/pages/generators/lottery.astro | 16 ++++++++++++++++ src/pages/generators/numbers.astro | 16 ++++++++++++++++ src/pages/generators/password.astro | 16 ++++++++++++++++ src/pages/generators/uuid.astro | 16 ++++++++++++++++ 10 files changed, 166 insertions(+) create mode 100644 src/components/SeoBlock.astro diff --git a/src/components/SeoBlock.astro b/src/components/SeoBlock.astro new file mode 100644 index 0000000..7cb73cb --- /dev/null +++ b/src/components/SeoBlock.astro @@ -0,0 +1,23 @@ +--- +interface Props { + howTo: string[]; + whenTo: string[]; +} + +const { howTo, whenTo } = Astro.props; +--- + +
+
+

How to use

+
    + {howTo.map((step) =>
  1. {step}
  2. )} +
+
+
+

When to use

+
    + {whenTo.map((item) =>
  • {item}
  • )} +
+
+
diff --git a/src/pages/generators/cards.astro b/src/pages/generators/cards.astro index 1940cac..da4fef4 100644 --- a/src/pages/generators/cards.astro +++ b/src/pages/generators/cards.astro @@ -3,6 +3,7 @@ import BaseLayout from '../../layouts/BaseLayout.astro'; import CardGenerator from '../../components/generators/CardGenerator.astro'; import AdBanner from '../../components/AdBanner.astro'; import { generators } from '../../data/generators'; +import SeoBlock from '../../components/SeoBlock.astro'; const generator = generators.find((g) => g.slug === 'cards')!; --- @@ -54,6 +55,21 @@ const generator = generators.find((g) => g.slug === 'cards')!; + +
diff --git a/src/pages/generators/coin.astro b/src/pages/generators/coin.astro index 4283f34..d2bc588 100644 --- a/src/pages/generators/coin.astro +++ b/src/pages/generators/coin.astro @@ -3,6 +3,7 @@ import BaseLayout from '../../layouts/BaseLayout.astro'; import CoinGenerator from '../../components/generators/CoinGenerator.astro'; import AdBanner from '../../components/AdBanner.astro'; import { generators } from '../../data/generators'; +import SeoBlock from '../../components/SeoBlock.astro'; const generator = generators.find((g) => g.slug === 'coin')!; --- @@ -33,6 +34,21 @@ const generator = generators.find((g) => g.slug === 'coin')!;

{generator.description}

+ +
diff --git a/src/pages/generators/colors.astro b/src/pages/generators/colors.astro index 4811afe..dc361c1 100644 --- a/src/pages/generators/colors.astro +++ b/src/pages/generators/colors.astro @@ -3,6 +3,7 @@ import BaseLayout from '../../layouts/BaseLayout.astro'; import ColorGenerator from '../../components/generators/ColorGenerator.astro'; import AdBanner from '../../components/AdBanner.astro'; import { generators } from '../../data/generators'; +import SeoBlock from '../../components/SeoBlock.astro'; const generator = generators.find((g) => g.slug === 'colors')!; --- @@ -54,6 +55,20 @@ const generator = generators.find((g) => g.slug === 'colors')!; + +
diff --git a/src/pages/generators/dice.astro b/src/pages/generators/dice.astro index 327c527..e95ab86 100644 --- a/src/pages/generators/dice.astro +++ b/src/pages/generators/dice.astro @@ -3,6 +3,7 @@ import BaseLayout from '../../layouts/BaseLayout.astro'; import DiceGenerator from '../../components/generators/DiceGenerator.astro'; import AdBanner from '../../components/AdBanner.astro'; import { generators } from '../../data/generators'; +import SeoBlock from '../../components/SeoBlock.astro'; const generator = generators.find((g) => g.slug === 'dice')!; --- @@ -54,6 +55,21 @@ const generator = generators.find((g) => g.slug === 'dice')!; + +
diff --git a/src/pages/generators/list.astro b/src/pages/generators/list.astro index 6aa409d..eb27484 100644 --- a/src/pages/generators/list.astro +++ b/src/pages/generators/list.astro @@ -3,6 +3,7 @@ import BaseLayout from '../../layouts/BaseLayout.astro'; import ListGenerator from '../../components/generators/ListGenerator.astro'; import AdBanner from '../../components/AdBanner.astro'; import { generators } from '../../data/generators'; +import SeoBlock from '../../components/SeoBlock.astro'; const generator = generators.find((g) => g.slug === 'list')!; --- @@ -33,6 +34,21 @@ const generator = generators.find((g) => g.slug === 'list')!;

{generator.description}

+ +
diff --git a/src/pages/generators/lottery.astro b/src/pages/generators/lottery.astro index 3b091d4..d00bffe 100644 --- a/src/pages/generators/lottery.astro +++ b/src/pages/generators/lottery.astro @@ -3,6 +3,7 @@ import BaseLayout from '../../layouts/BaseLayout.astro'; import LotteryGenerator from '../../components/generators/LotteryGenerator.astro'; import AdBanner from '../../components/AdBanner.astro'; import { generators } from '../../data/generators'; +import SeoBlock from '../../components/SeoBlock.astro'; const generator = generators.find((g) => g.slug === 'lottery')!; --- @@ -54,6 +55,21 @@ const generator = generators.find((g) => g.slug === 'lottery')!; + +
diff --git a/src/pages/generators/numbers.astro b/src/pages/generators/numbers.astro index 17a2a03..04deb31 100644 --- a/src/pages/generators/numbers.astro +++ b/src/pages/generators/numbers.astro @@ -3,6 +3,7 @@ import BaseLayout from '../../layouts/BaseLayout.astro'; import NumberGenerator from '../../components/generators/NumberGenerator.astro'; import AdBanner from '../../components/AdBanner.astro'; import { generators } from '../../data/generators'; +import SeoBlock from '../../components/SeoBlock.astro'; const generator = generators.find((g) => g.slug === 'numbers')!; --- @@ -54,6 +55,21 @@ const generator = generators.find((g) => g.slug === 'numbers')!; + +
diff --git a/src/pages/generators/password.astro b/src/pages/generators/password.astro index 2ff91bf..8c83bbb 100644 --- a/src/pages/generators/password.astro +++ b/src/pages/generators/password.astro @@ -3,6 +3,7 @@ import BaseLayout from '../../layouts/BaseLayout.astro'; import PasswordGenerator from '../../components/generators/PasswordGenerator.astro'; import AdBanner from '../../components/AdBanner.astro'; import { generators } from '../../data/generators'; +import SeoBlock from '../../components/SeoBlock.astro'; const generator = generators.find((g) => g.slug === 'password')!; --- @@ -54,6 +55,21 @@ const generator = generators.find((g) => g.slug === 'password')!; + +
diff --git a/src/pages/generators/uuid.astro b/src/pages/generators/uuid.astro index 2c7f501..9aa09ae 100644 --- a/src/pages/generators/uuid.astro +++ b/src/pages/generators/uuid.astro @@ -3,6 +3,7 @@ import BaseLayout from '../../layouts/BaseLayout.astro'; import UuidGenerator from '../../components/generators/UuidGenerator.astro'; import AdBanner from '../../components/AdBanner.astro'; import { generators } from '../../data/generators'; +import SeoBlock from '../../components/SeoBlock.astro'; const generator = generators.find((g) => g.slug === 'uuid')!; --- @@ -33,6 +34,21 @@ const generator = generators.find((g) => g.slug === 'uuid')!;

{generator.description}

+ +