mazipan / mazipan/html-tools

[Umbrella] SEO improvements

Open
#13 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

epic seo
Dominant language
HTML
Stars
5
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Tracking issue for the SEO improvements scoped during the initial pass. Each child issue is self-contained and can be picked up independently.

Status legend

  • βœ… merged
  • 🟑 PR up, awaiting review
  • πŸ“ spec'd (issue or PR open)
  • ⬜ not started

High leverage

  • βœ… #4 β€” Use clean URLs (no .html extension) via Netlify rewrites β€” PR #14
  • βœ… #5 β€” Add Netlify _headers for caching and security β€” PR #14
  • 🟑 #6 β€” Add "What it does / How to use" content blocks to each tool page β€” PR #15

Medium leverage

  • βœ… #1 β€” Add JSON-LD structured data (WebSite, WebApplication, BreadcrumbList) β€” PR #20
  • 🟑 #3 β€” Add cross-tool footer links for internal linking β€” PR #21
  • 🟑 #8 β€” Add FAQ section with FAQPage JSON-LD per tool β€” PR #22 (stacked on #21)
  • πŸ“ #57 β€” Polish meta descriptions for SEO β€” surface the "no installs, no servers, no tracking" USP
  • πŸ“ #58 β€” Generate a static favicon.png to replace inline SVG data-URI icons (Google Search doesn't support SVG favicons)
  • ⬜ #7 β€” Add web app manifest for installability

Lower leverage / nice-to-have

  • βœ… #10 β€” Pre-generate og-image.png (decoupling) β€” PR #17. Size optimization not pursued; can reopen if it becomes meaningful.
  • ⬜ #11 β€” Audit semantic HTML landmarks and heading hierarchy
  • ⬜ #12 β€” Add service worker for offline support

Foundation / tooling

  • βœ… #16 β€” Adopt posthtml-include for shared HTML partials β€” PR #18
  • ⬜ #19 β€” Evaluate migration to Eleventy after #3/#8 land

Already shipped (merged)

  • PR #2 β€” Google site verification, robots.txt, generated sitemap.xml, social card image, baseline SEO meta tags.
  • PR #14 β€” Clean URLs, Netlify _redirects + _headers, sitemap on clean URLs.
  • PR #17 β€” Pre-generated og-image.png; build now copies instead of rasterizing on every run.
  • PR #18 β€” Shared HTML partials via posthtml-include (meta-base, meta-social, head-fonts, head-theme, footer-script).
  • PR #20 β€” JSON-LD structured data + src/tools.json manifest.

In review

PRs to land in this order β€” each rebases cleanly onto the previous as it merges:

  1. PR #15 (#6) β€” content sections. Independent of the manifest stack; can land any time.
  2. PR #21 (#3) β€” cross-tool footer links, reads tools.json.
  3. PR #22 (#8) β€” FAQ + FAQPage JSON-LD, reads tools.json. Stacked on PR #21.

Up next after review

  1. #58 β€” Generate favicon.png (32Γ—32 PNG from πŸ› οΈ emoji); update meta-base.html; remove per-tool inline SVG icon tags.
  2. #57 β€” Polish meta descriptions (<meta name="description">, og:description, twitter:description) across all 16 pages to surface the "no installs, no servers, no tracking" USP. Meta tags only β€” no UI changes.
  3. #19 β€” re-read after #3/#8 land; decide whether to migrate to Eleventy.
  4. #7 β€” PWA manifest. Reuses the same generator pattern as og-image.png (#17) for the icon set.
  5. #12 β€” service worker. Pairs with #7 for the installable PWA experience.
  6. #11 β€” semantic HTML audit. Best done after the content sections (#6) and FAQs (#8) are in place.

Out of scope (intentionally)

  • Self-hosting Google Fonts β€” discussed and deferred.
  • Lighthouse CI gating β€” discussed and deferred.
  • Manual Search Console / Bing Webmaster Tools submission β€” operator task (see closed #9).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up β€” it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

This is an umbrella tracker rather than a self-contained change; start by choosing an open child issue such as #57, #58, #7, #11, or #12. Read the referenced entry points, including meta-base.html and src/tools.json, plus the related merged PRs. Done means completing one child issue's stated scope and updating its status, not changing the umbrella issue itself.

Written by the indexing model from the issue text.

Assessment

Tech stack
html
Domain
content, frontend, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.