Skip to content

Commit fe55eb5

Browse files
committed
update seo docs
1 parent 8bb9ef1 commit fe55eb5

File tree

1 file changed

+81
-15
lines changed

1 file changed

+81
-15
lines changed

docs/SEO.md

Lines changed: 81 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,95 @@
11
# 📈 CivicDataSpace – SEO Setup
22

3-
A minimal SEO implementation guide for CivicDataSpace to improve indexing, link previews, and structured data support.
3+
A comprehensive SEO planning and implementation guide for CivicDataSpace
44

55
---
66

7-
## ✅ PHASE 1: SITE-LEVEL SEO PLAN
7+
## SITE LEVEL SEO PLAN
88

9-
- **Add `robots.txt`**
10-
Configure search engine crawler access.
9+
### 1. Add `robots.txt`
10+
Configure search engine crawler access.
1111

12-
- **Add `sitemap.xml`**
13-
Help search engines discover all important pages.
12+
---
13+
14+
### 2. Add `sitemap.xml`
15+
Helps search engines discover important pages.
16+
17+
**Tool:** [`next-sitemap`](https://www.npmjs.com/package/next-sitemap)
18+
19+
**Static Links to be Generated:**
20+
- Home Page
21+
- Dataset Listing Page
22+
- Usecase Listing Page
23+
- Publisher Listing Page
24+
- Sector Listing Page
25+
- About-us Page
26+
- Other Content Pages
27+
28+
29+
**Dynamic Links to be Generated:**
30+
- Dataset Details Page
31+
- Usecase Details Page
32+
- Publisher Details Page
33+
- Sector Details Page
34+
- Provider Dashboard Pages
35+
36+
---
37+
38+
## PAGE-LEVEL SEO PLAN
39+
40+
41+
### ✅ SCHEMA MARKUP - Metadata
42+
43+
| Prop | Purpose |
44+
|--------------|--------------------------------------------------------------|
45+
| `title` | Page title, shown in browser tab and Google result headline |
46+
| `description`| Short summary for search result snippet |
47+
| `url` | Absolute canonical URL of the page |
48+
| `image` | Preview image for OG and Twitter |
49+
| `type` | `website`, `article`, or `dataset` |
50+
| `canonical` | Prevents duplicate content issues |
51+
| `og:title` | Same as `<title>` |
52+
| `og:description` | Short summary |
53+
| `og:image` | 1200×630 preview image |
54+
| `og:url` | Canonical page URL |
55+
| `og:type` | Content type: `website`, `article`, `profile` or `blog` (needs exploration) |
56+
| `og:locale`| The locale meta tag defines the content language. The default is en_US. |
57+
|`og:site_name` | The site name meta tag defines the name of your website|
58+
| `twitter:card` | Use `summary_large_image` |
59+
| `twitter:title` | Same as `og:title` |
60+
| `twitter:description` | Same as `og:description` |
61+
| `twitter:image` | Same as `og:image` |
62+
63+
---
64+
65+
## ✅ SCHEMA MARKUP – JSON-LD
66+
67+
Used to structure content for rich results in Google.[Ref Link](https://json-ld.org/playground/)
68+
69+
| Page | Fields to be included in json |
70+
|------------------|--------------------------------------------------------|
71+
| `Dataset Listing` | TBD |
72+
| `Dataset Details` | TBD |
73+
| `About-us` | TBD |
74+
| `Publisher Listing`| TBD |
1475

1576
---
1677

17-
## PHASE 2: PAGE-LEVEL SEO PLAN
78+
## SEMANTIC HTML & ACCESSIBILITY
1879

19-
- **Add `<title>` and `<meta>` tags**
20-
Set dynamic titles and descriptions for each page.
80+
Make sure to use these semantic tags instead of div's
2181

22-
- **Add Social Metadata (OG + Twitter Tags)**
23-
Enhance previews when links are shared on social media platforms.
82+
| Tag | Purpose/Role |
83+
| ----------- | ---------------------------------------------------------------------- |
84+
| `<header>` | Defines introductory content or navigational links for a page or section|
85+
| `<nav>` | Contains major navigation blocks/links |
86+
| `<main>` | The main content unique to the page |
87+
| `<article>` | Encapsulates self-contained, reusable content (blog post, news item) |
88+
| `<section>` | Thematically groups related content (can include headers) |
89+
| `<aside>` | Holds content tangentially related to the main content (sidebars) |
90+
| `<footer>` | Contains content at the end of page/section (copyright, links) |
91+
| `<figure>` | Groups media elements, typically with `<figcaption>` |
92+
| `<details>` | For user-revealed additional info |
93+
| `<table>` | Presents tabular data |
2494

25-
- **Schema Markup (JSON-LD for Datasets)**
26-
Enable rich results in Google using [schema.org/Dataset](https://schema.org/Dataset).
2795

28-
- **Semantic HTML & Accessibility**
29-
Use proper semantic elements and provide descriptive `alt` text for all images.

0 commit comments

Comments
 (0)