Deploy to Production / Build & Verify (push) Failing after 5m56s
Ping Search Engines / Notify Search Engines (push) Successful in 2s
Deploy to Production / Pre-Deploy Tests (push) Has been skipped
Deploy to Production / Deploy to Railway (push) Has been skipped
Deploy to Production / Deploy to Render (push) Has been skipped
Deploy to Production / Deploy to VPS (PM2) (push) Has been skipped
Deploy to Production / Deploy to Fly.io (push) Has been skipped
Deploy to Production / Post-Deploy Verification (push) Has been skipped
Deploy to Production / Notify on Failure (push) Successful in 2s
E2E Test Suite / Critical User Journeys (push) Has been skipped
E2E Test Suite / API Integration Tests (push) Has been skipped
E2E Test Suite / Smoke Tests (P0) (push) Failing after 11m26s
E2E Test Suite / Form Interaction Tests (push) Failing after 11m42s
E2E Test Suite / Destructive & Chaos Tests (push) Failing after 12m2s
E2E Test Suite / Cross-Browser Regression (chromium) (push) Failing after 16m14s
E2E Test Suite / Cross-Browser Regression (webkit) (push) Failing after 17m45s
E2E Test Suite / Cross-Browser Regression (firefox) (push) Failing after 25m23s
E2E Test Suite / Security Header Tests (push) Failing after 7m55s
E2E Test Suite / Test Report Summary (push) Failing after 20s
E2E Test Suite / Mobile Device Tests (push) Failing after 2h49m9s
Uptime Monitor / Health & Response Time (push) Failing after 2s
Uptime Monitor / SSL Certificate (push) Successful in 2s
Uptime Monitor / Send Alerts (push) Failing after 3s
Uptime Monitor / Record Uptime Success (push) Has been skipped
417 lines
12 KiB
Markdown
417 lines
12 KiB
Markdown
# Structured Data & Rich Snippets Implementation
|
|
|
|
## Overview
|
|
|
|
Comprehensive structured data implementation for WorkRoot IT Solutions website using JSON-LD format. All schemas follow Schema.org vocabulary and Google's Rich Results guidelines.
|
|
|
|
---
|
|
|
|
## Implemented Schemas
|
|
|
|
### 1. Organization Schema (Global)
|
|
**Location:** `src/layouts/BaseLayout.astro` (lines 92-154)
|
|
|
|
**Purpose:** Establishes the company as a recognized entity for search engines and AI models.
|
|
|
|
**Key Properties:**
|
|
- ✅ Name and alternate names
|
|
- ✅ Logo and image
|
|
- ✅ Founding date and founder
|
|
- ✅ Physical address
|
|
- ✅ Contact points (customer service, sales)
|
|
- ✅ Social media profiles (sameAs)
|
|
- ✅ Service types
|
|
- ✅ Aggregate rating (4.9/5 from 127 reviews)
|
|
|
|
**Rich Results:** Knowledge Graph, Sitelinks Search Box
|
|
|
|
---
|
|
|
|
### 2. WebSite Schema (Global)
|
|
**Location:** `src/layouts/BaseLayout.astro` (lines 157-176)
|
|
|
|
**Purpose:** Defines the website structure and enables search functionality.
|
|
|
|
**Key Properties:**
|
|
- ✅ Website name and URL
|
|
- ✅ Description
|
|
- ✅ Publisher (Organization)
|
|
- ✅ Search action (enables sitelinks search box)
|
|
|
|
**Rich Results:** Sitelinks Search Box
|
|
|
|
---
|
|
|
|
### 3. BlogPosting Schema
|
|
**Location:** `src/components/SEO.astro` (lines 50-76)
|
|
**Used in:** `src/pages/blog/[...slug].astro`
|
|
|
|
**Purpose:** Enhanced schema for blog posts with complete metadata.
|
|
|
|
**Key Properties:**
|
|
- ✅ Headline and description
|
|
- ✅ Author (Person schema with URL)
|
|
- ✅ Publication and modification dates
|
|
- ✅ Publisher (Organization with logo)
|
|
- ✅ Main entity of page
|
|
- ✅ Article section and category
|
|
- ✅ Keywords from tags
|
|
- ✅ Word count
|
|
- ✅ Image (ImageObject schema)
|
|
- ✅ Language (en-US)
|
|
|
|
**Rich Results:** Article cards, Top Stories carousel, Google News
|
|
|
|
**Example:**
|
|
```json
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "BlogPosting",
|
|
"headline": "Modern Web Development Trends 2024",
|
|
"image": {
|
|
"@type": "ImageObject",
|
|
"url": "https://workroot.in/blog/hero-image.jpg",
|
|
"width": 1200,
|
|
"height": 675
|
|
},
|
|
"author": {
|
|
"@type": "Person",
|
|
"name": "John Doe",
|
|
"url": "https://workroot.in/about"
|
|
},
|
|
"datePublished": "2024-03-15T10:00:00Z",
|
|
"publisher": {
|
|
"@type": "Organization",
|
|
"name": "WorkRoot IT Solutions",
|
|
"logo": {
|
|
"@type": "ImageObject",
|
|
"url": "https://workroot.in/logo.png"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
### 4. BreadcrumbList Schema
|
|
**Location:** `src/components/SEO.astro` (lines 42-48)
|
|
**Used in:** All pages with breadcrumbs
|
|
|
|
**Purpose:** Navigation breadcrumbs for better user experience and rich snippets.
|
|
|
|
**Key Properties:**
|
|
- ✅ Ordered list of navigation items
|
|
- ✅ Position numbering
|
|
- ✅ Item names and URLs
|
|
|
|
**Rich Results:** Breadcrumb navigation in search results
|
|
|
|
**Pages Using Breadcrumbs:**
|
|
- Blog posts: Home > Blog > [Post Title]
|
|
- Services: Home > Services
|
|
- About: Home > About Us
|
|
- Contact: Home > Contact
|
|
|
|
---
|
|
|
|
### 5. WebPage Schema
|
|
**Location:** `src/components/SEO.astro` (lines 89-105)
|
|
**Used in:** Standard pages (non-blog, non-home)
|
|
|
|
**Purpose:** Defines individual web pages with metadata.
|
|
|
|
**Key Properties:**
|
|
- ✅ Page name and description
|
|
- ✅ URL
|
|
- ✅ Language
|
|
- ✅ Part of website relationship
|
|
- ✅ About (Organization)
|
|
- ✅ Primary image
|
|
|
|
**Rich Results:** Enhanced search listings
|
|
|
|
---
|
|
|
|
### 6. FAQPage Schema
|
|
**Location:** `src/components/SEO.astro` (lines 108-119)
|
|
**Used in:** `src/pages/index.astro`
|
|
|
|
**Purpose:** Structured FAQ data for rich snippet accordion display.
|
|
|
|
**Key Properties:**
|
|
- ✅ Question and Answer pairs
|
|
- ✅ Accepted answer format
|
|
|
|
**Rich Results:** FAQ accordion in search results
|
|
|
|
**FAQ Questions Included:**
|
|
1. What technologies do you specialize in?
|
|
2. How long does a typical project take?
|
|
3. Do you offer ongoing support after launch?
|
|
4. What is your development process?
|
|
5. Can you work with our existing team?
|
|
6. How do you ensure project security?
|
|
|
|
---
|
|
|
|
### 7. Service Schema
|
|
**Location:** `src/components/SEO.astro` (lines 79-86)
|
|
**Used in:** `src/pages/services.astro`
|
|
|
|
**Purpose:** Defines services offered by the organization.
|
|
|
|
**Key Properties:**
|
|
- ✅ Service name
|
|
- ✅ Description
|
|
- ✅ Provider (Organization)
|
|
- ✅ Area served (Worldwide)
|
|
- ✅ Service type
|
|
|
|
**Rich Results:** Enhanced service listings
|
|
|
|
---
|
|
|
|
### 8. AboutPage Schema
|
|
**Location:** `src/components/SEO.astro` (lines 122-132)
|
|
**Used in:** `src/pages/about.astro`
|
|
|
|
**Purpose:** Structured data for About page.
|
|
|
|
**Key Properties:**
|
|
- ✅ Page name and description
|
|
- ✅ URL and language
|
|
- ✅ Main entity (Organization)
|
|
|
|
---
|
|
|
|
### 9. ContactPage Schema
|
|
**Location:** `src/components/SEO.astro` (lines 135-145)
|
|
**Used in:** `src/pages/contact.astro`
|
|
|
|
**Purpose:** Structured data for Contact page.
|
|
|
|
**Key Properties:**
|
|
- ✅ Page name and description
|
|
- ✅ URL and language
|
|
- ✅ Main entity (Organization)
|
|
|
|
---
|
|
|
|
## Open Graph & Twitter Cards
|
|
|
|
### Enhanced Open Graph Implementation
|
|
**Location:** `src/layouts/BaseLayout.astro` (lines 66-77)
|
|
|
|
**Properties:**
|
|
- ✅ `og:type` - website
|
|
- ✅ `og:url` - Canonical URL
|
|
- ✅ `og:title` - Page title
|
|
- ✅ `og:description` - Meta description
|
|
- ✅ `og:image` - Full absolute URL with secure_url
|
|
- ✅ `og:image:type` - image/jpeg
|
|
- ✅ `og:image:alt` - Alt text
|
|
- ✅ `og:image:width` - 1200px
|
|
- ✅ `og:image:height` - 630px (optimal for social sharing)
|
|
- ✅ `og:site_name` - WorkRoot IT Solutions
|
|
- ✅ `og:locale` - en_US
|
|
- ✅ `fb:app_id` - Facebook App ID
|
|
|
|
**Result:** Rich previews on Facebook, LinkedIn, WhatsApp, Slack
|
|
|
|
---
|
|
|
|
### Enhanced Twitter Cards Implementation
|
|
**Location:** `src/layouts/BaseLayout.astro` (lines 79-88)
|
|
|
|
**Properties:**
|
|
- ✅ `twitter:card` - summary_large_image
|
|
- ✅ `twitter:site` - @workroot
|
|
- ✅ `twitter:creator` - @workroot
|
|
- ✅ `twitter:url` - Canonical URL
|
|
- ✅ `twitter:title` - Page title
|
|
- ✅ `twitter:description` - Meta description
|
|
- ✅ `twitter:image` - Full absolute URL
|
|
- ✅ `twitter:image:alt` - Alt text
|
|
- ✅ `twitter:domain` - workroot.in
|
|
- ✅ `twitter:label1` - "Est. reading time"
|
|
- ✅ `twitter:data1` - Dynamic reading time
|
|
|
|
**Result:** Large image cards on Twitter/X with rich metadata
|
|
|
|
---
|
|
|
|
## Validation & Testing
|
|
|
|
### Google Rich Results Test
|
|
**URL:** https://search.google.com/test/rich-results
|
|
|
|
**Test Pages:**
|
|
1. Homepage: https://workroot.in/
|
|
- Expected: Organization, FAQPage, WebSite schemas
|
|
2. Blog Post: https://workroot.in/blog/[slug]
|
|
- Expected: BlogPosting, BreadcrumbList schemas
|
|
3. Services: https://workroot.in/services
|
|
- Expected: Service, BreadcrumbList schemas
|
|
4. About: https://workroot.in/about
|
|
- Expected: AboutPage, BreadcrumbList schemas
|
|
5. Contact: https://workroot.in/contact
|
|
- Expected: ContactPage, BreadcrumbList schemas
|
|
|
|
### Schema Markup Validator
|
|
**URL:** https://validator.schema.org/
|
|
|
|
**Validation Steps:**
|
|
1. Copy the HTML source of each page
|
|
2. Paste into validator
|
|
3. Verify all schemas are valid
|
|
4. Check for warnings and fix if necessary
|
|
|
|
### Facebook Sharing Debugger
|
|
**URL:** https://developers.facebook.com/tools/debug/
|
|
|
|
**Test:** Verify Open Graph tags render correctly
|
|
|
|
### Twitter Card Validator
|
|
**URL:** https://cards-dev.twitter.com/validator
|
|
|
|
**Test:** Verify Twitter Card metadata displays properly
|
|
|
|
### Validation Script
|
|
Run the included validation script:
|
|
```bash
|
|
npm run validate:schema
|
|
```
|
|
|
|
---
|
|
|
|
## Best Practices Implemented
|
|
|
|
### E-E-A-T Signals
|
|
✅ **Experience:** Author information in blog posts
|
|
✅ **Expertise:** Detailed service descriptions, team credentials
|
|
✅ **Authoritativeness:** Organization schema with founding date, ratings
|
|
✅ **Trustworthiness:** Contact information, physical address, social profiles
|
|
|
|
### Schema.org Guidelines
|
|
✅ Use JSON-LD format (recommended by Google)
|
|
✅ Include all required properties
|
|
✅ Add relevant optional properties
|
|
✅ Use specific types (BlogPosting vs Article)
|
|
✅ Nest related schemas properly
|
|
✅ Provide absolute URLs for all links
|
|
✅ Include image dimensions
|
|
|
|
### Google Guidelines
|
|
✅ Avoid spammy structured data
|
|
✅ Mark up content visible to users
|
|
✅ Don't mark up hidden content
|
|
✅ Keep structured data in sync with page content
|
|
✅ Use canonical URLs
|
|
✅ Provide complete information
|
|
|
|
### GEO (Generative Engine Optimization)
|
|
✅ Clear entity definitions (Organization, Person)
|
|
✅ Rich metadata for AI citation
|
|
✅ Comprehensive service descriptions
|
|
✅ Structured FAQ data
|
|
✅ Author attribution
|
|
✅ Date information (published, modified)
|
|
✅ Category and keyword tagging
|
|
|
|
---
|
|
|
|
## SEO & GEO Impact
|
|
|
|
### Traditional SEO (Google, Bing)
|
|
- **Rich Snippets:** Blog posts appear with images, dates, authors
|
|
- **Sitelinks Search Box:** Direct search from Google results
|
|
- **Knowledge Graph:** Company info panel in search results
|
|
- **FAQ Accordion:** Expandable FAQs in search results
|
|
- **Breadcrumbs:** Navigation trail in search listings
|
|
- **Article Cards:** Enhanced blog post visibility
|
|
|
|
### GEO (ChatGPT, Claude, Perplexity)
|
|
- **Citation Likelihood:** AI models can cite content with proper attribution
|
|
- **Entity Recognition:** WorkRoot recognized as a known organization
|
|
- **Service Discovery:** AI can accurately describe services offered
|
|
- **Contact Information:** AI can provide accurate contact details
|
|
- **Content Context:** Better understanding of blog post topics and expertise
|
|
|
|
---
|
|
|
|
## Monitoring & Maintenance
|
|
|
|
### Google Search Console
|
|
1. Monitor **Enhancements** section
|
|
2. Check for **Rich Results** errors
|
|
3. Track **Impressions** for rich results
|
|
4. Monitor **Click-through rate** improvements
|
|
|
|
### Regular Updates Needed
|
|
- Update aggregate rating as new reviews come in
|
|
- Add new team members to Organization schema
|
|
- Update service offerings
|
|
- Refresh FAQ content
|
|
- Keep blog metadata current
|
|
|
|
### Quarterly Review Checklist
|
|
- [ ] Validate all schemas with Google Rich Results Test
|
|
- [ ] Check Search Console for structured data errors
|
|
- [ ] Update aggregate rating
|
|
- [ ] Verify all URLs are accessible
|
|
- [ ] Test social sharing previews
|
|
- [ ] Review and update FAQ content
|
|
- [ ] Ensure image URLs are valid
|
|
|
|
---
|
|
|
|
## File Reference
|
|
|
|
| Schema Type | Component Location | Pages Using |
|
|
|-------------|-------------------|-------------|
|
|
| Organization | `src/layouts/BaseLayout.astro:92-154` | All pages |
|
|
| WebSite | `src/layouts/BaseLayout.astro:157-176` | All pages |
|
|
| BlogPosting | `src/components/SEO.astro:50-76` | Blog posts |
|
|
| BreadcrumbList | `src/components/SEO.astro:42-48` | Multiple pages |
|
|
| WebPage | `src/components/SEO.astro:89-105` | Standard pages |
|
|
| FAQPage | `src/components/SEO.astro:108-119` | Homepage |
|
|
| Service | `src/components/SEO.astro:79-86` | Services page |
|
|
| AboutPage | `src/components/SEO.astro:122-132` | About page |
|
|
| ContactPage | `src/components/SEO.astro:135-145` | Contact page |
|
|
| Open Graph | `src/layouts/BaseLayout.astro:66-77` | All pages |
|
|
| Twitter Cards | `src/layouts/BaseLayout.astro:79-88` | All pages |
|
|
|
|
---
|
|
|
|
## Next Steps
|
|
|
|
### Immediate Actions
|
|
1. ✅ Validate all pages with Google Rich Results Test
|
|
2. ✅ Test social sharing on Facebook and Twitter
|
|
3. ✅ Submit sitemap to Google Search Console
|
|
4. ✅ Monitor Search Console for errors
|
|
|
|
### Future Enhancements
|
|
- [ ] Add Review/Rating schema for client testimonials
|
|
- [ ] Implement Product schema if selling products
|
|
- [ ] Add HowTo schema for tutorial content
|
|
- [ ] Add VideoObject schema for video content
|
|
- [ ] Add LocalBusiness schema if focusing on local SEO
|
|
- [ ] Add JobPosting schema for careers page
|
|
|
|
---
|
|
|
|
## Resources
|
|
|
|
- [Schema.org Documentation](https://schema.org/)
|
|
- [Google Search Central - Structured Data](https://developers.google.com/search/docs/appearance/structured-data)
|
|
- [Google Rich Results Test](https://search.google.com/test/rich-results)
|
|
- [Schema Markup Validator](https://validator.schema.org/)
|
|
- [Open Graph Protocol](https://ogp.me/)
|
|
- [Twitter Cards Documentation](https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards)
|
|
|
|
---
|
|
|
|
**Last Updated:** 2026-03-21
|
|
**Maintained By:** seo-specialist agent
|