diff --git a/core_search_facets/src/Plugin/facets/facet_source/CoreNodeSearchFacetSourceDeriver.php b/core_search_facets/src/Plugin/facets/facet_source/CoreNodeSearchFacetSourceDeriver.php
index e14b487..28689fb 100644
--- a/core_search_facets/src/Plugin/facets/facet_source/CoreNodeSearchFacetSourceDeriver.php
+++ b/core_search_facets/src/Plugin/facets/facet_source/CoreNodeSearchFacetSourceDeriver.php
@@ -16,7 +16,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
 /**
  * Derives a facet source plugin definition for every search api view.
  *
- * @see \Drupal\facets\Plugin\facets\facet_source\SearchApiViewsPage
+ * @see \Drupal\facets\Plugin\facets\facet_source\SearchApiViews
  */
 class CoreNodeSearchFacetSourceDeriver extends FacetSourceDeriverBase {
 
diff --git a/src/Plugin/facets/facet_source/SearchApiViews.php b/src/Plugin/facets/facet_source/SearchApiViews.php
new file mode 100644
index 0000000..748931a
--- /dev/null
+++ b/src/Plugin/facets/facet_source/SearchApiViews.php
@@ -0,0 +1,152 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\facets\Plugin\facets\facet_source\SearchApiViews.
+ */
+
+namespace Drupal\facets\Plugin\facets\facet_source;
+
+use Drupal\Core\DependencyInjection\DependencySerializationTrait;
+use Drupal\search_api\Plugin\views\query\SearchApiQuery;
+use Drupal\search_api\Query\ResultSetInterface;
+use Drupal\views\Entity\View;
+use Drupal\views\Views;
+
+
+/**
+ * Represents a facet source which represents the search api views.
+ *
+ * @FacetsFacetSource(
+ *   id = "search_api_views",
+ *   deriver = "Drupal\facets\Plugin\facets\facet_source\SearchApiViewsDeriver"
+ * )
+ */
+class SearchApiViews extends SearchApiBaseFacetSource {
+
+  use DependencySerializationTrait;
+
+  /**
+   * The entity manager.
+   *
+   * @var \Drupal\Core\Entity\EntityTypeManager|null
+   */
+  protected $entityTypeManager;
+
+  /**
+   * The typed data manager.
+   *
+   * @var \Drupal\Core\TypedData\TypedDataManager|null
+   */
+  protected $typedDataManager;
+
+  /**
+   * The config factory.
+   *
+   * @var \Drupal\Core\Config\ConfigFactoryInterface|null
+   */
+  protected $configFactory;
+
+  /**
+   * {@inheritdoc}
+   */
+  public function __construct(array $configuration, $plugin_id, array $plugin_definition, $query_type_plugin_manager, $search_results_cache) {
+    parent::__construct($configuration, $plugin_id, $plugin_definition, $query_type_plugin_manager, $search_results_cache);
+
+    // Load facet plugin definition and depending on those settings; load the
+    // corresponding view with the correct view with the correct display set.
+    // Get that display's query so we can check if this is a search API based
+    // view.
+    $view = Views::getView($plugin_definition['view_id']);
+    if (!empty($view)) {
+      $view->setDisplay($plugin_definition['view_display']);
+      $query = $view->getQuery();
+
+      // Only add the index if the $query is a Search API Query.
+      if ($query instanceof SearchApiQuery) {
+        // Set the Search Api Index.
+        $this->index = $query->getIndex();
+      }
+    }
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getPath() {
+    $display = View::load($this->pluginDefinition['view_id'])->getDisplay($this->pluginDefinition['view_display']);
+    switch ($display['display_plugin']) {
+      case 'page':
+        $view = Views::getView($this->pluginDefinition['view_id']);
+        $view->setDisplay($this->pluginDefinition['view_display']);
+        return '/' . $view->getDisplay()->getPath();
+      case 'block':
+      default:
+        return \Drupal::service('path.current')->getPath();
+    }
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fillFacetsWithResults($facets) {
+    // Check if there are results in the static cache.
+    $results = $this->searchApiResultsCache->getResults($this->pluginId);
+
+    // If our results are not there, execute the view to get the results.
+    if (!$results) {
+      // If there are no results, execute the view. and check for results again!
+      $view = Views::getView($this->pluginDefinition['view_id']);
+      $view->setDisplay($this->pluginDefinition['view_display']);
+      $view->execute();
+      $results = $this->searchApiResultsCache->getResults($this->pluginId);
+    }
+
+    // Get the results from the cache. It is possible it still errored out.
+    // @todo figure out what to do when this errors out.
+    if ($results instanceof ResultSetInterface) {
+      // Get our facet data.
+      $facet_results = $results->getExtraData('search_api_facets');
+
+      // Loop over each facet and execute the build method from the given
+      // query type.
+      foreach ($facets as $facet) {
+        $configuration = array(
+          'query' => NULL,
+          'facet' => $facet,
+          'results' => $facet_results[$facet->getFieldIdentifier()],
+        );
+
+        // Get the Facet Specific Query Type so we can process the results
+        // using the build() function of the query type.
+        $query_type = $this->queryTypePluginManager->createInstance($facet->getQueryType(), $configuration);
+        $query_type->build();
+      }
+    }
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function isRenderedInCurrentRequest() {
+    $display = View::load($this->pluginDefinition['view_id'])->getDisplay($this->pluginDefinition['view_display']);
+    switch ($display['display_plugin']) {
+      case 'page':
+        $request = \Drupal::requestStack()->getMasterRequest();
+        if ($request->attributes->get('_controller') === 'Drupal\views\Routing\ViewPageController::handle') {
+          list(, $search_api_view_id, $search_api_view_display) = explode(':', $this->getPluginId());
+
+          if ($request->attributes->get('view_id') == $search_api_view_id && $request->attributes->get('display_id') == $search_api_view_display) {
+            return TRUE;
+          }
+        }
+        return FALSE;
+
+      case 'block':
+        // There is no way to know if a block is embedded on a page.
+        return TRUE;
+    }
+    return FALSE;
+  }
+
+}
diff --git a/src/Plugin/facets/facet_source/SearchApiViewsDeriver.php b/src/Plugin/facets/facet_source/SearchApiViewsDeriver.php
new file mode 100644
index 0000000..836ae03
--- /dev/null
+++ b/src/Plugin/facets/facet_source/SearchApiViewsDeriver.php
@@ -0,0 +1,61 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\facets\Plugin\facets\facet_source\SearchApiViewsDeriver.
+ */
+
+namespace Drupal\facets\Plugin\facets\facet_source;
+
+use Drupal\Component\Plugin\PluginBase;
+use Drupal\facets\FacetSource\FacetSourceDeriverBase;
+
+/**
+ * Derives a facet source plugin definition for every search api view.
+ *
+ * @see \Drupal\facets\Plugin\facets\facet_source\SearchApiViews
+ */
+class SearchApiViewsDeriver extends FacetSourceDeriverBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getDerivativeDefinitions($base_plugin_definition) {
+    $base_plugin_id = $base_plugin_definition['id'];
+
+    if (!isset($this->derivatives[$base_plugin_id])) {
+      $plugin_derivatives = array();
+      /** @var \Drupal\Core\Entity\EntityStorageInterface $views_storage */
+      $views_storage = $this->entityTypeManager->getStorage('view');
+      $all_views = $views_storage->loadMultiple();
+
+      /** @var \Drupal\views\Entity\View $view */
+      foreach ($all_views as $view) {
+        // Hardcoded usage of search api views, for now.
+        if (strpos($view->get('base_table'), 'search_api_index') !== FALSE) {
+          $displays = $view->get('display');
+          foreach ($displays as $name => $display_info) {
+            if (in_array($display_info['display_plugin'], ['page', 'block'])) {
+              $machine_name = $view->id() . PluginBase::DERIVATIVE_SEPARATOR . $name;
+
+              $plugin_derivatives[$machine_name] = [
+                'id' => $base_plugin_id . PluginBase::DERIVATIVE_SEPARATOR . $machine_name,
+                'label' => $this->t('Search api view: %view_name, display: %display_title', ['%view_name' => $view->label(), '%display_title' => $display_info['display_title']]),
+                'description' => $this->t('Provides a facet source.'),
+                'view_id' => $view->id(),
+                'view_display' => $name,
+              ] + $base_plugin_definition;
+
+              $sources[] = $this->t('Search api view: ' . $view->label() . ' display: ' . $display_info['display_title']);
+            }
+          }
+        }
+      }
+      uasort($plugin_derivatives, array($this, 'compareDerivatives'));
+
+      $this->derivatives[$base_plugin_id] = $plugin_derivatives;
+    }
+    return $this->derivatives[$base_plugin_id];
+  }
+
+}
diff --git a/src/Plugin/facets/facet_source/SearchApiViewsPage.php b/src/Plugin/facets/facet_source/SearchApiViewsPage.php
deleted file mode 100644
index fa958db..0000000
--- a/src/Plugin/facets/facet_source/SearchApiViewsPage.php
+++ /dev/null
@@ -1,135 +0,0 @@
-<?php
-
-/**
- * @file
- * Contains \Drupal\facets\Plugin\facets\facet_source\SearchApiViewsPage.
- */
-
-namespace Drupal\facets\Plugin\facets\facet_source;
-
-use Drupal\Core\DependencyInjection\DependencySerializationTrait;
-use Drupal\search_api\Plugin\views\query\SearchApiQuery;
-use Drupal\search_api\Query\ResultSetInterface;
-use Drupal\views\Views;
-
-
-/**
- * Represents a facet source which represents the search api views.
- *
- * @FacetsFacetSource(
- *   id = "search_api_views",
- *   deriver = "Drupal\facets\Plugin\facets\facet_source\SearchApiViewsPageDeriver"
- * )
- */
-class SearchApiViewsPage extends SearchApiBaseFacetSource {
-
-  use DependencySerializationTrait;
-
-  /**
-   * The entity manager.
-   *
-   * @var \Drupal\Core\Entity\EntityTypeManager|null
-   */
-  protected $entityTypeManager;
-
-  /**
-   * The typed data manager.
-   *
-   * @var \Drupal\Core\TypedData\TypedDataManager|null
-   */
-  protected $typedDataManager;
-
-  /**
-   * The config factory.
-   *
-   * @var \Drupal\Core\Config\ConfigFactoryInterface|null
-   */
-  protected $configFactory;
-
-  /**
-   * {@inheritdoc}
-   */
-  public function __construct(array $configuration, $plugin_id, array $plugin_definition, $query_type_plugin_manager, $search_results_cache) {
-    parent::__construct($configuration, $plugin_id, $plugin_definition, $query_type_plugin_manager, $search_results_cache);
-
-    // Load facet plugin definition and depending on those settings; load the
-    // corresponding view with the correct view with the correct display set.
-    // Get that display's query so we can check if this is a search API based
-    // view.
-    $view = Views::getView($plugin_definition['view_id']);
-    if (!empty($view)) {
-      $view->setDisplay($plugin_definition['view_display']);
-      $query = $view->getQuery();
-
-      // Only add the index if the $query is a Search API Query.
-      if ($query instanceof SearchApiQuery) {
-        // Set the Search Api Index.
-        $this->index = $query->getIndex();
-      }
-    }
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getPath() {
-    $view = Views::getView($this->pluginDefinition['view_id']);
-    $view->setDisplay($this->pluginDefinition['view_display']);
-    return $view->getDisplay()->getPath();
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function fillFacetsWithResults($facets) {
-    // Check if there are results in the static cache.
-    $results = $this->searchApiResultsCache->getResults($this->pluginId);
-
-    // If our results are not there, execute the view to get the results.
-    if (!$results) {
-      // If there are no results, execute the view. and check for results again!
-      $view = Views::getView($this->pluginDefinition['view_id']);
-      $view->setDisplay($this->pluginDefinition['view_display']);
-      $view->execute();
-      $results = $this->searchApiResultsCache->getResults($this->pluginId);
-    }
-
-    // Get the results from the cache. It is possible it still errored out.
-    // @todo figure out what to do when this errors out.
-    if ($results instanceof ResultSetInterface) {
-      // Get our facet data.
-      $facet_results = $results->getExtraData('search_api_facets');
-
-      // Loop over each facet and execute the build method from the given
-      // query type.
-      foreach ($facets as $facet) {
-        $configuration = array(
-          'query' => NULL,
-          'facet' => $facet,
-          'results' => $facet_results[$facet->getFieldIdentifier()],
-        );
-
-        // Get the Facet Specific Query Type so we can process the results
-        // using the build() function of the query type.
-        $query_type = $this->queryTypePluginManager->createInstance($facet->getQueryType(), $configuration);
-        $query_type->build();
-      }
-    }
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function isRenderedInCurrentRequest() {
-    $request = \Drupal::requestStack()->getMasterRequest();
-    if ($request->attributes->get('_controller') === 'Drupal\views\Routing\ViewPageController::handle') {
-      list(, $search_api_view_id, $search_api_view_display) = explode(':', $this->getPluginId());
-
-      if ($request->attributes->get('view_id') == $search_api_view_id && $request->attributes->get('display_id') == $search_api_view_display) {
-        return TRUE;
-      }
-    }
-    return FALSE;
-  }
-
-}
diff --git a/src/Plugin/facets/facet_source/SearchApiViewsPageDeriver.php b/src/Plugin/facets/facet_source/SearchApiViewsPageDeriver.php
deleted file mode 100644
index ac85ac5..0000000
--- a/src/Plugin/facets/facet_source/SearchApiViewsPageDeriver.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-/**
- * @file
- * Contains \Drupal\facets\Plugin\facets\facet_source\SearchApiViewsPageDeriver.
- */
-
-namespace Drupal\facets\Plugin\facets\facet_source;
-
-use Drupal\Component\Plugin\PluginBase;
-use Drupal\facets\FacetSource\FacetSourceDeriverBase;
-
-/**
- * Derives a facet source plugin definition for every search api view.
- *
- * @see \Drupal\facets\Plugin\facets\facet_source\SearchApiViewsPage
- */
-class SearchApiViewsPageDeriver extends FacetSourceDeriverBase {
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getDerivativeDefinitions($base_plugin_definition) {
-    $base_plugin_id = $base_plugin_definition['id'];
-
-    if (!isset($this->derivatives[$base_plugin_id])) {
-      $plugin_derivatives = array();
-      /** @var \Drupal\Core\Entity\EntityStorageInterface $views_storage */
-      $views_storage = $this->entityTypeManager->getStorage('view');
-      $all_views = $views_storage->loadMultiple();
-
-      /** @var \Drupal\views\Entity\View $view */
-      foreach ($all_views as $view) {
-        // Hardcoded usage of search api views, for now.
-        if (strpos($view->get('base_table'), 'search_api_index') !== FALSE) {
-          $displays = $view->get('display');
-          foreach ($displays as $name => $display_info) {
-            if ($display_info['display_plugin'] == "page") {
-              $machine_name = $view->id() . PluginBase::DERIVATIVE_SEPARATOR . $name;
-
-              $plugin_derivatives[$machine_name] = [
-                'id' => $base_plugin_id . PluginBase::DERIVATIVE_SEPARATOR . $machine_name,
-                'label' => $this->t('Search api view: %view_name, display: %display_title', ['%view_name' => $view->label(), '%display_title' => $display_info['display_title']]),
-                'description' => $this->t('Provides a facet source.'),
-                'view_id' => $view->id(),
-                'view_display' => $name,
-              ] + $base_plugin_definition;
-
-              $sources[] = $this->t('Search api view: ' . $view->label() . ' display: ' . $display_info['display_title']);
-            }
-          }
-        }
-      }
-      uasort($plugin_derivatives, array($this, 'compareDerivatives'));
-
-      $this->derivatives[$base_plugin_id] = $plugin_derivatives;
-    }
-    return $this->derivatives[$base_plugin_id];
-  }
-
-}
diff --git a/src/Plugin/facets/url_processor/QueryString.php b/src/Plugin/facets/url_processor/QueryString.php
index ce36f54..7cfd5bc 100644
--- a/src/Plugin/facets/url_processor/QueryString.php
+++ b/src/Plugin/facets/url_processor/QueryString.php
@@ -88,7 +88,7 @@ class QueryString extends UrlProcessorPluginBase {
       $result_get_params->set($this->filterKey, $filter_params);
       $request = $this->request;
       if ($facet->getFacetSource()->getPath()) {
-        $request = Request::create('/' . $facet->getFacetSource()->getPath());
+        $request = Request::create($facet->getFacetSource()->getPath());
       }
       $url = Url::createFromRequest($request);
       $url->setOption('query', $result_get_params->all());
diff --git a/src/Tests/IntegrationTest.php b/src/Tests/IntegrationTest.php
index 3b1093c..bb93e5c 100644
--- a/src/Tests/IntegrationTest.php
+++ b/src/Tests/IntegrationTest.php
@@ -92,7 +92,7 @@ class IntegrationTest extends FacetWebTestBase {
     $this->assertFacetBlocksAppear();
 
     // Show the facet only when the facet source is visible.
-    // @TODO Only for SearchApiViewsPage for the moment.
+    // @TODO Only for SearchApiViews for the moment.
     $this->setOptionShowOnlyWhenFacetSourceVisible($facet_name);
     $this->goToDeleteFacetPage($facet_name);
     $this->assertNoText('item');
diff --git a/tests/facets_query_processor/src/Plugin/facets/url_processor/DummyQuery.php b/tests/facets_query_processor/src/Plugin/facets/url_processor/DummyQuery.php
index bc17ce2..35700c5 100644
--- a/tests/facets_query_processor/src/Plugin/facets/url_processor/DummyQuery.php
+++ b/tests/facets_query_processor/src/Plugin/facets/url_processor/DummyQuery.php
@@ -89,7 +89,7 @@ class DummyQuery extends UrlProcessorPluginBase {
       $result_get_params->set($this->filterKey, $filter_params);
       $request = $this->request;
       if ($facet->getFacetSource()->getPath()) {
-        $request = Request::create('/' . $facet->getFacetSource()->getPath());
+        $request = Request::create($facet->getFacetSource()->getPath());
       }
       $url = Url::createFromRequest($request);
       $url->setOption('query', $result_get_params->all());
