telo3-ai 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,347 @@
1
+ # SEO Quality Standards
2
+
3
+ > SEO audit framework for public websites, portfolios, documentation, marketing sites, and indexable applications.
4
+
5
+ ---
6
+
7
+ ## When SEO Applies
8
+
9
+ ✅ **Apply SEO to:**
10
+ - Marketing websites
11
+ - Portfolios
12
+ - Blogs and documentation
13
+ - E-commerce sites
14
+ - Public-facing applications
15
+ - Content platforms
16
+
17
+ ❌ **SEO may NOT apply to:**
18
+ - Private dashboards
19
+ - Internal tools
20
+ - Authenticated-only pages
21
+ - APIs
22
+ - Intentionally non-indexable pages
23
+
24
+ **Assess applicability based on actual project purpose.**
25
+
26
+ ---
27
+
28
+ ## SEO Audit Checklist
29
+
30
+ ### 1. Meta Tags
31
+
32
+ #### Title Tags
33
+ - [ ] Every page has unique `<title>`
34
+ - [ ] Title length: 50-60 characters
35
+ - [ ] Primary keyword near the beginning
36
+ - [ ] Format: `Page Title | Site Name`
37
+
38
+ #### Meta Descriptions
39
+ - [ ] Every page has unique `<meta name="description">`
40
+ - [ ] Description length: 150-160 characters
41
+ - [ ] Compelling, actionable copy
42
+ - [ ] Includes target keywords naturally
43
+
44
+ #### Canonical URLs
45
+ - [ ] Canonical URLs set (`<link rel="canonical">`)
46
+ - [ ] Prevents duplicate content issues
47
+ - [ ] Points to preferred URL version
48
+
49
+ ### 2. Open Graph & Social
50
+
51
+ #### Open Graph Tags
52
+ - [ ] `og:title` — Page title
53
+ - [ ] `og:description` — Page description
54
+ - [ ] `og:image` — Social share image (1200x630px recommended)
55
+ - [ ] `og:url` — Canonical URL
56
+ - [ ] `og:type` — Content type (website, article, etc.)
57
+
58
+ #### Twitter Cards
59
+ - [ ] `twitter:card` — Card type (summary_large_image)
60
+ - [ ] `twitter:title` — Page title
61
+ - [ ] `twitter:description` — Page description
62
+ - [ ] `twitter:image` — Social share image
63
+
64
+ ### 3. Structured Data
65
+
66
+ - [ ] Schema.org structured data where applicable
67
+ - [ ] JSON-LD format
68
+ - [ ] Common schemas:
69
+ - Organization
70
+ - Person (for portfolios)
71
+ - Article (for blog posts)
72
+ - Product (for e-commerce)
73
+ - FAQ
74
+ - Breadcrumbs
75
+ - [ ] Validate with Google Rich Results Test
76
+
77
+ ### 4. Content & HTML
78
+
79
+ #### Heading Hierarchy
80
+ - [ ] One `<h1>` per page
81
+ - [ ] Logical heading hierarchy (h1 → h2 → h3)
82
+ - [ ] Headings describe content structure
83
+ - [ ] No skipped heading levels
84
+
85
+ #### Semantic HTML
86
+ - [ ] Use semantic elements (`<article>`, `<nav>`, `<main>`, `<aside>`)
87
+ - [ ] Proper `<header>` and `<footer>`
88
+ - [ ] Lists use `<ul>`, `<ol>`, `<li>`
89
+
90
+ #### Images
91
+ - [ ] All images have descriptive `alt` text
92
+ - [ ] Alt text describes image content
93
+ - [ ] Decorative images: `alt=""`
94
+ - [ ] Images optimized (WebP/AVIF with fallbacks)
95
+ - [ ] Images have width/height attributes
96
+
97
+ #### Links
98
+ - [ ] Descriptive link text (not "click here")
99
+ - [ ] Internal linking strategy
100
+ - [ ] External links use `rel="noopener"` when appropriate
101
+ - [ ] Broken links identified and fixed
102
+
103
+ #### URLs
104
+ - [ ] Clean, descriptive URLs (kebab-case)
105
+ - [ ] Keywords in URLs
106
+ - [ ] No unnecessary parameters
107
+ - [ ] Consistent URL structure
108
+
109
+ ### 5. Technical SEO
110
+
111
+ #### robots.txt
112
+ - [ ] robots.txt file exists
113
+ - [ ] Configured correctly
114
+ - [ ] Allows search engines
115
+ - [ ] Disallows admin/private areas
116
+ - [ ] References sitemap.xml
117
+
118
+ Example:
119
+ ```
120
+ User-agent: *
121
+ Allow: /
122
+
123
+ Disallow: /api/
124
+ Disallow: /admin/
125
+
126
+ Sitemap: https://example.com/sitemap.xml
127
+ ```
128
+
129
+ #### Sitemap
130
+ - [ ] XML sitemap exists (`sitemap.xml`)
131
+ - [ ] Lists all important pages
132
+ - [ ] Updated automatically
133
+ - [ ] Submitted to Google Search Console
134
+
135
+ #### robots Meta Tag
136
+ - [ ] Indexable pages: `<meta name="robots" content="index, follow">`
137
+ - [ ] Non-indexable pages: `<meta name="robots" content="noindex, nofollow">`
138
+ - [ ] Appropriate use of `noindex` for private/admin pages
139
+
140
+ ### 6. Performance (Core Web Vitals)
141
+
142
+ See `performance-quality.md` for detailed performance optimization.
143
+
144
+ #### LCP (Largest Contentful Paint)
145
+ - [ ] LCP < 2.5 seconds
146
+ - [ ] Optimize images
147
+ - [ ] Reduce server response time
148
+
149
+ #### FID/INP (First Input Delay / Interaction to Next Paint)
150
+ - [ ] FID < 100ms or INP < 200ms
151
+ - [ ] Minimize JavaScript
152
+ - [ ] Break up long tasks
153
+
154
+ #### CLS (Cumulative Layout Shift)
155
+ - [ ] CLS < 0.1
156
+ - [ ] Set image dimensions
157
+ - [ ] Avoid layout shifts
158
+
159
+ ### 7. Mobile Optimization
160
+
161
+ - [ ] Mobile-responsive design
162
+ - [ ] Mobile-friendly test passes
163
+ - [ ] Touch targets ≥44x44px
164
+ - [ ] Text readable without zooming
165
+ - [ ] No horizontal scrolling
166
+
167
+ ### 8. Page Speed
168
+
169
+ - [ ] Fast server response time
170
+ - [ ] Optimized images
171
+ - [ ] Minimized CSS/JS
172
+ - [ ] Leverage browser caching
173
+ - [ ] Use CDN if appropriate
174
+
175
+ ### 9. HTTPS
176
+
177
+ - [ ] Site uses HTTPS
178
+ - [ ] Mixed content issues resolved
179
+ - [ ] HTTP redirects to HTTPS
180
+
181
+ ### 10. Indexability
182
+
183
+ - [ ] Pages are crawlable
184
+ - [ ] No JavaScript-only content for critical info
185
+ - [ ] Server-side rendering or static generation for public pages
186
+ - [ ] No infinite scroll blocking content
187
+
188
+ ---
189
+
190
+ ## Next.js SEO Implementation
191
+
192
+ ### Metadata API (App Router)
193
+
194
+ ```typescript
195
+ import { Metadata } from 'next';
196
+
197
+ export const metadata: Metadata = {
198
+ title: 'Page Title | Site Name',
199
+ description: 'Page description 150-160 characters',
200
+ openGraph: {
201
+ title: 'Page Title',
202
+ description: 'Page description',
203
+ images: ['/og-image.jpg'],
204
+ url: 'https://example.com/page',
205
+ },
206
+ twitter: {
207
+ card: 'summary_large_image',
208
+ title: 'Page Title',
209
+ description: 'Page description',
210
+ images: ['/og-image.jpg'],
211
+ },
212
+ alternates: {
213
+ canonical: 'https://example.com/page',
214
+ },
215
+ };
216
+ ```
217
+
218
+ ### Dynamic Metadata
219
+
220
+ ```typescript
221
+ export async function generateMetadata({ params }): Promise<Metadata> {
222
+ const post = await getPost(params.slug);
223
+
224
+ return {
225
+ title: post.title,
226
+ description: post.excerpt,
227
+ // ...
228
+ };
229
+ }
230
+ ```
231
+
232
+ ### Sitemap Generation
233
+
234
+ ```typescript
235
+ // app/sitemap.ts
236
+ export default function sitemap() {
237
+ return [
238
+ {
239
+ url: 'https://example.com',
240
+ lastModified: new Date(),
241
+ changeFrequency: 'yearly',
242
+ priority: 1,
243
+ },
244
+ {
245
+ url: 'https://example.com/about',
246
+ lastModified: new Date(),
247
+ changeFrequency: 'monthly',
248
+ priority: 0.8,
249
+ },
250
+ ];
251
+ }
252
+ ```
253
+
254
+ ### robots.txt
255
+
256
+ ```typescript
257
+ // app/robots.ts
258
+ export default function robots() {
259
+ return {
260
+ rules: {
261
+ userAgent: '*',
262
+ allow: '/',
263
+ disallow: ['/api/', '/admin/'],
264
+ },
265
+ sitemap: 'https://example.com/sitemap.xml',
266
+ };
267
+ }
268
+ ```
269
+
270
+ ---
271
+
272
+ ## Common SEO Mistakes
273
+
274
+ ❌ Duplicate title tags
275
+ ❌ Missing meta descriptions
276
+ ❌ Weak or generic content
277
+ ❌ Broken internal links
278
+ ❌ Slow page load
279
+ ❌ Non-mobile-friendly design
280
+ ❌ Missing alt text
281
+ ❌ Thin content pages
282
+ ❌ Keyword stuffing
283
+ ❌ Cloaking or hidden text
284
+ ❌ Duplicate content
285
+ ❌ Missing sitemap
286
+ ❌ Blocked by robots.txt accidentally
287
+
288
+ ---
289
+
290
+ ## SEO Documentation Template
291
+
292
+ ```markdown
293
+ ## SEO Configuration
294
+
295
+ ### Meta Tags
296
+ - **Status:** [Configured / Partial / Needed]
297
+ - **Unique titles:** [Yes/No]
298
+ - **Unique descriptions:** [Yes/No]
299
+
300
+ ### Social Sharing
301
+ - **Open Graph:** [Configured]
302
+ - **Twitter Cards:** [Configured]
303
+ - **Social images:** [Created / Needed]
304
+
305
+ ### Technical SEO
306
+ - **Sitemap:** [Generated / Static / Needed]
307
+ - **robots.txt:** [Configured]
308
+ - **Canonical URLs:** [Set]
309
+
310
+ ### Structured Data
311
+ - **Schema types:** [List or "Not implemented"]
312
+ - **Validation:** [Passed / Not tested]
313
+
314
+ ### Performance
315
+ - **Core Web Vitals:** [Good / Needs improvement]
316
+ - **Mobile-friendly:** [Yes/No]
317
+
318
+ ### Indexing
319
+ - **Search Console:** [Set up / Needed]
320
+ - **Indexable pages:** [List or count]
321
+ - **Non-indexable pages:** [List or count]
322
+
323
+ ### Content
324
+ - **Heading hierarchy:** [Correct / Needs review]
325
+ - **Alt text:** [Complete / Partial]
326
+ - **Internal linking:** [Implemented / Needs improvement]
327
+
328
+ ### Next Steps
329
+ - [ ] [SEO task 1]
330
+ - [ ] [SEO task 2]
331
+ ```
332
+
333
+ ---
334
+
335
+ ## Tools for SEO Audit
336
+
337
+ - Google Search Console
338
+ - Google PageSpeed Insights
339
+ - Lighthouse (built into Chrome DevTools)
340
+ - Screaming Frog SEO Spider
341
+ - Ahrefs / SEMrush / Moz (professional tools)
342
+ - Schema.org validator
343
+ - Google Rich Results Test
344
+
345
+ ---
346
+
347
+ **Summary:** Good SEO is about making great content discoverable. Focus on: unique metadata, semantic HTML, fast performance, mobile-friendliness, and quality content.