Jump to content


Welcome to the forum:

Welcome to the iThemes, PluginBuddy and WebDesign.com forum. We've created several tutorial video's to help you get you started with using the forum, please check them out!

Also take note of the forum guidelines.


Support hours:

Our moderators actively respond to forum support requests during normal business hours which are Monday-Friday, 8am - 5pm Central Standard Time, typically within one business day. Although some moderators choose to work during the weekends, we can not guarantee immediate attention to your requests. Thanks for understanding.

What is included with support:

Premium support includes theme/plugin issues such as: bugs encountered under normal operation, how to use basic features, basic WordPress help, and basic help with customization (meaning we point you to resources and will help in more depth as time allows). More information.

Schema


This topic has been archived. This means that you cannot reply to this topic.
2 replies to this topic

#1 Guest_Guest_*

Guest_Guest_*
  • Guests

Posted 25 July 2013 - 10:05 AM

Does iThemes now support schemas or plan to do so in the near future?
(See Chris Lemas post http://chrislema.com/making-the-move-to-genesis/)

#2 Ronald

Ronald

    Forum Admin

  • Administrators
  • Others: All Plugins, All Themes, Moderators, Webdesign
  • 30,775 posts

Posted 25 July 2013 - 03:15 PM

Hi,

if, by iThemes, you mean Builder theme, no, it does not support schemas yet. Neither do other themes or plugins. I do not know of any plans to do so in the near future, but I will put in a feature request so that it is on the radar of the dev team, it's definitely something we should look into

Ronald

Join the iThemes Builder Community on Google+.



To ensure that we can process your support request efficiently, ALWAYS include a link to your site, and/or the page your request is related to. Please also read the forum guidelines.



When asking your question/posting your request on the forum, please be as concise and specific as possible. The shorter your request, the more to the point, the more specific, the easier it will be for us to try and help out.


#3 Chris Jean

Chris Jean

    Code Monkey

  • Administrators
  • 3,346 posts

Posted 29 July 2013 - 11:04 AM

The problem with bolting schemas into a theme is that only very generic schema data would be provided, which really isn't helpful. The value from schemas comes from using specific schemas to markup specific data.

While the upcoming version of Genesis has built-in schema support, you should be aware of exactly what that means. By default, it will provide some helpful schema meta data, specifically marked-up author and date information (data that the search engines can likely discover without schemas), but the rest of it is very generic: this is a blog, this is content, this is a sidebar (again, data that is likely to be understood by search engine bots without schemas).

From doing a bit of digging, it is clear that the power comes from customizing Genesis' schema support. This can be seen in the custom code here, here, and here.

So, the power comes not from the built-in, automatic feature, but from customization.

A theme doesn't have to have Genesis-style hooks to support such customizations. Modifying the theme templates would do the exact same thing.

So, this post indicates that you could indicate that a specific post type's content is an AudioObject schema by using this code:

add_filter( 'genesis_attr_entry', 'first_sermon_attributes_entry', 20 );
/**
 * Changes sermons to the AudioObject Schema
 */
function first_sermon_attributes_entry( $attributes ) {
 
	if( 'sermons' != get_post_type() )
		return $attributes;
 
	$attributes['itemtype']  = 'http://schema.org/AudioObject';
 
	return $attributes;
 
}

Note that you would have to have an existing sermons post type, know how to write this code, know how schemas function (enough to know what itemtype and AudioObject are), and know which schema you wanted in order for this to work.

Starting with an existing sermons post type, the knowledge of how schemas work, and which schema you wanted to use, you could do the same in Builder as follows: copy the desired starting template (such as single.php) and name the new template single-sermons.php. Modify the template to add the new schema data. For example, change the following:

<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
	<!-- title, meta, and date info -->
	<div class="entry-header clearfix">
		<h1 class="entry-title"><?php the_title(); ?></h1>

to:

<div id="post-<?php the_ID(); ?>" <?php post_class(); ?> itemscope itemtype="http://schema.org/AudioObject">
	<!-- title, meta, and date info -->
	<div class="entry-header clearfix">
		<h1 class="entry-title" itemprop="name"><?php the_title(); ?></h1>

This will accomplish the same thing.

I should note that neither the example for Genesis or my example here will add some of the most important metadata for an AudioObject, the contentURL (which you can read up about on the AudioObject schema page). The method of adding such data would be highly dependant upon how you have your post type set up.

While I really like the idea of schemas, and have been looking at smart ways of adding them to themes for many years now, the reality is that adding generic schemas does very little to help people as they only become powerful when people customize them. It seems that this new feature in Genesis is much the same as everyone who is talking about the new feature immediately talk about the customization potential. Frankly, every theme has the capability to add schema support, as it only takes the care and attention of the person building the site to go and add support for the schemas where it makes sense. While Genesis uses custom hooks to accomplish such modifications, most themes can simply have their template files modified to add the appropriate schema metadata.