diff --git a/src/main/org/freemarker/docgen/Transform.java b/src/main/org/freemarker/docgen/Transform.java
index 0f434cf..54e2e56 100644
--- a/src/main/org/freemarker/docgen/Transform.java
+++ b/src/main/org/freemarker/docgen/Transform.java
@@ -114,7 +114,8 @@
  *            If it was already specified via {@link #setOffline(Boolean)}, then
  *            that has priority. If it wasn't specified via {@link #setOffline(Boolean)},
  *            then it's mandatory to set.
- *
+ *         <li><p><tt>deployUrl</tt> (string): Url the page is deployed to (used
+ *            for canonical urls)
  *         <li><p><tt>olinks</tt> (map):
  *            Maps <tt>olink</tt> <tt>targetdoc</tt> attribute values to
  *            actual URL-s.
@@ -346,6 +347,7 @@
 
     static final String SETTING_VALIDATION = "validation";
     static final String SETTING_OFFLINE = "offline";
+    static final String SETTING_DEPLOY_URL = "deployUrl";
     static final String SETTING_ONLINE_TRACKER_HTML = "onlineTrackerHTML";
     static final String SETTING_INTERNAL_BOOKMARKS = "internalBookmarks";
     static final String SETTING_EXTERNAL_BOOKMARKS = "externalBookmarks";
@@ -389,6 +391,8 @@
 
     private static final String VAR_OFFLINE
             = SETTING_OFFLINE;
+    private static final String VAR_DEPLOY_URL
+            = SETTING_DEPLOY_URL;
     private static final String VAR_ONLINE_TRACKER_HTML
             = SETTING_ONLINE_TRACKER_HTML;
     private static final String VAR_SHOW_EDITORAL_NOTES
@@ -542,6 +546,8 @@
 
     private Boolean offline;
 
+    private String deployUrl;
+
     private String onlineTrackerHTML;
 
     /** Element types for which a new output file is created  */
@@ -793,6 +799,8 @@
                     if (offline == null) {  // Ignore if the caller has already set this
                         offline = itIsABooleanSetting(cfgFile, settingName, settingValue);
                     }
+                } else if (settingName.equals(SETTING_DEPLOY_URL)) {
+                    deployUrl = itIsAStringSetting(cfgFile, settingName, settingValue);
                 } else if (settingName.equals(SETTING_ONLINE_TRACKER_HTML)) {
                     String onlineTrackerHtmlPath = itIsAStringSetting(cfgFile, settingName, settingValue);
                     File f = new File(getSourceDirectory(), onlineTrackerHtmlPath);
@@ -1035,6 +1043,8 @@
             fmConfig.setSharedVariable(
                     VAR_OFFLINE, offline);
             fmConfig.setSharedVariable(
+                    VAR_DEPLOY_URL, deployUrl);                    
+            fmConfig.setSharedVariable(
                     VAR_ONLINE_TRACKER_HTML, onlineTrackerHTML);
             fmConfig.setSharedVariable(
                     VAR_SHOW_EDITORAL_NOTES, showEditoralNotes);
diff --git a/src/main/org/freemarker/docgen/templates/page.ftl b/src/main/org/freemarker/docgen/templates/page.ftl
index 6e0656c..291728c 100644
--- a/src/main/org/freemarker/docgen/templates/page.ftl
+++ b/src/main/org/freemarker/docgen/templates/page.ftl
@@ -35,9 +35,11 @@
   <#if nodeId == "autoid_1">
     <#assign nodeId = "index">
   </#if>
-  <#assign canonicalUrl = "http://freemarker.org/docs/${nodeId}.html"><#-- @todo: remove hard-coded domain -->
-  <meta property="og:url" content="${canonicalUrl}">
-  <link rel="canoical" href="${canonicalUrl}">
+  <#if deployUrl??>
+    <#assign canonicalUrl = "${deployUrl + nodeId}.html">
+    <meta property="og:url" content="${canonicalUrl}">
+    <link rel="canoical" href="${canonicalUrl}">
+  </#if>
 
   <!--[if gt IE 9]><!-->
   <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400|Droid+Sans+Mono">
