Adding Schema.org Structured Data in Genesis Theme without using any plugin is quite easy as Genesis has great documentation and has excellent existing markups. I am not an affiliate of Genesis Framework, in fact you will not find any affiliate link within this website, in fact the License is not with my name!
I wrote before that, Genesis really compacts the HTML source code and there is practically no good all in one schema.org plugin. Most of the ‘All-in-one-SEO’ kind of plugin actually increases the burden on server, particularly if the WordPress is on a Cloud Computing platform (practically its a virtual distributed computing network) with Cloud DNS – your consumption of compute cycle will increase, the database calls definitely increases and results in increase in page loading time and billing (because caching will eat more memory – its very commonly done mistake to overcache – reduce the cache at minimum).
Logic behind adding Schema.org Structured Data in Genesis Theme / Any theme
What we basically do with a Theme Framework’s Child Theme or the Theme Framework ? Apart from the look or design, we add few functions which are not available by the default theme. Genesis has some extra hooks plus sanitize WordPress’s hooks. The SEO function it has by default is enough and more better than any ‘All-in-one-SEO’ kind of plugins :
- You are avoiding one extra Plugin – one burden from the database is reduced.
- You are saving compute cycle, that means less pressure on the server or server group.
- Less PHP calls.
No one checks code by code any plugin. It is always better to avoid huge number of plugins and if possible, null the API calls by reverse engineering. Free plugins or themes never means, it will steal your website’s data. Free means which follows the principle of GNU GPL 3.0.
Practically the basic function – adding meta description should come by default with WordPress software. Genesis currently lacks few things :
- rel=updated is not included by default.
Adding Schema.org Structured Data in Genesis Theme
All parts of Genesis are not under GNU GPL 3.0. We can not modify and distribute the core files of Genesis Framework. We are just mentioning the ways, you have to work a bit to edit them manually.
First, either null the callback function of Genesis Framework update or keep an backup of the modified core files. Inside the Genesis Framework folder, there is lib folder, under lib there is structure folder :
If you open each file, you will see the print function for microformats, example :
What we get as output ? that rel=bookmark. You have to add the things as described in Schema.org’s properties. Now for example for the author data :
$authordata = is_object( $authordata ) ? $authordata :
get_userdata( get_query_var( 'author' ) );
$gravatar_size = apply_filters( 'genesis_author_box_gravatar_size',
70, $context );
$gravatar = get_avatar( get_the_author_meta( 'email' ),
$title = apply_filters( 'genesis_author_box_title',
sprintf( '<strong>%s %s</strong>', __( 'About', 'genesis' ), get_the_author() ), $context );
$description = wpautop( get_the_author_meta( 'description' ) );
You can normally use PHP functions to add the schema.org markups.
Apart from that, each page must be wrapped with Schema.org’s defined Webpage and / or Article type. There is no plugin which can fine tune so much by adding Schema.org Structured Data in Genesis Theme in this way.
There is absolutely no warranty for this guide. Test yourself in your test website not in live website.