# Add Job Title and Expertise to Yoast's Person Schema

> Adds a job title and "knows about" topics from each author's profile to the Person pieces Yoast SEO outputs, which supports E-E-A-T signals.

- Type: PHP
- Runs: Run everywhere
- Category: [Plugin Integrations](https://wpide.com/library/category/integrations/)
- Tags: yoast, schema, authors
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/yoast-person-job-title/

## Code

```php
add_filter( 'user_contactmethods', function ( $methods ) {
    $methods['wpide_job_title']   = 'Job title (schema)';
    $methods['wpide_knows_about'] = 'Topics of expertise, comma separated (schema)';

    return $methods;
} );

add_filter( 'wpseo_schema_person', function ( $data ) {
    if ( ! is_array( $data ) || empty( $data['@id'] ) ) {
        return $data;
    }

    // Find the user this Person piece describes: the post author or the author archive.
    $user_id = 0;

    if ( is_author() ) {
        $user_id = get_queried_object_id();
    } elseif ( is_singular() ) {
        $user_id = (int) get_post_field( 'post_author', get_queried_object_id() );
    }

    if ( ! $user_id ) {
        return $data;
    }

    $job = get_the_author_meta( 'wpide_job_title', $user_id );
    $knows = array_filter( array_map( 'trim', explode( ',', (string) get_the_author_meta( 'wpide_knows_about', $user_id ) ) ) );

    if ( $job ) {
        $data['jobTitle'] = $job;
    }

    if ( $knows ) {
        $data['knowsAbout'] = array_values( $knows );
    }

    return $data;
} );
```

## Notes

Adds two fields to user profiles. Separate topics with commas.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Add Job Title and Expertise to Yoast's Person Schema" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
