diff --git a/usasearch.admin.inc b/usasearch.admin.inc
index a27c4b6..bdc04a0 100644
--- a/usasearch.admin.inc
+++ b/usasearch.admin.inc
@@ -51,6 +51,15 @@ function usasearch_admin() {
     '#description' => t('<strong>Only change this field if you have completed set up for a CNAME with DigitalGov Search and in your agency\'s external DNS records!</strong > This will change the search form action to submit search requests to the search domain entered . If you would like a domain mask for your search results page, but have not yet requested a CNAME be set up for your site, send a request to search@support . digitalgov . gov .'),
     '#required' => FALSE,
   );
+  $form['usasearch_alternate_baseurl'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Alternate indexing domain'),
+    '#default_value' => variable_get('usasearch_alternate_baseurl', ''),
+    '#size' => 30,
+    '#maxlength' => 50,
+    '#description' => t('If set, the value of this field will be used when assembling the path to which indexed records should refer.  This is useful in cases when you use a non-public edit domain and want to ensure that search records reference the public domain rather than the edit domain.'),
+    '#required' => FALSE,
+  );
   $form['usasearch_use_rules'] = array(
       '#type' => 'checkbox',
       '#title' => t('Use rules to index content'),
@@ -81,6 +90,15 @@ function usasearch_admin() {
 }
 
 /**
+ * Validate settings form.
+ */
+function usasearch_admin_validate($form, &$form_state){
+    if ($form_state['values']['usasearch_alternate_baseurl'] && !valid_url($form_state['values']['usasearch_alternate_baseurl'], TRUE)) {
+        form_set_error('usasearch_alternate_base_url', 'If set, the value of Alternate Indexing Domain must be a valid domain.');
+    }
+}
+
+/**
  * Get entity view modes.
  *
  * @param $entity_type
diff --git a/usasearch.install b/usasearch.install
index 8881e7d..20c02e8 100644
--- a/usasearch.install
+++ b/usasearch.install
@@ -19,6 +19,7 @@ function usasearch_update_1() {
 function usasearch_uninstall() {
   variable_del('usasearch_affiliate_name');
   variable_del('usasearch_action_domain');
+  variable_del('usasearch_alternate_baseurl');
   variable_del('usasearch_search_page');
   variable_del('usasearch_use_rules');
 }
diff --git a/usasearch_api/usasearch_api.module b/usasearch_api/usasearch_api.module
index c67a350..c228748 100644
--- a/usasearch_api/usasearch_api.module
+++ b/usasearch_api/usasearch_api.module
@@ -206,7 +206,14 @@ function usasearch_api_convert_node_to_document($node, $force = FALSE) {
     // Finish up as original user
     $user = $original_user;
     drupal_save_session($old_state);
-    $document->setPath(url(drupal_get_path_alias("node/{$node->nid}"), array('absolute' => TRUE)));
+
+    $urlOptions = array('absolute' => TRUE);
+
+    if ($alternateDomain = variable_get('usasearch_alternate_baseurl', FALSE)) {
+      $urlOptions['base_url'] = $alternateDomain;
+    }
+
+    $document->setPath(url(drupal_get_path_alias("node/{$node->nid}"), $urlOptions));
     $document->setCreated(date('c', $node->created));
     $document->setPromote((bool)$node->promote);
 
