-
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.)
-
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:
- Navigate to the post or page where you want to make this change.
- Open Rank Math in the Gutenberg sidebar by clicking on the Rank Math SEO icon for the page.
- 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 Mathand 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
OrganizationHello,
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-companyTo 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
SEJfounder
@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
35author
@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
knowsAboutHello,
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-dataMeanwhile, in Rank Math PRO, you can easily import it using the custom schema generator:
https://rankmath.com/kb/schema-generator/#schema-generatorHope 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 ofPerson
. 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”) {
$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,
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.
The ticket ‘Author (Schema property)’ is closed to new replies.