diff --git a/nodewords_basic/nodewords_basic.module b/nodewords_basic/nodewords_basic.module
index 22dcce3..06f5aa7 100644
--- a/nodewords_basic/nodewords_basic.module
+++ b/nodewords_basic/nodewords_basic.module
@@ -177,6 +177,22 @@ function nodewords_basic_abstract_prepare(&$tags, $content, $options) {
 }
 
 /**
+ * Implementation of hook_METATAG_settings_form().
+ */
+function nodewords_basic_canonical_settings_form(&$form, $form_id, $options) {
+  switch ($form_id) {
+    case 'nodewords_settings_form':
+      $form['metatags_creation']['nodewords_canonical_alias'] = array(
+        '#type' => 'checkbox',
+        '#title' => t('Canonical URL use path alias'),
+        '#description' => t('By default canonical URLs will use the internal Drupal path, e.g. "node/123" and "taxonomy/term/123".  Enabling this option will instead make the canonical URLs use the URL alias if one exists.'),
+        '#default_value' => variable_get('nodewords_canonical_alias', FALSE),
+      );
+      break;
+  }
+}
+
+/**
  * Set the form fields used to implement the options for the meta tag.
  */
 function nodewords_basic_canonical_form(&$form, $content, $options) {
@@ -246,6 +262,11 @@ function nodewords_basic_canonical_prepare(&$tags, $content, $options) {
     $content['value'] = drupal_substr($content['value'], 1);
   }
 
+  // Identify if a the URL alias should be used.
+  if (variable_get('nodewords_canonical_alias', FALSE)) {
+    $options['alias'] = FALSE;
+  }
+
   $tags['canonical'] = !empty($content['value']) ? check_url(nodewords_url($content['value'], $options)) : '';
 }
 
