diff --git a/module/VuFind/src/VuFind/Controller/AbstractSearch.php b/module/VuFind/src/VuFind/Controller/AbstractSearch.php
index 04e85712991bfb578fed3d6f1f0f7dbf6d0d3c67..71b5453871ca0dac0cfbe61b51a98644be17d044 100644
--- a/module/VuFind/src/VuFind/Controller/AbstractSearch.php
+++ b/module/VuFind/src/VuFind/Controller/AbstractSearch.php
@@ -122,7 +122,7 @@ class AbstractSearch extends AbstractBase
             // (We want all searches to be persistent and bookmarkable).
             $details = $savedSearch->getOptions()->getSearchAction();
             $url = $this->url()->fromRoute($details);
-            $url .= $savedSearch->getUrl()->getParams(false);
+            $url .= $savedSearch->getUrlQuery()->getParams(false);
             return $this->redirect()->toUrl($url);
         } else {
             // They don't
@@ -181,7 +181,7 @@ class AbstractSearch extends AbstractBase
             if ($this->rememberSearch) {
                 $searchUrl = $this->url()->fromRoute(
                     $results->getOptions()->getSearchAction()
-                ) . $results->getUrl()->getParams(false);
+                ) . $results->getUrlQuery()->getParams(false);
                 Memory::rememberSearch($searchUrl);
             }
 
diff --git a/module/VuFind/src/VuFind/Controller/AjaxController.php b/module/VuFind/src/VuFind/Controller/AjaxController.php
index 2e0008ea1a061465f43693b108220128410ee96b..47bd55461934a7a9c3ce96eb8608ace4d986ac3a 100644
--- a/module/VuFind/src/VuFind/Controller/AjaxController.php
+++ b/module/VuFind/src/VuFind/Controller/AjaxController.php
@@ -714,7 +714,7 @@ class AjaxController extends AbstractBase
                 'results' => $results,
                 'recordSet' => $results->getResults(),
                 'recordCount' => $results->getResultTotal(),
-                'completeListUrl' => $results->getUrl()->getParams()
+                'completeListUrl' => $results->getUrlQuery()->getParams()
             )
         );
     }
@@ -743,7 +743,7 @@ class AjaxController extends AbstractBase
             $facets[$field]['min'] = $val[0] > 0 ? $val[0] : 0;
             $facets[$field]['max'] = $val[1] > 0 ? $val[1] : 0;
             $facets[$field]['removalURL']
-                = $results->getUrl()->removeFacet(
+                = $results->getUrlQuery()->removeFacet(
                     $field,
                     isset($filters[$field][0]) ? $filters[$field][0] : null,
                     false
diff --git a/module/VuFind/src/VuFind/Controller/Plugin/ResultScroller.php b/module/VuFind/src/VuFind/Controller/Plugin/ResultScroller.php
index 577e333ad30e5cee3c2d7b38408c257979cdebe9..67ac9759e872a28e802f615ae5aa7eaa8daa0e5d 100644
--- a/module/VuFind/src/VuFind/Controller/Plugin/ResultScroller.php
+++ b/module/VuFind/src/VuFind/Controller/Plugin/ResultScroller.php
@@ -356,7 +356,7 @@ class ResultScroller extends AbstractPlugin
             $search->getOptions()->getSearchAction()
         );
         Memory::rememberSearch(
-            $baseUrl . $search->getUrl()->getParams(false)
+            $baseUrl . $search->getUrlQuery()->getParams(false)
         );
     }
 }
diff --git a/module/VuFind/src/VuFind/Controller/SearchController.php b/module/VuFind/src/VuFind/Controller/SearchController.php
index 68d98b11ab063195846a04bf29bf79adf52ee000..7139ae03b7c32b4e743c48e154f8eb9cc4650181 100644
--- a/module/VuFind/src/VuFind/Controller/SearchController.php
+++ b/module/VuFind/src/VuFind/Controller/SearchController.php
@@ -385,7 +385,7 @@ class SearchController extends AbstractSearch
         $view = $this->resultsAction();
 
         // Customize the URL helper to make sure it builds proper reserves URLs:
-        $url = $view->results->getUrl();
+        $url = $view->results->getUrlQuery();
         $url->setDefaultParameter('range', $range);
         $url->setDefaultParameter('department', $dept);
 
@@ -481,7 +481,7 @@ class SearchController extends AbstractSearch
         }
 
         // Customize the URL helper to make sure it builds proper reserves URLs:
-        $url = $view->results->getUrl();
+        $url = $view->results->getUrlQuery();
         $url->setDefaultParameter('course', $course);
         $url->setDefaultParameter('inst', $inst);
         $url->setDefaultParameter('dept', $dept);
diff --git a/module/VuFind/src/VuFind/Db/Table/Search.php b/module/VuFind/src/VuFind/Db/Table/Search.php
index e48e499d7d25ffbc8cd824399e7d32f66d210a27..63a11b27b82350d9da5233f6b6990884261612ae 100644
--- a/module/VuFind/src/VuFind/Db/Table/Search.php
+++ b/module/VuFind/src/VuFind/Db/Table/Search.php
@@ -162,8 +162,8 @@ class Search extends Gateway
             );
             $dupSearch = $minSO->deminify();
             // See if the classes and urls match
-            $oldUrl = $dupSearch->getUrl()->getParams();
-            $newUrl = $newSearch->getUrl()->getParams();
+            $oldUrl = $dupSearch->getUrlQuery()->getParams();
+            $newUrl = $newSearch->getUrlQuery()->getParams();
             if (get_class($dupSearch) == get_class($newSearch)
                 && $oldUrl == $newUrl
             ) {
diff --git a/module/VuFind/src/VuFind/Recommend/PubDateVisAjax.php b/module/VuFind/src/VuFind/Recommend/PubDateVisAjax.php
index 0fcf809af24ff82ba37d78989b5d999306282848..c952267799ee64a8dc47afd2051cfdb5bdf919d3 100644
--- a/module/VuFind/src/VuFind/Recommend/PubDateVisAjax.php
+++ b/module/VuFind/src/VuFind/Recommend/PubDateVisAjax.php
@@ -153,7 +153,7 @@ class PubDateVisAjax implements RecommendInterface
     public function getSearchParams()
     {
         // Get search parameters and return them minus the leading ?:
-        return substr($this->searchObject->getUrl()->getParams(false), 1);
+        return substr($this->searchObject->getUrlQuery()->getParams(false), 1);
     }
 
     /**
diff --git a/module/VuFind/src/VuFind/Recommend/ResultGoogleMapAjax.php b/module/VuFind/src/VuFind/Recommend/ResultGoogleMapAjax.php
index a113fdb34af931fde963e60ff3ad4478d0e1c24d..ec4879b65f21ed0ed4669431a997500d60ca1c4f 100644
--- a/module/VuFind/src/VuFind/Recommend/ResultGoogleMapAjax.php
+++ b/module/VuFind/src/VuFind/Recommend/ResultGoogleMapAjax.php
@@ -112,6 +112,6 @@ class ResultGoogleMapAjax implements RecommendInterface
     public function getSearchParams()
     {
         // Get search parameters and return them minus the leading ?:
-        return substr($this->searchObject->getUrl()->getParams(false), 1);
+        return substr($this->searchObject->getUrlQuery()->getParams(false), 1);
     }
 }
\ No newline at end of file
diff --git a/module/VuFind/src/VuFind/Search/Base/Results.php b/module/VuFind/src/VuFind/Search/Base/Results.php
index 749a8131c98146440d563f55f7ca408a5900ca1f..45090cb86b734c7c5bcad07ff06a439563e080c0 100644
--- a/module/VuFind/src/VuFind/Search/Base/Results.php
+++ b/module/VuFind/src/VuFind/Search/Base/Results.php
@@ -122,13 +122,13 @@ abstract class Results
      *
      * @return UrlHelper
      */
-    public function getUrl()
+    public function getUrlQuery()
     {
         // Set up URL helper:
-        if (!isset($this->helpers['url'])) {
-            $this->helpers['url'] = new UrlHelper($this);
+        if (!isset($this->helpers['urlQuery'])) {
+            $this->helpers['urlQuery'] = new UrlQueryHelper($this);
         }
-        return $this->helpers['url'];
+        return $this->helpers['urlQuery'];
     }
 
     /**
diff --git a/module/VuFind/src/VuFind/Search/SolrAuthor/Results.php b/module/VuFind/src/VuFind/Search/SolrAuthor/Results.php
index d1b6ba4988a773c1ece310210c817a373572e8ad..aac2e66a7b2bebfc2e8e3de41f141aefe3ae9a58 100644
--- a/module/VuFind/src/VuFind/Search/SolrAuthor/Results.php
+++ b/module/VuFind/src/VuFind/Search/SolrAuthor/Results.php
@@ -52,7 +52,7 @@ class Results extends SolrResults
         parent::__construct($params);
 
         // Set up URL helper to use appropriate search parameter:
-        $this->getUrl()->setBasicSearchParam('author');
+        $this->getUrlQuery()->setBasicSearchParam('author');
     }
 
     /**
diff --git a/module/VuFind/src/VuFind/Search/UrlHelper.php b/module/VuFind/src/VuFind/Search/UrlQueryHelper.php
similarity index 99%
rename from module/VuFind/src/VuFind/Search/UrlHelper.php
rename to module/VuFind/src/VuFind/Search/UrlQueryHelper.php
index ba4b44e117a25bbc60cc7ff1c7134d7855ef55ff..634577d9ea0dff9674619a90618490d817aeee97 100644
--- a/module/VuFind/src/VuFind/Search/UrlHelper.php
+++ b/module/VuFind/src/VuFind/Search/UrlQueryHelper.php
@@ -36,7 +36,7 @@ namespace VuFind\Search;
  * @license  http://opensource.org/licenses/gpl-2.0.php GNU General Public License
  * @link     http://vufind.org   Main Site
  */
-class UrlHelper
+class UrlQueryHelper
 {
     protected $results;
     protected $basicSearchParam = 'lookfor';
diff --git a/module/VuFind/src/VuFind/Theme/Blueprint/Helper/Search.php b/module/VuFind/src/VuFind/Theme/Blueprint/Helper/Search.php
index 5448cfba2d98386e374d3687ea340c9ce983c15f..ad6d1891cc4155061d98fa199e097a1fdfc1355e 100644
--- a/module/VuFind/src/VuFind/Theme/Blueprint/Helper/Search.php
+++ b/module/VuFind/src/VuFind/Theme/Blueprint/Helper/Search.php
@@ -63,12 +63,12 @@ class Search extends AbstractHelper
                     $html .= ', ';
                 }
                 $html .= '<a href="'
-                    . $this->view->results->getUrl()
+                    . $this->view->results->getUrlQuery()
                         ->replaceTerm($term, $data['new_term'])
                     . '">' . $this->view->escapeHtml($word) . '</a>';
                 if (isset($data['expand_term']) && !empty($data['expand_term'])) {
                     $html .= '<a href="'
-                        . $this->view->results->getUrl()
+                        . $this->view->results->getUrlQuery()
                             ->replaceTerm($term, $data['expand_term'])
                         . '"><img src="' . $this->view->imageLink('silk/expand.png')
                         . '" alt="' . $this->view->transEsc('spell_expand_alt')
diff --git a/module/VuFind/src/VuFind/Theme/Root/Helper/ResultFeed.php b/module/VuFind/src/VuFind/Theme/Root/Helper/ResultFeed.php
index 881672dc64d90c13e42e7a2ac4445a25ce697bf5..6e05433108095c45ce8c357ac574843fa930ef65 100644
--- a/module/VuFind/src/VuFind/Theme/Root/Helper/ResultFeed.php
+++ b/module/VuFind/src/VuFind/Theme/Root/Helper/ResultFeed.php
@@ -112,9 +112,11 @@ class ResultFeed extends AbstractHelper
             $translator('Results for') . ' '
             . $results->getParams()->getDisplayQuery()
         );
-        $feed->setLink($baseUrl . $results->getUrl()->setViewParam(null, false));
+        $feed->setLink(
+            $baseUrl . $results->getUrlQuery()->setViewParam(null, false)
+        );
         $feed->setFeedLink(
-            $baseUrl . $results->getUrl()->getParams(false),
+            $baseUrl . $results->getUrlQuery()->getParams(false),
             $results->getParams()->getView()
         );
 
diff --git a/module/VuFind/src/VuFind/Theme/Root/Helper/SortFacetList.php b/module/VuFind/src/VuFind/Theme/Root/Helper/SortFacetList.php
index cc1ab1de2ca59cf4003bf9ff10215ff9a0c2efe5..4867306bc92a73728559b48fe10b14d9308d86cf 100644
--- a/module/VuFind/src/VuFind/Theme/Root/Helper/SortFacetList.php
+++ b/module/VuFind/src/VuFind/Theme/Root/Helper/SortFacetList.php
@@ -60,7 +60,7 @@ class SortFacetList extends AbstractHelper
         $urlHelper = $this->getView()->plugin('url');
         foreach ($list as $value) {
             $url = $urlHelper($searchRoute)
-                . $results->getUrl()->addFacet($field, $value['value']);
+                . $results->getUrlQuery()->addFacet($field, $value['value']);
             $facets[$url] = $value['displayText'];
         }
         natcasesort($facets);
diff --git a/themes/blueprint/templates/Recommend/AuthorityRecommend.phtml b/themes/blueprint/templates/Recommend/AuthorityRecommend.phtml
index 4b56a3ab4668ca00bc2967881cfeb5c25c20591c..d8dabd54d18f56543baa13dfb412d74c3bdd6442 100644
--- a/themes/blueprint/templates/Recommend/AuthorityRecommend.phtml
+++ b/themes/blueprint/templates/Recommend/AuthorityRecommend.phtml
@@ -6,7 +6,7 @@
         <?
             // Generate a new search URL that replaces the user's current term with the authority term:
             $url = $this->url($this->results->getOptions()->getSearchAction())
-                . $this->results->getUrl()->replaceTerm($this->results->getParams()->getDisplayQuery(), $data[$i]['heading']);
+                . $this->results->getUrlQuery()->replaceTerm($this->results->getParams()->getDisplayQuery(), $data[$i]['heading']);
         ?>
         <a href="<?=$url?>"><?=$this->escapeHtml($data[$i]['heading'])?></a><? if ($i != count($data) - 1): ?>, <? endif; ?>
       <? endfor; ?>
diff --git a/themes/blueprint/templates/Recommend/CatalogResults.phtml b/themes/blueprint/templates/Recommend/CatalogResults.phtml
index e4078e47953c80b8c48596894eea8259cb9b0f51..fbd0863666b97003fe0bbccc759ad005fc3345fe 100644
--- a/themes/blueprint/templates/Recommend/CatalogResults.phtml
+++ b/themes/blueprint/templates/Recommend/CatalogResults.phtml
@@ -35,6 +35,6 @@
     </li>
     <? endforeach; ?>
   </ul>
-  <p><a href="<?=$this->url($searchObject->getOptions()->getSearchAction()) . $searchObject->getUrl()->setLimit($searchObject->getOptions()->getDefaultLimit())?>"><?=$this->transEsc('More catalog results')?>...</a></p>
+  <p><a href="<?=$this->url($searchObject->getOptions()->getSearchAction()) . $searchObject->getUrlQuery()->setLimit($searchObject->getOptions()->getDefaultLimit())?>"><?=$this->transEsc('More catalog results')?>...</a></p>
 </div>
 <? endif ?>
\ No newline at end of file
diff --git a/themes/blueprint/templates/Recommend/ExpandFacets.phtml b/themes/blueprint/templates/Recommend/ExpandFacets.phtml
index 6a8685667dac0fdf639cd1685a923cf52023c8ed..f2271ade1289ec0cdc30a2fa5bd4cec5a65d9651 100644
--- a/themes/blueprint/templates/Recommend/ExpandFacets.phtml
+++ b/themes/blueprint/templates/Recommend/ExpandFacets.phtml
@@ -9,7 +9,7 @@
     <h4><?=$this->translate($cluster['label']) ?></h4>
     <ul class="bulleted">
   <? foreach ($cluster['list'] as $thisFacet): ?>
-    <li><a href="<?=$this->url('search-results') . $blankResults->getUrl()->addFacet($title, $thisFacet['value'])?>"><?=$this->escapeHtml($thisFacet['displayText'])?></a></li>
+    <li><a href="<?=$this->url('search-results') . $blankResults->getUrlQuery()->addFacet($title, $thisFacet['value'])?>"><?=$this->escapeHtml($thisFacet['displayText'])?></a></li>
   <? endforeach; ?>
     </ul>
  <? endforeach; ?>
diff --git a/themes/blueprint/templates/Recommend/FavoriteFacets.phtml b/themes/blueprint/templates/Recommend/FavoriteFacets.phtml
index f2454e52e13666249df27137e2817e53a9e9e3a0..3ca5f5e814ba35d7945e496d2810b0f84384b37b 100644
--- a/themes/blueprint/templates/Recommend/FavoriteFacets.phtml
+++ b/themes/blueprint/templates/Recommend/FavoriteFacets.phtml
@@ -29,7 +29,7 @@
         <ul class="filters">
         <? $field = $sideFacetSet['tags']['label'];
            foreach ($tagFilterList as $filter): ?>
-          <? $removeLink = $this->currentPath().$this->results->getUrl()->removeFacet($filter['field'], $filter['value']); ?>
+          <? $removeLink = $this->currentPath().$this->results->getUrlQuery()->removeFacet($filter['field'], $filter['value']); ?>
           <li>
             <a href="<?=$removeLink?>"><img src="<?=$this->imageLink('silk/delete.png')?>" alt="<?=$this->transEsc('Delete') ?>"/></a>
             <a href="<?=$removeLink?>"><?=$this->transEsc($field)?>: <?=$this->escapeHtml($filter['displayText'])?></a>
@@ -43,7 +43,7 @@
           <? if ($thisFacet['isApplied']): ?>
             <?=$this->escapeHtml($thisFacet['displayText'])?> <img src="<?=$this->imageLink('silk/tick.png')?>" alt="<?=$this->transEsc('Selected') ?>"/>
           <? else: ?>
-            <a href="<?=$this->currentPath().$this->results->getUrl()->addFacet('tags', $thisFacet['value'])?>"><?=$this->escapeHtml($thisFacet['displayText'])?></a> (<?=$this->escapeHtml($thisFacet['count'])?>)
+            <a href="<?=$this->currentPath().$this->results->getUrlQuery()->addFacet('tags', $thisFacet['value'])?>"><?=$this->escapeHtml($thisFacet['displayText'])?></a> (<?=$this->escapeHtml($thisFacet['count'])?>)
           <? endif; ?>
           </li>
         <? endforeach; ?>
diff --git a/themes/blueprint/templates/Recommend/SideFacets.phtml b/themes/blueprint/templates/Recommend/SideFacets.phtml
index 68615198c0af96502331f42bafd81c8d2cde4759..05c969d175c7394155df961e66961c53efd00893 100644
--- a/themes/blueprint/templates/Recommend/SideFacets.phtml
+++ b/themes/blueprint/templates/Recommend/SideFacets.phtml
@@ -5,7 +5,7 @@
         <div class="checkboxFilter<?=($this->results->getResultTotal() < 1 && !$current['selected'] && !$current['alwaysVisible']) ? ' hide' : ''?>">
           <input type="checkbox" name="filter[]" value="<?=$this->escapeHtml($current['filter'])?>"
             <?=$current['selected'] ? 'checked="checked"' : ''?> id="<?=$this->escapeHtml(str_replace(' ', '', $current['desc']))?>"
-            onclick="document.location.href='<?=$current['selected'] ? $this->results->getUrl()->removeFilter($current['filter']) : $this->results->getUrl()->addFilter($current['filter'])?>';" />
+            onclick="document.location.href='<?=$current['selected'] ? $this->results->getUrlQuery()->removeFilter($current['filter']) : $this->results->getUrlQuery()->addFilter($current['filter'])?>';" />
           <label for="<?=$this->escapeHtml(str_replace(' ', '', $current['desc']))?>"><?=$this->transEsc($current['desc'])?></label>
         </div>
     <? endforeach; ?>
@@ -16,7 +16,7 @@
     <? foreach ($filterList as $field => $filters): ?>
       <? foreach ($filters as $filter): ?>
         <?
-            $removeLink = $this->currentPath().$this->results->getUrl()->removeFacet($filter['field'], $filter['value']);
+            $removeLink = $this->currentPath().$this->results->getUrlQuery()->removeFacet($filter['field'], $filter['value']);
             if ($filter['displayText'] == '[* TO *]') $filter['displayText'] = $this->translate('filter_wildcard');
         ?>
         <li>
@@ -33,7 +33,7 @@
       <? if (isset($dateFacets[$title])): ?>
         <? /* Load the publication date slider UI widget */ $this->headScript()->appendFile('pubdate_slider.js'); ?>
         <form action="" name="<?=$this->escapeHtml($title)?>Filter" id="<?=$this->escapeHtml($title)?>Filter">
-          <?=$this->results->getUrl()->asHiddenFields(array('filter' => "/^{$title}:.*/"))?>
+          <?=$this->results->getUrlQuery()->asHiddenFields(array('filter' => "/^{$title}:.*/"))?>
           <input type="hidden" name="daterange[]" value="<?=$this->escapeHtml($title)?>"/>
           <fieldset class="publishDateLimit" id="<?=$this->escapeHtml($title)?>">
             <legend><?=$this->transEsc($cluster['label'])?></legend>
@@ -57,7 +57,7 @@
             <? if ($thisFacet['isApplied']): ?>
               <dd><?=$this->escapeHtml($thisFacet['displayText'])?> <img src="<?=$this->imageLink('silk/tick.png')?>" alt="Selected"/></dd>
             <? else: ?>
-              <dd><a href="<?=$this->currentPath().$this->results->getUrl()->addFacet($title, $thisFacet['value'])?>"><?=$this->escapeHtml($thisFacet['displayText'])?></a> (<?=$this->escapeHtml($thisFacet['count'])?>)</dd>
+              <dd><a href="<?=$this->currentPath().$this->results->getUrlQuery()->addFacet($title, $thisFacet['value'])?>"><?=$this->escapeHtml($thisFacet['displayText'])?></a> (<?=$this->escapeHtml($thisFacet['count'])?>)</dd>
             <? endif; ?>
           <? endforeach; ?>
           <? if ($i > 5): ?><dd><a href="#" onclick="lessFacets('<?=$this->escapeHtml($title)?>'); return false;"><?=$this->transEsc('less')?> ...</a></dd><? endif; ?>
diff --git a/themes/blueprint/templates/Recommend/SummonResults.phtml b/themes/blueprint/templates/Recommend/SummonResults.phtml
index cd9df8c9197afd689ce90343ed54231b8e278a62..585bb2327269562bc8f4a585582d64a35ef630d2 100644
--- a/themes/blueprint/templates/Recommend/SummonResults.phtml
+++ b/themes/blueprint/templates/Recommend/SummonResults.phtml
@@ -34,6 +34,6 @@
     </li>
     <? endforeach; ?>
   </ul>
-  <p><a href="<?=$this->url($searchObject->getOptions()->getSearchAction()) . $searchObject->getUrl()->setLimit($searchObject->getOptions()->getDefaultLimit())?>"><?=$this->transEsc('More Summon results')?>...</a></p>
+  <p><a href="<?=$this->url($searchObject->getOptions()->getSearchAction()) . $searchObject->getUrlQuery()->setLimit($searchObject->getOptions()->getDefaultLimit())?>"><?=$this->transEsc('More Summon results')?>...</a></p>
 </div>
 <? endif ?>
\ No newline at end of file
diff --git a/themes/blueprint/templates/Recommend/SwitchType.phtml b/themes/blueprint/templates/Recommend/SwitchType.phtml
index da359b282a7cecefb0dbca221a19d95226eb9a32..7129a776b2ca55505ccf9d9e9c3f691059c63df6 100644
--- a/themes/blueprint/templates/Recommend/SwitchType.phtml
+++ b/themes/blueprint/templates/Recommend/SwitchType.phtml
@@ -1,6 +1,6 @@
 <? if ($handler = $this->recommend->getNewHandler()): ?>
   <div class="info">
     <?=$this->transEsc('widen_prefix')?>
-    <a href="<?=$this->results->getUrl()->setHandler($handler)?>"><?=$this->transEsc($this->recommend->getNewHandlerName())?></a>.
+    <a href="<?=$this->results->getUrlQuery()->setHandler($handler)?>"><?=$this->transEsc($this->recommend->getNewHandlerName())?></a>.
   </div>
 <? endif; ?>
\ No newline at end of file
diff --git a/themes/blueprint/templates/Recommend/TopFacets.phtml b/themes/blueprint/templates/Recommend/TopFacets.phtml
index 2db862bf9bbd9b2d32b93a6027e6743513cc24f8..be69c21f460518bb4dc1e335126b1a1b6961cb94 100644
--- a/themes/blueprint/templates/Recommend/TopFacets.phtml
+++ b/themes/blueprint/templates/Recommend/TopFacets.phtml
@@ -20,7 +20,7 @@
           <? if ($thisFacet['isApplied']): ?>
             <?=$this->escapeHtml($thisFacet['displayText'])?> <img src="<?=$this->imageLink('silk/tick.png')?>" alt="<?=$this->transEsc('Selected') ?>"/>
           <? else: ?>
-            <a href="<?=$this->currentPath().$this->results->getUrl()->addFacet($title, $thisFacet['value'])?>"><?=$this->escapeHtml($thisFacet['displayText'])?></a> (<?=$thisFacet['count'] ?>)
+            <a href="<?=$this->currentPath().$this->results->getUrlQuery()->addFacet($title, $thisFacet['value'])?>"><?=$this->escapeHtml($thisFacet['displayText'])?></a> (<?=$thisFacet['count'] ?>)
           <? endif; ?>
         </span>
         <? if (count($cluster['list']) > $corner && $iter == count($cluster['list'])): ?>
diff --git a/themes/blueprint/templates/ajax/resultgooglemapinfo.phtml b/themes/blueprint/templates/ajax/resultgooglemapinfo.phtml
index aee2f17152337cca4db243b7920018c39ef13503..45f110c1ddfa6d263dbd635a57f3559c1ec21d55 100644
--- a/themes/blueprint/templates/ajax/resultgooglemapinfo.phtml
+++ b/themes/blueprint/templates/ajax/resultgooglemapinfo.phtml
@@ -21,7 +21,7 @@
   </div>
   <? if ($this->recordCount > 5): ?>
     <div class="mapSeeAllDiv">
-      <a href="<?=$this->url('search-results') ?><?=$this->results->getUrl()->getParams() ?>"><?=$this->translate('see all') ?> <?=$this->escapeHtml($this->recordCount) ?>...</a>
+      <a href="<?=$this->url('search-results') ?><?=$this->results->getUrlQuery()->getParams() ?>"><?=$this->translate('see all') ?> <?=$this->escapeHtml($this->recordCount) ?>...</a>
     </div>
   <? endif; ?>
 </div>
diff --git a/themes/blueprint/templates/search/controls/limit.phtml b/themes/blueprint/templates/search/controls/limit.phtml
index 8a7418eba47664d6a6cf4eb03a5e8fa2577fd4a7..6746a0f39bec1dadf13afdaab825282083d04bd0 100644
--- a/themes/blueprint/templates/search/controls/limit.phtml
+++ b/themes/blueprint/templates/search/controls/limit.phtml
@@ -1,6 +1,6 @@
 <div class="limitSelect">
   <? $limitList = $this->results->getParams()->getLimitList(); if (count($limitList) > 1): ?>
-    <form action="<?=$this->currentPath() . $this->results->getUrl()->setLimit(null)?>" method="post">
+    <form action="<?=$this->currentPath() . $this->results->getUrlQuery()->setLimit(null)?>" method="post">
       <label for="limit"><?=$this->transEsc('Results per page')?></label>
       <select id="limit" name="limit" class="jumpMenu">
         <? foreach ($limitList as $limitVal => $limitData): ?>
diff --git a/themes/blueprint/templates/search/controls/sort.phtml b/themes/blueprint/templates/search/controls/sort.phtml
index 471969b10a0513ce6ffcd63afae68a06962ec80b..c1ce5ecf59da31282f6a5c1e85d8483cd1f4e67a 100644
--- a/themes/blueprint/templates/search/controls/sort.phtml
+++ b/themes/blueprint/templates/search/controls/sort.phtml
@@ -1,5 +1,5 @@
 <? $list = $this->results->getParams()->getSortList(); if (!empty($list)): ?>
-  <form action="<?=$this->currentPath() . $this->results->getUrl()->setSort(null)?>" method="post">
+  <form action="<?=$this->currentPath() . $this->results->getUrlQuery()->setSort(null)?>" method="post">
     <label for="sort_options_1"><?=$this->transEsc('Sort')?></label>
     <select id="sort_options_1" name="sort" class="jumpMenu">
       <? foreach ($this->results->getParams()->getSortList() as $sortType => $sortData): ?>
diff --git a/themes/blueprint/templates/search/controls/view.phtml b/themes/blueprint/templates/search/controls/view.phtml
index 748df8496e4e33467503ac62b91f12601fa1c3c1..bee3ff530cf2bd20fbc8b677c1c90d777350cbde 100644
--- a/themes/blueprint/templates/search/controls/view.phtml
+++ b/themes/blueprint/templates/search/controls/view.phtml
@@ -2,7 +2,7 @@
 <? $viewList = $this->results->getParams()->getViewList(); if (count($viewList) > 1): ?>
   <? foreach ($viewList as $viewType => $viewData): ?>
     <? if (!$viewData['selected']): ?>
-      <a href="<?=$this->results->getUrl()->setViewParam($viewType)?>" title="<?=$this->transEsc('Switch view to')?> <?=$this->transEsc($viewData['desc'])?>" >
+      <a href="<?=$this->results->getUrlQuery()->setViewParam($viewType)?>" title="<?=$this->transEsc('Switch view to')?> <?=$this->transEsc($viewData['desc'])?>" >
     <? endif; ?>
     <img <? if ($viewData['selected']): ?>class="selected" <? endif; ?>src="<?=$this->imageLink('view_' . $viewType . '.png')?>"<?=$viewData['selected'] ? ' title="' . $this->transEsc($viewData['desc']) . ' ' . $this->transEsc('view already selected') . '"' : ''?> alt="<?=$this->transEsc($viewData['desc'])?>" />
     <? if (!$viewData['selected']): ?>
diff --git a/themes/blueprint/templates/search/history-table.phtml b/themes/blueprint/templates/search/history-table.phtml
index fe1efc8463396cbfb68df375773c1062155cb6e9..a79cb4f02eb969e0ce480363b66004620c9a1211 100644
--- a/themes/blueprint/templates/search/history-table.phtml
+++ b/themes/blueprint/templates/search/history-table.phtml
@@ -10,7 +10,7 @@
     <tr class="<?=$iteration % 2 == 1 ? 'even' : 'odd'?>row">
       <td><?=$this->escapeHtml(date("g:ia, jS M y", $info->getStartTime()))?></td>
       <td>
-        <a href="<?=$this->url($info->getOptions()->getSearchAction()) . $info->getUrl()->getParams()?>"><?
+        <a href="<?=$this->url($info->getOptions()->getSearchAction()) . $info->getUrlQuery()->getParams()?>"><?
           $desc = $info->getParams()->getDisplayQuery();
           echo empty($desc) ? $this->transEsc("history_empty_search") : $this->escapeHtml($desc);
         ?></a>
diff --git a/themes/blueprint/templates/search/pagination.phtml b/themes/blueprint/templates/search/pagination.phtml
index 8e3dfa85cbad2f4edf272bbfc016b54cd787fd4f..c3c37a7683d0e721c9572a06b2cd1a537147ce99 100644
--- a/themes/blueprint/templates/search/pagination.phtml
+++ b/themes/blueprint/templates/search/pagination.phtml
@@ -1,14 +1,14 @@
 <? if ($this->pageCount): ?>
   <div class="pagination">
   <? if (isset($this->previous)): ?>
-    <a href="<?=$this->currentPath() . $this->results->getUrl()->setPage(1)?>">[1]</a>
-    <a href="<?=$this->currentPath() . $this->results->getUrl()->setPage($this->previous)?>">&laquo; <?=$this->transEsc('Prev')?></a>
+    <a href="<?=$this->currentPath() . $this->results->getUrlQuery()->setPage(1)?>">[1]</a>
+    <a href="<?=$this->currentPath() . $this->results->getUrlQuery()->setPage($this->previous)?>">&laquo; <?=$this->transEsc('Prev')?></a>
   <? endif; ?>
 
   <? if (count($this->pagesInRange) > 1): ?>
     <? foreach ($this->pagesInRange as $page): ?>
       <? if ($page != $this->current): ?>
-        <a href="<?=$this->currentPath() . $this->results->getUrl()->setPage($page)?>"><?=$page?></a>
+        <a href="<?=$this->currentPath() . $this->results->getUrlQuery()->setPage($page)?>"><?=$page?></a>
       <? else: ?>
         <span><?=$page?></span>
       <? endif; ?>
@@ -16,8 +16,8 @@
   <? endif; ?>
 
   <? if (isset($this->next)): ?>
-    <a href="<?=$this->currentPath() . $this->results->getUrl()->setPage($this->next)?>"><?=$this->transEsc('Next');?> &raquo;</a>
-    <a href="<?=$this->currentPath() . $this->results->getUrl()->setPage($this->pageCount)?>">[<?=$this->pageCount?>]</a>
+    <a href="<?=$this->currentPath() . $this->results->getUrlQuery()->setPage($this->next)?>"><?=$this->transEsc('Next');?> &raquo;</a>
+    <a href="<?=$this->currentPath() . $this->results->getUrlQuery()->setPage($this->pageCount)?>">[<?=$this->pageCount?>]</a>
   <? endif; ?>
   </div>
 <? endif; ?>
\ No newline at end of file
diff --git a/themes/blueprint/templates/search/results.phtml b/themes/blueprint/templates/search/results.phtml
index b1fb418397dcf345ed3ed33ab75d42e99dd4150e..f195837aa9b57777a6b0d35ba9cd8692ee44e17f 100644
--- a/themes/blueprint/templates/search/results.phtml
+++ b/themes/blueprint/templates/search/results.phtml
@@ -102,7 +102,7 @@
 
     <div class="searchtools">
       <strong><?=$this->transEsc('Search Tools')?>:</strong>
-      <a href="<?=$this->results->getUrl()->setViewParam('rss')?>" class="feed"><?=$this->transEsc('Get RSS Feed')?></a>
+      <a href="<?=$this->results->getUrlQuery()->setViewParam('rss')?>" class="feed"><?=$this->transEsc('Get RSS Feed')?></a>
       <a href="<?=$this->url('search-email')?>" class="mailSearch mail" id="mailSearch<?=$this->escapeHtml($this->results->getSearchId())?>" title="<?=$this->transEsc('Email this Search')?>"><?=$this->transEsc('Email this Search')?></a>
       <? if (is_numeric($this->results->getSearchId())): ?>
         <? if ($this->results->isSavedSearch()): ?>
diff --git a/themes/jquerymobile/templates/Recommend/SideFacets-dialog.phtml b/themes/jquerymobile/templates/Recommend/SideFacets-dialog.phtml
index 404de43c5d567a9ada9ab656bb7ebe43a3b0e56a..117650dae8d4319a651b8d65d784d3bcbb4e52e3 100644
--- a/themes/jquerymobile/templates/Recommend/SideFacets-dialog.phtml
+++ b/themes/jquerymobile/templates/Recommend/SideFacets-dialog.phtml
@@ -15,7 +15,7 @@
                 <? if ($thisFacet['isApplied']): ?>
                   <li data-icon="check" class="checked"><a href="" data-rel="back"><?=$this->escapeHtml($thisFacet['displayText'])?></a> <span class="ui-li-count"><?=$this->escapeHtml($thisFacet['count'])?></span></li>
                 <? else: ?>
-                  <li><a rel="external" href="<?=$this->currentPath().$this->results->getUrl()->addFacet($title, $thisFacet['value'])?>"><?=$this->escapeHtml($thisFacet['displayText'])?></a> <span class="ui-li-count"><?=$this->escapeHtml($thisFacet['count'])?></span></li>
+                  <li><a rel="external" href="<?=$this->currentPath().$this->results->getUrlQuery()->addFacet($title, $thisFacet['value'])?>"><?=$this->escapeHtml($thisFacet['displayText'])?></a> <span class="ui-li-count"><?=$this->escapeHtml($thisFacet['count'])?></span></li>
                 <? endif; ?>
               <? endforeach; ?>
             </ul>
diff --git a/themes/jquerymobile/templates/Recommend/SideFacets.phtml b/themes/jquerymobile/templates/Recommend/SideFacets.phtml
index cfbf2037e29a42241f18fcc098e77aa35314e7cb..c0aa056738532408af1c60b266208a0271f05aee 100644
--- a/themes/jquerymobile/templates/Recommend/SideFacets.phtml
+++ b/themes/jquerymobile/templates/Recommend/SideFacets.phtml
@@ -4,7 +4,7 @@
     <? $i = 0; foreach ($filterList as $field => $filters): ?>
       <? foreach ($filters as $filter): ?>
         <?
-            $removeLink = $this->currentPath().$this->results->getUrl()->removeFacet($filter['field'], $filter['value']);
+            $removeLink = $this->currentPath().$this->results->getUrlQuery()->removeFacet($filter['field'], $filter['value']);
             if ($filter['displayText'] == '[* TO *]') $filter['displayText'] = $this->translate('filter_wildcard');
         ?>
         <li data-icon="minus">
diff --git a/themes/jquerymobile/templates/Recommend/SwitchType.phtml b/themes/jquerymobile/templates/Recommend/SwitchType.phtml
index da359b282a7cecefb0dbca221a19d95226eb9a32..7129a776b2ca55505ccf9d9e9c3f691059c63df6 100644
--- a/themes/jquerymobile/templates/Recommend/SwitchType.phtml
+++ b/themes/jquerymobile/templates/Recommend/SwitchType.phtml
@@ -1,6 +1,6 @@
 <? if ($handler = $this->recommend->getNewHandler()): ?>
   <div class="info">
     <?=$this->transEsc('widen_prefix')?>
-    <a href="<?=$this->results->getUrl()->setHandler($handler)?>"><?=$this->transEsc($this->recommend->getNewHandlerName())?></a>.
+    <a href="<?=$this->results->getUrlQuery()->setHandler($handler)?>"><?=$this->transEsc($this->recommend->getNewHandlerName())?></a>.
   </div>
 <? endif; ?>
\ No newline at end of file
diff --git a/themes/jquerymobile/templates/search/history-table.phtml b/themes/jquerymobile/templates/search/history-table.phtml
index f87013965ff774de34fe70f784bb641b39359839..6c6dfe3609ab701b3daa6df125deb394e6a8ca50 100644
--- a/themes/jquerymobile/templates/search/history-table.phtml
+++ b/themes/jquerymobile/templates/search/history-table.phtml
@@ -1,6 +1,6 @@
 <? foreach (($this->showSaved ? array_reverse($this->saved) : array_reverse($this->unsaved)) as $iteration => $info): ?>
   <li>
-    <a rel="external" href="<?=$this->url($info->getOptions()->getSearchAction()) . $info->getUrl()->getParams()?>">
+    <a rel="external" href="<?=$this->url($info->getOptions()->getSearchAction()) . $info->getUrlQuery()->getParams()?>">
     <div class="result">
     <h3><?
       $desc = $info->getParams()->getDisplayQuery();
diff --git a/themes/jquerymobile/templates/search/pagination.phtml b/themes/jquerymobile/templates/search/pagination.phtml
index fdf65031cc55833eddd3b76c5758e71f7b9b2e63..bea0cafa4c0b28b9d34944dd56079212af7715b7 100644
--- a/themes/jquerymobile/templates/search/pagination.phtml
+++ b/themes/jquerymobile/templates/search/pagination.phtml
@@ -1,11 +1,11 @@
 <div data-role="controlgroup" data-type="horizontal" align="center">
   <? if ($this->pageCount): ?>
     <? if (isset($this->previous)): ?>
-      <a rel="external" data-role="button" data-rel="back" href="<?=$this->currentPath() . $this->results->getUrl()->setPage($this->previous)?>">&laquo; <?=$this->transEsc('Prev')?></a>
+      <a rel="external" data-role="button" data-rel="back" href="<?=$this->currentPath() . $this->results->getUrlQuery()->setPage($this->previous)?>">&laquo; <?=$this->transEsc('Prev')?></a>
     <? endif; ?>
 
     <? if (isset($this->next)): ?>
-      <a rel="external" data-role="button" href="<?=$this->currentPath() . $this->results->getUrl()->setPage($this->next)?>"><?=$this->transEsc('Next');?> &raquo;</a>
+      <a rel="external" data-role="button" href="<?=$this->currentPath() . $this->results->getUrlQuery()->setPage($this->next)?>"><?=$this->transEsc('Next');?> &raquo;</a>
     <? endif; ?>
   <? endif; ?>
 </div>
\ No newline at end of file