diff --git a/fivestar.microdata.inc b/fivestar.microdata.inc
new file mode 100644
index 0000000..ec30998
--- /dev/null
+++ b/fivestar.microdata.inc
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * @file
+ * Provides integration with microdata module.
+ *
+ * Note that some integration takes place in hook_field_info and in field
+ * formatters.
+ */
+
+/**
+ * Implements hook_microdata_suggestions().
+ */
+function fivestar_microdata_suggestions() {
+  $mappings = array();
+
+  // Add the review mapping for Schema.org
+  $mappings['fields']['fivestar']['schema.org'] = array(
+    '#itemprop' => array('aggregateRating'),
+    '#itemtype' => array('http://schema.org/AggregateRating'),
+    'average_rating' => array(
+      '#itemprop' => array('ratingValue'),
+    ),
+  );
+
+  return $mappings;
+}
\ No newline at end of file
diff --git a/includes/fivestar.field.inc b/includes/fivestar.field.inc
index e34d8bd..cc2a580 100644
--- a/includes/fivestar.field.inc
+++ b/includes/fivestar.field.inc
@@ -734,28 +734,3 @@ function fivestar_property_info_callback(&$info, $entity_type, $field, $instance
     ),
   );
 }
-
-/**
- * Implements hook_microdata_field_defaults.
- *
- * Sets default mappings for different vocabularies; for example, schema.org.
- * This enables fields to provide mappings for different use cases.
- */
-function fivestar_microdata_field_defaults() {
-  $field_settings = array();
-
-  // Add the vocabulary terms that are used to describe the data. Multiple
-  // schemes can be defined, allowing the user to choose which mapping to use.
-  // The array key is used to choose which mapping to use in the field instance
-  // settings form.
-  $field_settings['default_mappings']['schema.org'] = array(
-    '#itemprop'    => array('aggregateRating'),
-    '#itemtype'    => 'http://schema.org/AggregateRating',
-    'average_rating' => array(
-      '#itemprop' => array('ratingValue'),
-    ),
-  );
-
-  return $field_settings;
-
-}
