More and more, HTML adds definitions to support typing data. Since HTML 5, there is the itemprop attribute defined the microdata specification. Although someone could use that feature abusively, it is likely that typing blocks of data will help your website being found as expected.
We want to look at the http://schema.org/ website in more details, but the basics would be to allow end users to enter data using structured forms that make use of a type for each data entry done.
For example, a form for a movie may include a title, the name of the director, the three main actors, and maybe the main musician. All of that data can be collected using a form so the system knows what is what and can type it appropriately. The schema used by the main search engines make use of a tree like definition similar to C++ classes and derivations. The base class is called Thing and is found here:
Starting from Thing you can find all the available definitions for addresses, companies, movies/videos, music, individuals, and much more.
There is another similar data scheme called microformat, which looks way more advanced and alive as of today. This format is pretty similar, only it uses classes to mark various parts. For example, a business card is defined with class="h-card".
One set of data that could be quite useful to our main users are business information such as location, office hours, contact phone numbers... For such we could also have a separate format, a bit like we offer RSS files, define a DTD with metadata that the site uses so systems do not need to use an HTML page to get the pertinent data.
Google has an answer about various Data Type schemes (rich snippets and structured data) that Google Robots support. Once implemented, we can test the Google understanding of such structures with this page:
https://search.google.com/structured-data/testing-tool
Another interesting feature from Google is the Google Product Feed as described here:
https://support.google.com/merchants/answer/188494?hl=en
You may need to be a registered merchant with Google, though. That should not prevent us from having such a feed because other systems may actually look for such and make use of the feed anyway.
Snap! Websites
An Open Source CMS System in C++