What is On-Page SEO?
It starts at <html> and ends at </html> and covers everything inbetween.
For many, On-Page SEO is focusing on <title>, META Description and <h> Elements, a simple process that when done properly used to produce respectable results and in many instances, still do. But, we've come a long way from optimizing a few HTML Elements.
Did you know that HTML5 has 108 HTML Elements and a host of Attributes that can be applied to those Elements?
Did you know that Microdata has 300+ Schemas/Types that can be applied to many of those HTML Elements?
Did you know that HTML5 has Elements to define the navigational structure of the document? e.g. <aside>, <footer>, <nav>
Did you know that Microdata has Schemas to further define the navigational structure of the document? e.g. http://schema.org/WebPageElement
Here is what many would typically do when formatting (visually optimizing) an address for a business, I'll use Google's address as an example... 20th Century On-Page SEO
21st Century On-Page SEO
1600 Amphitheatre Pkwy<br>
Mountain View CA 94043-1351 US</p>
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<span itemprop="name">Google Inc</span><br>
<span itemprop="streetAddress">1600 Amphitheatre Pkwy</span><br>
<span itemprop="addressLocality">Mountain View</span>
As you can see, today's On-Page SEO is not what it used to be, not for me anyway. Ya, I know, "there are sites ranking very well who don't use all of that." And they will most likely continue to rank due to other reasons. That shouldn't stop YOU from retrofitting existing HTML markup and strengthening the semantic signals you're sending. Who knows, you may be able to nudge your way up a spot or two and/or lock in those top positions you currently enjoy.
I look at each document individually. Once you've optimized your navigational elements which are normally reused on x number of documents, now you have your primary content to optimize, the stuff that really counts. That content can contain basic HTML Elements and Attributes or it can be micro-optimized using HTML5 along with Microdata.
Every primary HTML Element you are used to working with has the potential to be micro-optimized. For example, you may have a product name in an <h2> element... 20th Century On-Page SEO
<h2>2010 Dodge Challenger SRT8</h2>
If we optimize further, using Microdata, it would look like this... 21st Century On-Page SEO
<div itemscope itemtype="http://schema.org/Product">
<h2 itemprop="name">2010 Dodge Challenger SRT8</h2>
You can learn more about On-Page SEO from a different perspective here... 6. HTML elements
The complete set of HTML elements is the set of elements described in the following sections.
...] 3.2.1 Semantics
Elements, attributes, and attribute values in HTML are defined (by this specification) to have certain meanings (semantics). Authors must not use elements, attributes, or attribute values for purposes other than their appropriate intended semantic purpose.
...] 3.2.5 Content Models
Each element defined in this specification has a content model: a description of the element's expected contents. An HTML element must have contents that match the requirements described in the element's content model.
Start thinking about programmatically determinable content and machine readable grammar.
Information, structure, and relationships conveyed through presentation can be programmatically determined.
^ Programmatically referring to that which occurs in the HTML markup. There are a whole bunch of SEOs who won't go there - that's forbidden territory. ;)