diff --git a/src/main/java/org/codelibs/fess/crawler/transformer/AbstractFessFileTransformer.java b/src/main/java/org/codelibs/fess/crawler/transformer/AbstractFessFileTransformer.java
index cc1d5aeb96b76de1233f625399df8ca65341407f..effddedc2ccf62ea88089f4cc4ed7c3d7e4ccf2f 100644
--- a/src/main/java/org/codelibs/fess/crawler/transformer/AbstractFessFileTransformer.java
+++ b/src/main/java/org/codelibs/fess/crawler/transformer/AbstractFessFileTransformer.java
@@ -472,6 +472,9 @@ public abstract class AbstractFessFileTransformer extends AbstractTransformer im
                 // Unix
                 return abbreviateSite(value);
             }
+        } else if (url.startsWith("smb:") || url.startsWith("smb1:")) {
+            final String value = url.replaceFirst("^smb.?:/+", StringUtil.EMPTY);
+            return abbreviateSite("\\\\" + value.replace('/', '\\'));
         }
 
         return getSite(url, encoding);
diff --git a/src/main/java/org/codelibs/fess/helper/ViewHelper.java b/src/main/java/org/codelibs/fess/helper/ViewHelper.java
index 01045b7c9d9ecf7f668ea3ba9c39d2653180245d..b10188b9e7d5cdc1cf9b9c7b39f4e21172316b4e 100644
--- a/src/main/java/org/codelibs/fess/helper/ViewHelper.java
+++ b/src/main/java/org/codelibs/fess/helper/ViewHelper.java
@@ -605,6 +605,16 @@ public class ViewHelper {
 
     public Object getSitePath(final Map<String, Object> docMap) {
         final FessConfig fessConfig = ComponentUtil.getFessConfig();
+        final Object siteValue = docMap.get(fessConfig.getIndexFieldSite());
+        if (siteValue != null) {
+            final String site = siteValue.toString();
+            final int size = fessConfig.getResponseMaxSitePathLengthAsInteger();
+            if (size > -1) {
+                return StringUtils.abbreviate(site, size);
+            } else {
+                return site;
+            }
+        }
         final Object urlLink = docMap.get(fessConfig.getResponseFieldUrlLink());
         if (urlLink != null) {
             final String returnUrl;
diff --git a/src/test/java/org/codelibs/fess/crawler/transformer/FessFileTransformerTest.java b/src/test/java/org/codelibs/fess/crawler/transformer/FessFileTransformerTest.java
index e4f36783309f1c2973d6eae497dd6639c5400282..e09fadd9ac098bc37d4eab2a7351abaa7dbb40be 100644
--- a/src/test/java/org/codelibs/fess/crawler/transformer/FessFileTransformerTest.java
+++ b/src/test/java/org/codelibs/fess/crawler/transformer/FessFileTransformerTest.java
@@ -198,6 +198,18 @@ public class FessFileTransformerTest extends UnitFessTestCase {
         url = "file:////server/user";
         exp = "\\\\server\\user";
         assertEquals(exp, transformer.getSiteOnFile(url, "UTF-8"));
+
+        url = "smb://server/user";
+        exp = "\\\\server\\user";
+        assertEquals(exp, transformer.getSiteOnFile(url, "UTF-8"));
+
+        url = "smb1://server/user";
+        exp = "\\\\server\\user";
+        assertEquals(exp, transformer.getSiteOnFile(url, "UTF-8"));
+
+        url = "ftp://example.com/file";
+        exp = "example.com/file";
+        assertEquals(exp, transformer.getSiteOnFile(url, "UTF-8"));
     }
 
     public void test_getSite_ok_len10() {