LovedByAI
Freelancers GEO

Person vs LocalBusiness schema: what freelancers actually need

Freelancers need to define their commercial intent. We analyze Person versus LocalBusiness schema to help AI search engines correctly recommend your services.

13 min read
By Jenny Beasley, SEO/GEO Specialist
Freelancer Schema 101
Freelancer Schema 101

When a potential client asks Perplexity or ChatGPT for a "freelance developer" or "creative consultant," the AI isn't just matching keywords on a page. It is constructing a profile of who you are based on the entities it finds. This creates a specific technical challenge for freelancers: does the AI view you as a hobbyist with a blog, or a legitimate commercial entity?

The distinction often lies in your structured data. While Person schema effectively establishes your biography and credentials, it frequently fails to signal commercial intent to Large Language Models (LLMs). Conversely, LocalBusiness schema explicitly tells the search engine that you offer services, accept currency, and have operational constraints. If you rely solely on the default settings of many WordPress themes, you might be unintentionally classifying yourself as a "topic" rather than a "solution."

This isn't just about traditional rankings; it is about defining your entity in the Knowledge Graph. To get cited as a recommendation in AI-generated answers, you need to bridge the gap between your personal brand and your business operations. Let's look at how to implement the right schema strategy to ensure you are visible when clients are ready to hire.

When a user asks ChatGPT, "Who is the best freelance React developer in Austin?", the AI doesn't just scan for keywords. It looks for entities.

For freelancers, this creates an immediate identity crisis in the data layer. Most WordPress SEO plugins force you to choose between Organization or Person during the setup wizard. If you select Organization, you might gain some local business features, but you lose the semantic connection to your personal expertise, portfolio, and alumni networks - signals that engines like Perplexity rely on to establish authority.

If you select Person, you often lose the ability to define areaServed or priceRange effectively in standard templates. This binary choice is a legacy of Google's traditional search, but it fails in Generative Engine Optimization (GEO).

The "Hybrid" Entity Problem

AI Search engines construct a Knowledge Graph of your identity. If your site markup identifies you strictly as a LocalBusiness, the AI expects opening hours and a physical address. If you are a digital nomad or a consultant working from a home office, this mismatch degrades trust.

The solution is nesting. You need a Person entity that is the founder of an Organization, or a Person entity that specifically makesOffer (services).

Here is the JSON-LD structure that actually helps AI understand a freelancer's role:

{
  "@context": "https://schema.org",
  "@type": "Person",
  "name": "Jane Doe",
  "jobTitle": "Growth Engineer",
  "url": "https://janedoe.dev",
  "sameAs": [
    "https://twitter.com/janedoe",
    "https://linkedin.com/in/janedoe"
  ],
  "knowsAbout": ["WordPress Development", "Technical SEO", "React"],
  "makesOffer": {
    "@type": "Offer",
    "itemOffered": {
      "@type": "Service",
      "name": "Custom WordPress Plugin Development",
      "description": "I build custom plugins for high-scale publishers."
    },
    "areaServed": "Worldwide"
  }
}

Most freelancers miss the knowsAbout and makesOffer properties entirely. Without knowsAbout, the AI has to guess your skills based on unstructured text analysis, which is prone to hallucinations or omissions. Explicitly defining these properties gives the LLM a structured "cheat sheet" about your capabilities.

Location and Service nuances

For location-based queries (e.g., "Freelance writer near me"), strictly using Person schema without location data renders you invisible to geo-specific AI filters. However, standard LocalBusiness schema requires a public address, which is a privacy risk for home-based freelancers.

This is where advanced schema injection becomes critical. We developed LovedByAI's Schema Detection to scan for these specific entity gaps. It identifies if your WordPress site is broadcasting a confusing signal - like a Person entity trapped inside a generic WebPage - and can inject nested schemas that bridge the gap between "Individual Expert" and "Service Provider" without exposing private home addresses.

By clarifying your entity type, you stop competing with generic job boards and start appearing as a distinct, authoritative answer.

For more on the specific properties available for freelancers, verify your current setup against the Schema.org Person documentation.

Should freelancers choose Person or LocalBusiness schema?

The decision between Person and LocalBusiness schema defines how AI engines categorize your career. If you choose incorrectly, you might rank for the wrong intent - or worse, trigger trust filters that downgrade your visibility.

This isn't just about checkboxes in your SEO plugin's setup wizard. It is about the fundamental identity of your entity in the Knowledge Graph.

When to stick with Person Schema

If you are a consultant, speaker, or developer selling intellect rather than a commoditized service, stay with Person.

AI models use Person schema to connect your name with authority signals like alumniOf, award, and sameAs (your social profiles). When a user asks Claude or ChatGPT "Who is an expert in React performance?", the engine looks for a Person entity with a high "Knowledge Confidence" score.

Switching to LocalBusiness can dilute this authority because the AI stops treating you as a "subject matter expert" and starts treating you as a "storefront" with operating hours.

When to switch to LocalBusiness (or ProfessionalService)

If your revenue depends on "near me" queries (e.g., "Freelance photographer in Seattle"), Person schema is insufficient. You need the spatial data provided by LocalBusiness.

However, the generic LocalBusiness type often expects a physical storefront. For freelancers, the ProfessionalService subtype is far more accurate. It allows for service area definition without necessarily implying you have a waiting room.

The hidden risk: The "Home Address" Trap

Using LocalBusiness schema requires an address property to be valid in the eyes of Google and many AI crawlers. If you work from home, you face a privacy dilemma.

If you publish your home address in the schema but hide it visually on the site, AI agents may flag this as a "deceptive practice" or a data mismatch. If you leave the address out entirely, the schema breaks.

The safest technical approach for WordPress users is to inject a hybrid schema using wp_head. This allows you to define a Person who offers a Service, linking the two concepts without forcing a fake office address.

Here is how you can inject a ProfessionalService schema that references you as the main provider, suitable for your functions.php file:

add_action( 'wp_head', 'inject_freelancer_schema' );

function inject_freelancer_schema() {
    // Only run on the home page
    if ( ! is_front_page() ) {
        return;
    }

    $schema = [
        '@context' => 'https://schema.org',
        '@type'    => 'ProfessionalService',
        'name'     => 'Jane Doe Design',
        'image'    => 'https://example.com/jane-profile.jpg',
        'priceRange' => '$$$',
        'address'  => [
            '@type' => 'PostalAddress',
            'addressLocality' => 'Austin',
            'addressRegion'   => 'TX',
            'addressCountry'  => 'US'
        ],
        'founder' => [
             '@type' => 'Person',
             'name'  => 'Jane Doe'
        ]
    ];

    echo '';
    echo wp_json_encode( $schema );
    echo '';
}

This structure tells the AI: "This is a business entity located in Austin, but it is founded and run by this specific Person." It satisfies the location requirement for "near me" searches while maintaining the connection to your personal identity.

If manually coding this feels risky, tools like LovedByAI can automatically detect which schema type fits your content best and inject the correct nested JSON-LD without touching your theme files.

Ultimately, accuracy wins. Don't claim to be a Corporation if you are a solo freelancer; the AI will cross-reference your LinkedIn data and spot the inconsistency immediately.

How can freelancers combine schemas for maximum AI context?

AI search engines like Perplexity and ChatGPT do not index pages in isolation; they build entity maps. A common mistake freelancers make is forcing their WordPress site into a binary choice: strictly Person or strictly Organization.

If you choose Organization, you lose the personal authority signals (like alumniOf or jobTitle) that prove your expertise. If you choose Person, you lose the ability to define service areas and price ranges effectively.

The solution is a hybrid approach using Schema Nesting. You don't have to choose one; you can define a ProfessionalService entity that is fundamentally connected to a Person entity.

The Power of ProfessionalService

The ProfessionalService schema type is the perfect middle ground for consultants, developers, and designers. It allows you to have a "brand" (even if it's just your name) while explicitly linking to your human identity.

By nesting a Person entity inside the founder or employee property of the ProfessionalService, you tell the AI: "This is a business entity, but the expertise comes from this specific human."

Here is a JSON-LD template that combines these signals for maximum context:

{
  "@context": "https://schema.org",
  "@type": "ProfessionalService",
  "name": "Sarah Jenkins Design",
  "image": "https://example.com/logo.jpg",
  "priceRange": "$$$",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Denver",
    "addressRegion": "CO",
    "addressCountry": "US"
  },
  "founder": {
    "@type": "Person",
    "name": "Sarah Jenkins",
    "jobTitle": "UI/UX Specialist",
    "sameAs": [
      "https://www.linkedin.com/in/sarahjenkins",
      "https://github.com/sarahjenkins"
    ],
    "knowsAbout": [
      "Figma",
      "React Native",
      "User Research",
      "Accessibility"
    ]
  }
}

Why knowsAbout and sameAs are critical

In the example above, two properties do the heavy lifting for GEO (Generative Engine Optimization):

  1. sameAs: This property acts as a digital passport. It links your self-hosted WordPress site to high-authority domains like LinkedIn or GitHub. When an AI crawler sees this, it validates your identity against trusted third-party data.
  2. knowsAbout: This is arguably the most underused property in freelance SEO. Instead of hoping the AI infers your skills from your blog posts, you explicitly list them in the code. If you want to rank for "React Native Expert," putting "React Native" in your knowsAbout array is a direct signal to the LLM.

Implementing this in WordPress

Most standard SEO plugins will not generate this level of nested detail automatically. They usually output a flat Organization graph.

To fix this, you can inject the script directly into your <head> using your child theme's functions.php file, or use a tool capable of handling complex entity relationships.

For example, LovedByAI's Schema Injection can scan your existing content, detect missing entity connections, and inject this type of nested JSON-LD automatically. This ensures that when an AI engine parses your site, it sees the full picture - a qualified expert running a legitimate business - rather than just another generic webpage.

By combining these schemas, you stop competing with generic job boards and start establishing yourself as a distinct entity in the Knowledge Graph.

Implementing the Hybrid Schema Strategy on WordPress

For freelancers, AI visibility hinges on a specific challenge: are you a "Person" or a "LocalBusiness"? LLMs often get confused. The solution is a Hybrid Schema Strategy - nesting your personal authority explicitly within your service offering. This tells engines like Perplexity and ChatGPT exactly who creates the value.

Step 1: Define the Relationship

AI models rely on knowledge graphs. You need to connect the Service (what you sell) directly to the Person (you) using the offeredBy property. This passes your personal authority (E-E-A-T) to your commercial services.

Step 2: Draft the Nested JSON-LD

We need to construct a JSON object that links these entities. We also add knowsAbout (critical for AI to understand your expertise vectors) and areaServed.

{ "@context": "https://schema.org", "@type": "Service", "name": "Full-Stack WordPress Development", "description": "Custom React and Next.js development for enterprise clients.", "areaServed": "Worldwide", "offeredBy": { "@type": "Person", "name": "Alex Dev", "url": "https://alexdev.com", "knowsAbout": ["React", "headless WordPress", "AI Integration", "Python"] } }

Step 3: Inject into WordPress Headers

You can add this directly to your theme's functions.php file. This method ensures the code renders in the <head> section where crawlers expect it.

add_action('wp_head', 'inject_hybrid_schema');

function inject_hybrid_schema() { $schema = [ '@context' => 'https://schema.org', '@type' => 'Service', 'name' => 'Full-Stack WordPress Development', 'offeredBy' => [ '@type' => 'Person', 'name' => 'Alex Dev', 'knowsAbout' => ['React', 'WordPress', 'GEO'] ] ];

echo ''; echo wp_json_encode($schema); echo ''; }

Note: If you prefer not to touch code, LovedByAI can scan your content and auto-inject complex nested schema like this without risking syntax errors.

Step 4: Validate the Structure

Once deployed, clear your cache and run your URL through the Schema.org Validator. Ensure there are no errors in the nesting.

Warning: Avoid "Schema Drift." Ensure the skills listed in knowsAbout actually appear in the visible text on your page. AI engines penalize "hallucinated" metadata that isn't supported by on-page content.

Conclusion

Choosing between Person and LocalBusiness schema defines how AI engines interpret your professional identity. For most freelancers, the goal is to establish authority around your specific name and expertise, which makes Person schema powerful for building a personal brand. However, if you are scaling into an agency or rely heavily on foot traffic, LocalBusiness provides the necessary geographical context. The key is consistency - don't confuse the algorithms by mixing signals. When you align your structured data with your actual business model, you give platforms like Google and Perplexity the confidence to cite you as a verified expert. Take control of your digital entity today and make it easy for AI to recommend you.

For a complete guide to AI SEO strategies for Freelancers, check out our Freelancers AI SEO landing page.

Jenny Beasley

Jenny Beasley is an SEO and GEO specialist focused on helping businesses improve their visibility across traditional search and AI-driven platforms.

Frequently asked questions

Yes, absolutely. You can and should use `LocalBusiness` schema (or a specific subtype like `ProfessionalService`) to establish your geographic relevance. The key is to handle the address properties correctly to maintain privacy. You can omit the precise street address in the public JSON-LD but rigorously define the `areaServed` property to tell search engines exactly which cities or regions you cover. This allows AI models to recommend you for "near me" queries without requiring a physical storefront. If you struggle with the nesting, [LovedByAI](https://www.lovedby.ai/) can scan your current setup and auto-inject the correct [LocalBusiness schema](https://schema.org/LocalBusiness) to ensure your service radius is machine-readable.
Yes, it significantly improves how AI models interpret your brand. ChatGPT and other Large Language Models (LLMs) rely on structured data to clearly define "entities" - who you are and what you do - without having to parse through ambiguous text. By switching from a generic `WebPage` to specific `TechArticle`, `HowTo`, or `Service` schema, you provide a clear data dictionary that fits efficiently into an AI's context window. This structured clarity reduces the chance of hallucination and makes it much more likely for an answer engine to cite you as a trusted source. See [Google's documentation](https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data) for how this data powers rich results.
You should utilize `Person` schema as your primary entity, but explicitly link it to your commercial offerings. A common mistake is forcing a personal brand into an `Organization` container, which confuses AI about the nature of the entity. Instead, use the `makesOffer` property within your `Person` schema to list your services, or use `Brand` schema nested under the person. This connects your personal authority directly to what you sell, helping AI associate your name with specific industry expertise. You can check the [Schema.org Person definition](https://schema.org/Person) to see available properties like `knowsAbout` which further build your authority graph.

Ready to optimize your site for AI search?

Discover how AI engines see your website and get actionable recommendations to improve your visibility.