ClassicPress PetitionsClassicPress Petitions
This is a read-only archive. Post or comment on the live version of this page on our forums.

Core support for modern microformats v2

September 11, 2018 · 16:15 · Chris Aldrich

There's already core support for the older v1 microformats, but it would be nice to modernize to the v2, and in particular for the proper use of h-entry and h-feed. Adding these on top of/in addition to the prior hentry and hfeed shouldn't cause any conflicts.

See also:

+11 more
Request: Modify feature
John A. Huebner II

I'm not a big fan on microformats myself and I prefer using markup. In order to get this to pass google testing I have to create many filters to remove all of the microformat classes that are already added. As long as there are always filters that can be used to remove it I guess it would be okay, but the two ways of adding this information do not work and play well together and google's prefers

Greg McVerry

What you are stripping away is old microformats from when Google was pushing them. Now they are pushing something else.

This is why I find microformats2 attractive. We need to stop designing for large corporations that profit from sucking up our user data.

Design for the web not for Google.

Having proper mf2 (and you can have Linked Data as well... See SemPress) allows some really cool functions that will help return the web to the people.

David Shanske

I can help on this one. And if you create tools to make adding structured data of all types easier, that will also accomplish the goal. WordPress has body and post clas, but not content class. It doesn't have filters for attributes of posts and body in general.

John A. Huebner II

We'll have to agree to disagree on micoformats vs. I find microformats limited in scope. Good for the average things that a business might use a site for, but lacking when it comes to the scope of item types that can be marked up. I agree about google, and I dislike pushing their agenda. But for my clients I have to choose the one that will do the best job.

As I said, as long as there are filters so that I can remove the classes I don't necessarily care.

Peter Molnar

Then do both, mf2 and is not exclusive to each other.

Limitations of exist as well, quite a lot of them, to be fair. Just an example: try marking up a resume with it...

( I set up my own site as "google-valid", mf, and mf2: )

Fabian Wolf

@David Shanske: There is actually no need for a "content class", as its entirely depending on your current theme how that data is displayed. So if you use a microformat v2 enabled theme, all is well ;)

Also, most if not everything mentioned here could be accomplished with a plugin as well. Parsing the content if required? Use Simple HTML DOM or one of the many XML-based DOM parsing options in PHP. Et voila! All done.

cu, w0lf.

James Nylen

This is probably a large enough change that it should start as a plugin. Our place for that is

If you're interested in getting something going here, DM me on Slack and I'll get you set up.

Also, during the development of this plugin we can begin adding filters into the core software as needed. This shouldn't be a problem for v1 and doesn't require a petition (see "minor modifications" exception at

Greg Mcverry

James we will start but we have tried for three years to inject classes into themes using a plugin, because of old microformats this is difficult. We created a fork of CP and will see if we can remove mf and get mf2 in by plugin or if it requires stripping away old metadata...If folks are adding JSON-LD we can do both at same time.

James Nylen

As I said on Slack, perhaps a good first step for ClassicPress core would be to add actions and filters to make this easier. Happy to discuss further.

Greg McVerry

Perfect just navigating multiple Slack groups. Sorry I missed. @david shanske started... First step seeing if our current theme works with the CP flavor of 4.9.5...

Then we can look to filters. Will move discussion to Slack for dev/code and then if need be talk about issues and possible PRs