diff --git a/includes/uuid_node.features.inc b/includes/uuid_node.features.inc
index 17f931b..2cbaa46 100755
--- a/includes/uuid_node.features.inc
+++ b/includes/uuid_node.features.inc
@@ -10,18 +10,27 @@
 function uuid_node_features_export_options() {
   $options = array();
 
-  $types = node_type_get_names();
+  $types = variable_get('uuid_features_entity_node_types', array_keys(node_type_get_types()));
+  if (empty($types)) {
+    return $options;
+  }
+
+  $query = db_select('node', 'n');
+  $query->fields('n', array('nid', 'title', 'type', 'uuid'))
+    ->condition('type', $types)
+    ->orderBy('type')
+    ->orderBy('title');
+  $nodes = $query->execute()->fetchAll();
 
-  $query = 'SELECT n.nid, n.title, n.type, n.uuid
-    FROM {node} n ORDER BY n.type, n.title ASC';
-  $results = db_query($query);
-  foreach ($results as $node) {
+  foreach ($nodes as $node) {
     $options[$node->uuid] = t('@type: @title', array(
       '@type' => $types[$node->type],
       '@title' => $node->title,
     ));
   }
 
+  drupal_alter('uuid_node_features_export_options', $options);
+
   return $options;
 }
 
diff --git a/includes/uuid_term.features.inc b/includes/uuid_term.features.inc
index 40acb13..bf28d9c 100644
--- a/includes/uuid_term.features.inc
+++ b/includes/uuid_term.features.inc
@@ -10,15 +10,26 @@
 function uuid_term_features_export_options() {
   $options = array();
 
-  $query = 'SELECT t.tid, t.name, v.name AS vname, t.uuid
-    FROM {taxonomy_term_data} t
-    INNER JOIN {taxonomy_vocabulary} v ON t.vid = v.vid
-    ORDER BY v.name ASC, t.name ASC';
-  $results = db_query($query);
+  $vocabs = variable_get('uuid_features_entity_taxonomy_term_vocabularies', array_keys(taxonomy_vocabulary_get_names()));
+  if (empty($vocabs)) {
+    return $options;
+  }
+
+  $query = db_select('taxonomy_term_data', 't');
+  $query->innerJoin('taxonomy_vocabulary', 'v', 't.vid = v.vid');
+  $query->condition('v.machine_name', $vocabs)
+    ->fields('t', array('tid', 'name', 'uuid'))
+    ->addField('v', 'name', 'vname');
+  $query->orderBy('v.name', 'ASC');
+  $query->orderBy('t.name', 'ASC');
+  $results = $query->execute()->fetchAll();
+
   foreach ($results as $term) {
     $options[$term->uuid] = $term->vname . ' - ' . $term->name;
   }
 
+  drupal_alter('uuid_term_features_export_options', $options);
+
   return $options;
 }
 
diff --git a/uuid_features.module b/uuid_features.module
index 1ac359c..26ff3b9 100644
--- a/uuid_features.module
+++ b/uuid_features.module
@@ -96,6 +96,22 @@ function uuid_features_settings($form, &$form_state) {
     }
   }
 
+  $form['entity']['uuid_features_entity_node_types'] = array(
+    '#type' => 'checkboxes',
+    '#title' => t('Exportable node types'),
+    '#description' => t('Which content types should be exportable?'),
+    '#default_value' => variable_get('uuid_features_entity_node_types', array()),
+    '#options' => $bundles['node'],
+  );
+
+  $form['entity']['uuid_features_entity_taxonomy_term_vocabularies'] = array(
+    '#type' => 'checkboxes',
+    '#title' => t('Exportable term vocabularies'),
+    '#description' => t("Which taxonomy vocabulary's terms should be exportable?"),
+    '#default_value' => variable_get('uuid_features_entity_taxonomy_term_vocabularies', array()),
+    '#options' => $bundles['taxonomy_term'],
+  );
+
   $form['file']['uuid_features_file_node_types'] = array(
     '#type' => 'checkboxes',
     '#title' => t('Files exported for nodes'),
