Author (Schema property)

#705616
  • Resolved Takemetechnically
    Rank Math free

    according to this article https://www.searchenginejournal.com/google-eat/structured-data/

    i want to charge the author as an Organization and not a Person.

    so how to do this change with rank math (free)

    This article says

    (3. Author (Schema property)
    Author is a Schema property that can be used for any Schema type that falls under the CreativeWork or Review classification, such as Article or NewsArticle.

    This property should be used as markup for the author’s byline on a piece of content.

    The expected types for the Author property are either a Person or Organization, so if your site publishes content on behalf of the company, it’s important to list the author as an Organization and not a Person.)

Viewing 14 replies - 1 through 14 (of 14 total)
  • Hello,

    Thank you for reaching out to us. We understand that you want to change the author from a Person to an Organization in the Schema property using Rank Math.

    To change the author from a Person to an Organization in the Schema property using Rank Math, you can follow these steps:

    1. Navigate to the post or page where you want to make this change.
    2. Open Rank Math in the Gutenberg sidebar by clicking on the Rank Math SEO icon for the page.
    3. Then, navigate to the Schema Settings by clicking on the Schema tab and then click on Schema Generator.

    Once you are in the Schema Generator, you can customize the Author Schema Entity to list the author as an Organization instead of a Person.

    If you have any further questions or need assistance with this process, please feel free to reach out to our support team through the ticketing system. We’re here to help.

    Best regards.

    Sources:
    How Does the Author Schema Entity Work? » Rank Math
    Article Schema Type » Rank Math
    How to Get Your Website Listed in Google News » Rank Math
    Person Schema Type » Rank Math

    and currently i change this can you tell me if this is the right schema

    author

    @type

    Person

    @id

    https://www.takemetechnically.com/author/sourabh-raikwar/
    name
    Sourabh Raikwar
    description
    Sourabh Raikwar is a passionate blogger and content creator who has been writing extensively on technology topics since 2018, with a focus on online shopping deals and product reviews. He graduated with a B.Tech degree five years ago and enjoys road trips and exploring the latest gadgets.
    url
    https://www.takemetechnically.com/author/sourabh-raikwar/
    sameAs
    https://www.takemetechnically.com/
    sameAs
    https://www.facebook.com/sourabh.raikwar.739?ref=bookmarks
    sameAs
    https://twitter.com/https://twitter.com/Sourabh08313454
    sameAs
    https://www.takemetechnically.com/blogger-to-entrepreneur-the-inspiring-journey-of-sourabh-raikwar/
    image

    @type

    ImageObject

    @id

    https://secure.gravatar.com/avatar/3153232e4f02058e6c9158dd2d6df8d8?s=96&d=mm&r=g
    url
    https://secure.gravatar.com/avatar/3153232e4f02058e6c9158dd2d6df8d8?s=96&d=mm&r=g
    caption
    Sourabh Raikwar
    inLanguage
    en-US
    worksFor

    @type

    NewsMediaOrganization

    @type

    Organization

    Hello,

    You can change the Person schema to Organization upon choosing it in Rank Math > Titles & Meta > Local SEO:
    https://rankmath.com/kb/local-seo/#person-or-company

    To verify the schema, you may test the live URL using these tools:
    https://search.google.com/test/rich-results
    https://validator.schema.org/

    Hope that helps.

    Thank you.

    if i want to add this type of schema in author or Organization

    how to do this

    Organization

    name
    Search Engine Journal
    foundingDate
    2003
    slogan
    In a world ruled by algorithms, SEJ brings timely, relevant information for SEOs, marketers, and entrepreneurs to optimize and grow their businesses — and careers.
    description
    Search Engine Journal is dedicated to producing the latest news, the best guides and how-tos for the SEO and marketer community.
    legalName
    Search Engine Journal
    alternateName
    SEJ

    founder

    @type

    Person
    name
    Brent Csutoras
    url
    https://www.searchenginejournal.com/author/brentc/
    sameAs
    https://twitter.com/brentcsutoras
    sameAs
    https://www.linkedin.com/in/brentcsutoras
    sameAs
    https://www.crunchbase.com/person/brent-csutoras
    numberOfEmployees

    @type

    QuantitativeValue
    value
    35

    author

    @type

    Person

    @id

    https://www.searchenginejournal.com/author/lily-ray/#schema-author
    url
    https://www.searchenginejournal.com/author/lily-ray/
    name
    Lily Ray
    jobTitle
    Sr. Director of SEO & Head of Organic Research
    description
    Lily Ray is the Sr. Director of SEO & Head of Organic Research at Amsive Digital (formerly Path Interactive), where she provides strategic leadership for the agency’s SEO client programs, while conducting extensive research on the latest SEO developments. Born into a family of software engineers, web developers and technical writers, Lily brings a strong technical background, performance-driven habits and forward-thinking creativity to all programs she oversees. Lily began her SEO career in 2010 in a fast-paced start-up environment and moved quickly into the agency world, where she helped grow and establish an award-winning SEO department that delivered high-impact work for a fast-growing list of notable clients, including Fortune 500 companies. Lily has worked across a variety of verticals with a focus on retail, e-commerce, b2b and CPG sites. She loves diving into algorithm updates, assessing quality issues and solving technical SEO mysteries.
    knowsAbout
    International SEO
    knowsAbout
    Local Search
    knowsAbout
    Mobile SEO
    knowsAbout
    SEO
    knowsAbout
    Technical SEO
    knowsAbout

    Hello,

    Thank you for your patience.

    To add that schema in Rank Math, you may need to use and customize this filter on your site:
    https://rankmath.com/kb/filters-hooks-api-developer/#extend-json-ld-data

    Meanwhile, in Rank Math PRO, you can easily import it using the custom schema generator:
    https://rankmath.com/kb/schema-generator/#schema-generator

    Hope that helps.

    can you check or tell me if this is the right code and if it will work for me? or do i need some changes in this code?

    add_filter( ‘rank_math/json_ld’, function( $data, $jsonld ) {
    if ( ! isset( $data[‘Person’] ) ) {
    return $data;
    }
    global $post;
    // Modify schema properties for a specific author (change author ID as needed)
    $author_id = 2; // Replace with the author’s ID
    if ( isset( $data[‘Person’][‘@id’] ) && $data[‘Person’][‘@id’] === “https://www.takemetechnically.com/author/sourabh-raikwar/#schema-author” ) {
    $data[‘Person’][‘@type’] = ‘Person’;
    $data[‘Person’][‘@id’] = ‘https://www.takemetechnically.com/author/sourabh-raikwar/#schema-author’;
    $data[‘Person’][‘url’] = ‘https://www.takemetechnically.com/author/sourabh-raikwar/’;
    $data[‘Person’][‘name’] = ‘Sourabh Raikwar’;
    $data[‘Person’][‘jobTitle’] = ‘Sr. Director of takemetechnically & Head of Product Research’;
    $data[‘Person’][‘description’] = ‘Sourabh Raikwar is a passionate blogger and content creator who has been writing extensively on technology topics since 2018, with a focus on online shopping deals and product reviews. He graduated with a B.Tech degree five years ago and enjoys road trips and exploring the latest gadgets.’;
    $data[‘Person’][‘knowsAbout’] = [
    ‘Laptop’,
    ‘Headphone’,
    ‘Kitchen Appliances’,
    ‘Home Appliances’,
    ‘Air Fryer’,
    ‘Smartwatch’
    ];
    }

    return $data;
    }, 99, 2);

    Hello,

    The code seems to be correct. Kindly try that and see if that would work. If not, then try using ProfilePage instead of Person. Like for example:

    
    $data['ProfilePage']

    Let us know how that goes. Looking forward to helping you.

    both the codes are not woking I am using this code in a function.php file (in child theme)

    $data[‘ProfilePage’]
    $data[‘Person’]

    what i need to change ?

    Hello,

    I went ahead and modified the code a bit. Please refer to this code and see if this would work for you:

    add_filter('rank_math/json_ld', function ($data, $jsonld) {
    	if (!isset($data['ProfilePage'])) {
    		return $data;
    	}
    
    	print_r( $data['ProfilePage']['@id']);
    
    	global $post;
    	// Modify schema properties for a specific author (change author ID as needed)
    	$author_id = 2; // Replace with the author's ID
    	if (isset($data['ProfilePage']['@id']) && $data['ProfilePage']['@id'] === "https://www.takemetechnically.com/author/sourabh-raikwar/#schema-author") {
    		$data['ProfilePage']['url'] = 'https://www.takemetechnically.com/author/sourabh-raikwar/';
    		$data['ProfilePage']['name'] = 'Sourabh Raikwar';
    		$data['ProfilePage']['jobTitle'] = 'Sr. Director of takemetechnically & Head of Product Research';
    		$data['ProfilePage']['description'] = 'Sourabh Raikwar is a passionate blogger and content creator who has been writing extensively on technology topics since 2018, with a focus on online shopping deals and product reviews. He graduated with a B.Tech degree five years ago and enjoys road trips and exploring the latest gadgets.';
    		$data['ProfilePage']['knowsAbout'] = [
    			'Laptop',
    			'Headphone',
    			'Kitchen Appliances',
    			'Home Appliances',
    			'Air Fryer',
    			'Smartwatch'
    		];
    	}
    
    	return $data;
    }, 99, 2);

    Hope that helps and please do not hesitate to let us know if you need my assistance with anything else.

    link of post https://www.takemetechnically.com/best-mixer-grinder-under-1500/

    I also try with Person replacing (ProfilePage)

    when i replace ProfilePage the top text shows that the problem is solved but in Schema property nothing is happened

    `<?php
    /**
    * Filter to add Modify schema properties for a specific author.
    *
    * @param array TOC plugins.
    */
    add_filter(‘rank_math/json_ld’, function ($data, $jsonld) {
    if (!isset($data[‘Person’])) {
    return $data;
    }

    print_r( $data[‘Person’][‘@id’]);

    global $post;
    // Modify schema properties for a specific author (change author ID as needed)
    $author_id = 2; // Replace with the author’s ID
    if (isset($data[‘Person’][‘@id’]) && $data[‘Person’][‘@id’] === “https://www.takemetechnically.com/author/sourabh-raikwar/#schema-author&#8221;) {
    $data[‘Person’][‘url’] = ‘https://www.takemetechnically.com/author/sourabh-raikwar/&#8217;;
    $data[‘Person’][‘name’] = ‘Sourabh Raikwar’;
    $data[‘Person’][‘jobTitle’] = ‘Sr. Director of takemetechnically & Head of Product Research’;
    $data[‘Person’][‘description’] = ‘Sourabh Raikwar is a passionate blogger and content creator who has been writing extensively on technology topics since 2018, with a focus on online shopping deals and product reviews. He graduated with a B.Tech degree five years ago and enjoys road trips and exploring the latest gadgets.’;
    $data[‘Person’][‘knowsAbout’] = [
    ‘Laptop’,
    ‘Headphone’,
    ‘Kitchen Appliances’,
    ‘Home Appliances’,
    ‘Air Fryer’,
    ‘Smartwatch’
    ];
    }

    return $data;
    }, 99, 2);

    Hello,

    It seems like you want to modify the author property of the Article Schema. Please use the following filter to do that and remove the filter shared previously:

    add_filter( "rank_math/snippet/rich_snippet_article_entity", function( $entity ) {
    		$entity['author']['url'] = 'https://www.takemetechnically.com/author/sourabh-raikwar/';
    		$entity['author']['name'] = 'Sourabh Raikwar';
    		$entity['author']['jobTitle'] = 'Sr. Director of takemetechnically & Head of Product Research';
    		$entity['author']['description'] = 'Sourabh Raikwar is a passionate blogger and content creator who has been writing extensively on technology topics since 2018, with a focus on online shopping deals and product reviews. He graduated with a B.Tech degree five years ago and enjoys road trips and exploring the latest gadgets.';
    		$entity['author']['knowsAbout'] = [
    			'Laptop',
    			'Headphone',
    			'Kitchen Appliances',
    			'Home Appliances',
    			'Air Fryer',
    			'Smartwatch'
    		];
                    return $entity;
    });

    Hope that helps, and please do not hesitate to let us know if you need our assistance with anything else.

    now it’s working thanku

    but

    how to use this code for multiple authors

    Hello,

    You’ll have to create multiple conditions inside the filter function. Here’s an example which you can use:

    add_filter("rank_math/snippet/rich_snippet_article_entity", function ($entity) {
    	if(get_the_author() == 'jeremy'){ /* change username as per requirement */
    		$entity['author']['url'] = 'https://www.takemetechnically.com/author/sourabh-raikwar/';
    		$entity['author']['name'] = 'Sourabh Raikwar';
    		$entity['author']['jobTitle'] = 'Sr. Director of takemetechnically & Head of Product Research';
    		$entity['author']['description'] = 'Sourabh Raikwar is a passionate blogger and content creator who has been writing extensively on technology topics since 2018, with a focus on online shopping deals and product reviews. He graduated with a B.Tech degree five years ago and enjoys road trips and exploring the latest gadgets.';
    		$entity['author']['knowsAbout'] = [
    			'Laptop',
    			'Headphone',
    			'Kitchen Appliances',
    			'Home Appliances',
    			'Air Fryer',
    			'Smartwatch'
    		];
    	}else if(get_the_author() == 'john'){ /* change username as per requirement */
    		$entity['author']['url'] = 'https://www.takemetechnically.com/author/sourabh-raikwar/';
    		$entity['author']['name'] = 'Sourabh Raikwar';
    		$entity['author']['jobTitle'] = 'Sr. Director of takemetechnically & Head of Product Research';
    		$entity['author']['description'] = 'Sourabh Raikwar is a passionate blogger and content creator who has been writing extensively on technology topics since 2018, with a focus on online shopping deals and product reviews. He graduated with a B.Tech degree five years ago and enjoys road trips and exploring the latest gadgets.';
    		$entity['author']['knowsAbout'] = [
    			'Laptop',
    			'Headphone',
    			'Kitchen Appliances',
    			'Home Appliances',
    			'Air Fryer',
    			'Smartwatch'
    		];
    	} /* add more <code>else if</code> statement to add more user */
    
    	return $entity;
    });

    The code needs to be modified as per your requirement.

    Hope that helps and please do not hesitate to let us know if you need my assistance with anything else.

    Hello,

    Since we did not hear back from you for 15 days, we are assuming that you found the solution. We are closing this support ticket.

    If you still need assistance or any other help, please feel free to open a new support ticket, and we will be more than happy to assist.

    Thank you.

Viewing 14 replies - 1 through 14 (of 14 total)

The ticket ‘Author (Schema property)’ is closed to new replies.