JAVASCRIPTseobeginner

Service Schema for Freelancers and Agencies

Add Service structured data to showcase your professional services with pricing in Google search results

Faisal Yaqoob
#service#schema#seo#structured-data#json-ld#freelancer#agency#rich-snippets#google
Share this snippet:

Code

javascript
1const freelancerService = {
2 "@context": "https://schema.org",
3 "@type": "ProfessionalService",
4 "name": "WordPress Development Services",
5 "description": "Professional WordPress development services including custom theme development, plugin creation, WooCommerce setup, and performance optimization.",
6 "url": "https://yoursite.com/services",
7 "image": "https://yoursite.com/images/services-banner.jpg",
8 "provider": {
9 "@type": "Person",
10 "name": "Your Name",
11 "jobTitle": "Senior Full Stack Developer",
12 "url": "https://yoursite.com",
13 "image": "https://yoursite.com/images/profile.jpg",
14 "sameAs": [
15 "https://www.linkedin.com/in/yourprofile",
16 "https://github.com/yourusername",
17 "https://www.fiverr.com/yourusername"
18 ]
19 },
20 "areaServed": {
21 "@type": "Place",
22 "name": "Worldwide"
23 },
24 "hasOfferCatalog": {
25 "@type": "OfferCatalog",
26 "name": "Web Development Services",
27 "itemListElement": [
28 {
29 "@type": "OfferCatalog",
30 "name": "WordPress Development",
31 "itemListElement": [
32 {
33 "@type": "Offer",
34 "itemOffered": {
35 "@type": "Service",
36 "name": "Custom WordPress Theme Development",
37 "description": "Pixel-perfect custom WordPress themes built from scratch with Gutenberg block support, responsive design, and SEO optimization."
38 },
39 "priceSpecification": {
40 "@type": "PriceSpecification",
41 "price": "2000",
42 "priceCurrency": "USD",
43 "minPrice": "2000",
44 "maxPrice": "8000"
45 }
46 },
47 {
48 "@type": "Offer",
49 "itemOffered": {
50 "@type": "Service",
51 "name": "WordPress Plugin Development",
52 "description": "Custom WordPress plugins tailored to your specific business requirements with clean code and WordPress coding standards."
53 },
54 "priceSpecification": {
55 "@type": "PriceSpecification",
56 "price": "1500",
57 "priceCurrency": "USD",
58 "minPrice": "1500",
59 "maxPrice": "10000"
60 }
61 },
62 {
63 "@type": "Offer",
64 "itemOffered": {
65 "@type": "Service",
66 "name": "WooCommerce Store Setup",
67 "description": "Complete WooCommerce store setup including theme customization, payment gateway integration, shipping configuration, and product import."
68 },
69 "priceSpecification": {
70 "@type": "PriceSpecification",
71 "price": "3000",
72 "priceCurrency": "USD",
73 "minPrice": "3000",
74 "maxPrice": "15000"
75 }
76 }
77 ]
78 },
79 {
80 "@type": "OfferCatalog",
81 "name": "Shopify Development",
82 "itemListElement": [
83 {
84 "@type": "Offer",
85 "itemOffered": {
86 "@type": "Service",
87 "name": "Custom Shopify Theme",
88 "description": "Custom Shopify 2.0 themes built with Liquid, optimized for conversion and mobile-first design."
89 },
90 "priceSpecification": {
91 "@type": "PriceSpecification",
92 "price": "3000",
93 "priceCurrency": "USD",
94 "minPrice": "3000",
95 "maxPrice": "12000"
96 }
97 }
98 ]
99 }
100 ]
101 },
102 "aggregateRating": {
103 "@type": "AggregateRating",
104 "ratingValue": "4.9",
105 "bestRating": "5",
106 "ratingCount": "150",
107 "reviewCount": "120"
108 }
109};

Service Schema for Freelancers and Agencies

Add Service structured data to help Google understand and display your professional services in search results. This is essential for freelancers, agencies, and service-based businesses to appear in relevant searches with service details and pricing.

Freelancer Service Schema

const freelancerService = {
  "@context": "https://schema.org",
  "@type": "ProfessionalService",
  "name": "WordPress Development Services",
  "description": "Professional WordPress development services including custom theme development, plugin creation, WooCommerce setup, and performance optimization.",
  "url": "https://yoursite.com/services",
  "image": "https://yoursite.com/images/services-banner.jpg",
  "provider": {
    "@type": "Person",
    "name": "Your Name",
    "jobTitle": "Senior Full Stack Developer",
    "url": "https://yoursite.com",
    "image": "https://yoursite.com/images/profile.jpg",
    "sameAs": [
      "https://www.linkedin.com/in/yourprofile",
      "https://github.com/yourusername",
      "https://www.fiverr.com/yourusername"
    ]
  },
  "areaServed": {
    "@type": "Place",
    "name": "Worldwide"
  },
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Web Development Services",
    "itemListElement": [
      {
        "@type": "OfferCatalog",
        "name": "WordPress Development",
        "itemListElement": [
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Custom WordPress Theme Development",
              "description": "Pixel-perfect custom WordPress themes built from scratch with Gutenberg block support, responsive design, and SEO optimization."
            },
            "priceSpecification": {
              "@type": "PriceSpecification",
              "price": "2000",
              "priceCurrency": "USD",
              "minPrice": "2000",
              "maxPrice": "8000"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "WordPress Plugin Development",
              "description": "Custom WordPress plugins tailored to your specific business requirements with clean code and WordPress coding standards."
            },
            "priceSpecification": {
              "@type": "PriceSpecification",
              "price": "1500",
              "priceCurrency": "USD",
              "minPrice": "1500",
              "maxPrice": "10000"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "WooCommerce Store Setup",
              "description": "Complete WooCommerce store setup including theme customization, payment gateway integration, shipping configuration, and product import."
            },
            "priceSpecification": {
              "@type": "PriceSpecification",
              "price": "3000",
              "priceCurrency": "USD",
              "minPrice": "3000",
              "maxPrice": "15000"
            }
          }
        ]
      },
      {
        "@type": "OfferCatalog",
        "name": "Shopify Development",
        "itemListElement": [
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Custom Shopify Theme",
              "description": "Custom Shopify 2.0 themes built with Liquid, optimized for conversion and mobile-first design."
            },
            "priceSpecification": {
              "@type": "PriceSpecification",
              "price": "3000",
              "priceCurrency": "USD",
              "minPrice": "3000",
              "maxPrice": "12000"
            }
          }
        ]
      }
    ]
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.9",
    "bestRating": "5",
    "ratingCount": "150",
    "reviewCount": "120"
  }
};

Agency Service Schema

const agencyServices = {
  "@context": "https://schema.org",
  "@type": "ProfessionalService",
  "name": "Full-Service Digital Agency",
  "description": "End-to-end web development, design, and digital marketing services for businesses of all sizes.",
  "url": "https://youragency.com/services",
  "telephone": "+1-555-123-4567",
  "email": "hello@youragency.com",
  "priceRange": "$$-$$$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "456 Agency Blvd",
    "addressLocality": "San Francisco",
    "addressRegion": "CA",
    "postalCode": "94102",
    "addressCountry": "US"
  },
  "provider": {
    "@type": "Organization",
    "name": "Your Agency Name",
    "url": "https://youragency.com",
    "logo": "https://youragency.com/logo.png",
    "foundingDate": "2018",
    "numberOfEmployees": {
      "@type": "QuantitativeValue",
      "minValue": 10,
      "maxValue": 50
    }
  },
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Digital Services",
    "itemListElement": [
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Website Development",
          "description": "Custom website development using WordPress, Shopify, or headless CMS with Next.js."
        }
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "SEO & Content Strategy",
          "description": "Technical SEO audits, content strategy, schema markup implementation, and ongoing optimization."
        }
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "E-Commerce Solutions",
          "description": "End-to-end e-commerce setup with WooCommerce or Shopify including payment, shipping, and inventory management."
        }
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Website Maintenance",
          "description": "Ongoing WordPress and Shopify maintenance including updates, backups, security monitoring, and performance optimization."
        }
      }
    ]
  }
};

WordPress Implementation

/**
 * Output Service schema on service pages
 * Add to child theme functions.php
 */
function wp_service_schema() {
    if ( ! is_page( 'services' ) && ! is_singular( 'service' ) ) {
        return;
    }

    $schema = [
        '@context'    => 'https://schema.org',
        '@type'       => 'ProfessionalService',
        'name'        => get_the_title() . ' - ' . get_bloginfo( 'name' ),
        'description' => wp_trim_words( get_the_excerpt(), 50 ),
        'url'         => get_permalink(),
        'image'       => get_the_post_thumbnail_url( get_the_ID(), 'full' ),
        'provider'    => [
            '@type' => 'Organization',
            'name'  => get_bloginfo( 'name' ),
            'url'   => home_url( '/' ),
            'logo'  => get_site_icon_url( 512 ),
        ],
        'areaServed'  => [
            '@type' => 'Place',
            'name'  => 'Worldwide',
        ],
    ];

    echo '<script type="application/ld+json">'
        . wp_json_encode( $schema, JSON_UNESCAPED_SLASHES )
        . '</script>' . "\n";
}
add_action( 'wp_head', 'wp_service_schema' );

Best Practices

  • Use ProfessionalService as the @type for service-based businesses
  • Include hasOfferCatalog to list all available services
  • Add priceSpecification with min/max range when possible
  • Include areaServed to indicate service coverage
  • Add aggregateRating from real client reviews
  • Link provider to your Person or Organization schema
  • Match visible content — services listed in schema must appear on the page

Features

  • Service Catalog Display: Structured listing of all services in search
  • Price Range Visibility: Show pricing in Google search results
  • Freelancer & Agency: Templates for both individual and company services
  • Rating Integration: Combine with AggregateRating for star display
  • WordPress Ready: PHP implementation for WordPress service pages
  • Geographic Targeting: Define service areas for local SEO

Related Snippets