- Schema.org JSON-LD templates (product, event, local-business, faq) - Brand, UI, SEO, and decision guide rules - Working code snippets (vendor-card, schema-inject, deploy-webhook) - JSON schemas for project config validation - Client presets (slc-bride, default) - Self-update protocol with changelog tracking Made-with: Cursor
115 lines
2.7 KiB
Markdown
115 lines
2.7 KiB
Markdown
# SEO Rules
|
|
|
|
## Internal Linking
|
|
|
|
### Link Patterns
|
|
- Link to relevant vendor/category pages from content
|
|
- Use descriptive anchor text (avoid "click here")
|
|
- Link to related services/products where contextually relevant
|
|
- Maximum 100 internal links per page
|
|
|
|
### URL Structure
|
|
- Use kebab-case for URLs: `/vendors/wedding-photography`
|
|
- Include location where relevant: `/venues/salt-lake-city/hotels`
|
|
- Avoid query parameters for canonical content
|
|
|
|
### Anchor Text Guidelines
|
|
- Include target keywords naturally
|
|
- Match the linked page's primary topic
|
|
- Keep under 60 characters
|
|
- Examples:
|
|
- Good: "wedding photography packages"
|
|
- Bad: "click here for more info"
|
|
|
|
---
|
|
|
|
## Alt Text
|
|
|
|
### Format
|
|
```
|
|
[Subject] + [Context/Action] + [Relevance to page content]
|
|
```
|
|
|
|
### Examples
|
|
- Product image: "White wedding dress with lace details at Salt Lake Bride bridal expo"
|
|
- Vendor photo: "Portrait of wedding photographer Sarah Smith at outdoor ceremony"
|
|
- Venue image: "Mountain view ceremony space at The Grand America Hotel Salt Lake City"
|
|
|
|
### Rules
|
|
1. Be descriptive but concise (125 characters max)
|
|
2. Include relevant keywords naturally
|
|
3. Don't start with "Image of" or "Picture of"
|
|
4. Describe what's visible, not decorative elements
|
|
5. For decorative images, use empty alt=""
|
|
|
|
---
|
|
|
|
## Meta Descriptions
|
|
|
|
### Format
|
|
- 150-160 characters
|
|
- Include primary keyword near beginning
|
|
- Include call-to-action when appropriate
|
|
- Match page content accurately
|
|
|
|
### Template
|
|
```
|
|
Discover {{SERVICE}} in {{LOCATION}}. {{UNIQUE_VALUE_PROPOSITION}}. Browse {{COUNT}} options on {{SITE_NAME}}.
|
|
```
|
|
|
|
---
|
|
|
|
## Schema Markup
|
|
|
|
### Required Schemas by Page Type
|
|
| Page Type | Required Schema |
|
|
|-----------|----------------|
|
|
| Vendor listing | LocalBusiness |
|
|
| Product page | Product |
|
|
| Event page | Event |
|
|
| FAQ page | FAQPage |
|
|
| Article | Article |
|
|
| Homepage | Organization + WebSite |
|
|
|
|
### Implementation
|
|
- Use JSON-LD format in `<head>`
|
|
- Include all required properties
|
|
- Validate with Google Rich Results Test
|
|
|
|
---
|
|
|
|
## Heading Hierarchy
|
|
|
|
### Rules
|
|
1. One H1 per page (main page title)
|
|
2. H2 for major sections
|
|
3. H3 for subsections
|
|
4. Never skip heading levels
|
|
5. Include keywords naturally in headings
|
|
|
|
### Example Structure
|
|
```
|
|
H1: Wedding Photographers in Salt Lake City
|
|
H2: Top Rated Photographers
|
|
H3: Portrait Photography
|
|
H3: Documentary Style
|
|
H2: How to Choose Your Photographer
|
|
H3: Budget Considerations
|
|
H3: Style Matching
|
|
```
|
|
|
|
---
|
|
|
|
## Image Optimization
|
|
|
|
### Technical Requirements
|
|
- Format: WebP with JPEG fallback
|
|
- Max file size: 200KB for hero, 100KB for thumbnails
|
|
- Use responsive images with srcset
|
|
- Lazy load images below the fold
|
|
|
|
### Naming Convention
|
|
```
|
|
[category]-[subject]-[detail]-[location].webp
|
|
Example: venue-ballroom-crystal-chandeliers-salt-lake-city.webp
|
|
```
|