{"id":24806,"date":"2014-02-12T00:00:00","date_gmt":"2014-02-12T00:00:00","guid":{"rendered":"https:\/\/alienroad.com\/google-bilgi-bankasi\/faceted-navigation-best-and-5-of-the-worst-practices\/"},"modified":"2014-02-12T00:00:00","modified_gmt":"2014-02-12T00:00:00","slug":"faceted-navigation-best-and-5-of-the-worst-practices","status":"publish","type":"ar_kb","link":"https:\/\/alienroad.com\/google-bilgi-bankasi\/faceted-navigation-best-and-5-of-the-worst-practices\/","title":{"rendered":"Faceted navigation best (and 5 of the worst) practices"},"content":{"rendered":"<aside class=\"key-point\">It&#8217;s been a while since we published this blog post. Some of the information may be outdated (for example, some images may be missing, and some links may not work anymore). Specifically, <code>rel=prev\/next<\/code> is not supported anymore, and the<br \/>\n <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/upcoming-deprecation-of-crawl-rate-limiter-tool-in-search-console\/\">crawl limiter<\/a> and the <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/spring-cleaning-the-url-parameters-tool\/\">URL parameter<\/a><br \/>\n  tools were deprecated<\/a>. Check out our updated documentation on <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/managing-crawling-of-faceted-navigation-urls\/\">managing crawling of faceted navigation URLs<\/a>.<\/aside>\n<p class=\"gargardate\">Wednesday, February 12, 2014<\/p>\n<figure class=\"attempt-right\">\n  <img decoding=\"async\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-b1f63d6004d9.png\" loading=\"lazy\" alt=\"Selecting filters with faceted navigation can cause many URL combinations\"><figcaption>\n    <i>Selecting filters with faceted navigation can cause many URL combinations, such as<br \/>\n      <code>https:\/\/www.example.com\/category.php?category=gummy-candies&amp;price=5-10&amp;price=over-10<\/code><\/i><br \/>\n  <\/figcaption><\/figure>\n<p>\n  Faceted navigation, such as filtering by color or price range, can be helpful for your visitors,<br \/>\n  but it&#8217;s often not search-friendly since it creates many combinations of URLs with<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/specify-canonical\/\">duplicative content<\/a>. With<br \/>\n  duplicative URLs, search engines may not crawl new or updated unique content as quickly, and\/or<br \/>\n  they may not index a page accurately because indexing signals are diluted between the duplicate<br \/>\n  versions. To reduce these issues and help faceted navigation sites become as search-friendly as<br \/>\n  possible, we&#8217;d like to:\n<\/p>\n<ul>\n<li><a href=\"#background\">Provide background and potential issues with faceted navigation<\/a><\/li>\n<li><a href=\"#worst-practices\">Highlight worst practices<\/a><\/li>\n<li>\n<p>Share best practices<\/p>\n<ul>\n<li><a href=\"#new-sites\">New faceted navigation implementations or redesigns<\/a><\/li>\n<li><a href=\"#existing-sites\">Existing faceted navigation implementations<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"background\" tabindex=\"-1\">Background<\/h2>\n<p>\n  In an ideal state, unique content&mdash;whether an individual product\/article or a category of<br \/>\n  products\/articles&mdash; would have only one accessible URL. This URL would have a clear click<br \/>\n  path, or route to the content from within the site, accessible by clicking from the home page or a<br \/>\n  category page.\n<\/p>\n<h3 id=\"ideal-for-searchers-and-google-search\" tabindex=\"-1\">Ideal for searchers and Google Search<\/h3>\n<ul>\n<li>\n<p>Clear path that reaches all individual product\/article pages<\/p>\n<p>    <img decoding=\"async\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-d14dceca50a4.png\" loading=\"lazy\" alt=\"On the left is potential user navigation on the site (or, the click path), on the right are the pages accessed.\" title=\"On the left is potential user navigation on the site (or, the click path), on the right are the pages accessed.\">\n  <\/li>\n<li>\n<p>\n      One representative URL for category page<br \/>\n      <code>https:\/\/www.example.com\/category.php?category=gummy-candies<\/code>\n    <\/p>\n<p>    <img decoding=\"async\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-95a7562fdb01.png\" loading=\"lazy\" alt=\"Category page for gummy candies\">\n  <\/li>\n<li>\n<p>\n      One representative URL for individual product page<br \/>\n      <code>https:\/\/www.example.com\/product.php?item=swedish-fish<\/code>\n    <\/p>\n<p>    <img decoding=\"async\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-7a6ccd04e7af.png\" loading=\"lazy\" alt=\"One representative URL for individual product page\">\n  <\/li>\n<\/ul>\n<h3 id=\"undesirable-duplication-caused-with-faceted-navigation\" tabindex=\"-1\">Undesirable duplication caused with faceted navigation<\/h3>\n<ul>\n<li>\n<p>Numerous URLs for the same article\/product<\/p>\n<ul>\n<li>\n<p>Canonical: <code>example.com\/product.php?item=swedish-fish<\/code><\/p>\n<p>        <img decoding=\"async\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-416920f78b5a.png\" loading=\"lazy\" alt=\"Canonical URL for the same product\">\n      <\/li>\n<li>\n<p>\n          Duplicate:<br \/>\n          <code>example.com\/product.php?item=swedish-fish&amp;category=gummy-candies&amp;price=5-10<\/code>\n        <\/p>\n<p>        <img decoding=\"async\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-c740284fd2e7.png\" loading=\"lazy\" alt=\"Duplicate URL for the same product\">\n      <\/li>\n<\/ul>\n<p>\n    The same product page for swedish fish can be available on multiple URLs.\n    <\/p>\n<\/li>\n<li>\n<p>\n      Numerous category pages that provide little or no value to searchers and search engines), as<br \/>\n      demonstrated in the following table:\n    <\/p>\n<table>\n<colgroup>\n<col width=\"10%\" \/>\n<col width=\"45%\" \/>\n<col width=\"45%\" \/>\n      <\/colgroup>\n<tbody>\n<tr>\n<td><b>URL<\/b><\/td>\n<td>\n            <code>example.com\/category.php?category=gummy-candies&amp;taste=sour&amp;price=5-10<\/code>\n          <\/td>\n<td>\n            <code>example.com\/category.php?category=gummy-candies&amp;taste=sour&amp;price=over-10<\/code>\n          <\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>\n            <img decoding=\"async\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-a73ce8024c57.png\" loading=\"lazy\" alt=\"category page for gummy candies in the price range $5-10\">\n          <\/td>\n<td>\n            <img decoding=\"async\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-b4b701c62012.png\" loading=\"lazy\" alt=\"category page for gummy candies that are over $10\">\n          <\/td>\n<\/tr>\n<tr>\n<td><b>Issues<\/b><\/td>\n<td>\n<ul>\n<li>\n                No added value to Google searchers given users rarely search for &#8220;sour gummy candy<br \/>\n                price five to ten dollars&#8221;.\n              <\/li>\n<li>\n                No added value for search engine crawlers that discover same item (&#8220;fruit salad&#8221;)<br \/>\n                from parent category pages (either &#8220;gummy candies&#8221; or &#8220;sour gummy candies&#8221;).\n              <\/li>\n<li>\n                Negative value to site owner who may have indexing signals diluted between numerous<br \/>\n                versions of the same category.\n              <\/li>\n<li>\n                Negative value to site owner with respect to serving bandwidth and losing crawler<br \/>\n                capacity to duplicative content rather than new or updated pages.\n              <\/li>\n<\/ul>\n<\/td>\n<td>\n<ul>\n<li>\n                No value for search engines (should have<br \/>\n                <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/how-http-status-codes-affect-googles-crawlers\/\">404 response code<\/a>).\n              <\/li>\n<li>Negative value to searchers.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ul>\n<h2 id=\"worst-practices\" tabindex=\"-1\">Worst (search un-friendly) practices for faceted navigation<\/h2>\n<h3 id=\"worst-practice-1:-non-standard-url-encoding-for-parameters,-like-commas-or-brackets,-instead-of-key=value-pairs.\" tabindex=\"-1\">\n  Worst practice #1: Non-standard URL encoding for parameters, like commas or brackets, instead of<br \/>\n  <code>key=value&amp;<\/code> pairs.<br \/>\n<\/h3>\n<h4 id=\"worst-practices:\" tabindex=\"-1\">Worst practices:<\/h4>\n<div><\/div>\n<ul>\n<li>Key-value pairs marked with <code>:<\/code> rather than <code>=<\/code>.<\/li>\n<li>Multiple parameters appended with <code>[ ]<\/code> rather than <code>&amp;<\/code>.<\/li>\n<\/ul>\n<div><\/div>\n<ul>\n<li>Key-value pairs marked with a <code>,<\/code> rather than <code>=<\/code>.<\/li>\n<li>Multiple parameters appended with <code>,,<\/code> rather than <code>&amp;<\/code>.<\/li>\n<\/ul>\n<h4 id=\"best-practice:\" tabindex=\"-1\">Best practice:<\/h4>\n<div><\/div>\n<p>\n  While humans may be able to decode odd URL parameters, such as <code>,,<\/code>, crawlers have<br \/>\n  difficulty interpreting URL parameters when they&#8217;re implemented in a non-standard fashion.<br \/>\n  Software engineer on Google&#8217;s Crawling Team, Mehmet Aktuna, says &#8220;Using non-standard encoding is<br \/>\n  just asking for trouble.&#8221; Instead, connect key-value pairs with an equal sign (<code>=<\/code>) and<br \/>\n  append multiple parameters with an ampersand (<code>&amp;<\/code>).\n<\/p>\n<h3 id=\"worst-practice-2:-using-directories-or-file-paths-rather-than-parameters-to-list-values-that-dont-change-page-content.\" tabindex=\"-1\">\n  Worst practice #2: Using directories or file paths rather than parameters to list values that<br \/>\n  don&#8217;t change page content.<br \/>\n<\/h3>\n<h4 id=\"worst-practice:\" tabindex=\"-1\">Worst practice:<\/h4>\n<p>\n  Where <code>\/c123\/<\/code> is a category, <code>\/s789\/<\/code> is a<br \/>\n  <a href=\"https:\/\/wikipedia.org\/wiki\/Session_ID\" class=\"external-link\">session ID<\/a> that doesn&#8217;t<br \/>\n  change page content:\n<\/p>\n<div><\/div>\n<h4 id=\"good-practice:\" tabindex=\"-1\">Good practice:<\/h4>\n<p>The directory, <code>\/gummy-candy\/<\/code>, changes the page content in a meaningful way:<\/p>\n<div><\/div>\n<h4 id=\"best-practice:_1\" tabindex=\"-1\">Best practice:<\/h4>\n<p>\n  URL parameters allow more flexibility for search engines to determine how to crawl efficiently.\n<\/p>\n<div><\/div>\n<p>\n  It&#8217;s difficult for automated programs, like search engine crawlers, to differentiate useful values<br \/>\n  (for example, <code>gummy-candy<\/code>) from the useless ones (for example,<br \/>\n  <code>sessionID<\/code>) when values are placed directly in the path. On the other hand, URL<br \/>\n  parameters provide flexibility for search engines to quickly test and determine when a given value<br \/>\n  doesn&#8217;t require the crawler access all variations.\n<\/p>\n<p>Common values that don&#8217;t change page content and should be listed as URL parameters include:<\/p>\n<ul>\n<li>Session IDs<\/li>\n<li>Tracking IDs<\/li>\n<li>Referrer IDs<\/li>\n<li>Timestamp<\/li>\n<\/ul>\n<h3 id=\"worst-practice-3:-converting-user-generated-values-into-possibly-infinite-url-parameters-that-are-crawlable-and-indexable,-but-not-useful-in-search-results.\" tabindex=\"-1\">\n  Worst practice #3: Converting user-generated values into (possibly infinite) URL parameters that<br \/>\n  are crawlable and indexable, but not useful in search results.<br \/>\n<\/h3>\n<h4 id=\"worst-practices:_1\" tabindex=\"-1\">Worst practices:<\/h4>\n<p>\n  For example, user-generated values like longitude\/latitude or &#8220;days ago&#8221; as crawlable and<br \/>\n  indexable URLs:\n<\/p>\n<div><\/div>\n<div><\/div>\n<h4 id=\"best-practices:\" tabindex=\"-1\">Best practices:<\/h4>\n<div><\/div>\n<div><\/div>\n<p>\n  Rather than allow user-generated values to create crawlable URLs&mdash;which leads to infinite<br \/>\n  possibilities with very little value to searchers&mdash;perhaps publish category pages for the<br \/>\n  most popular values, then include additional information so the page provides more value than an<br \/>\n  ordinary search results page. Alternatively, consider placing user-generated values in a separate<br \/>\n  directory and then robots.txt disallow crawling of that directory.\n<\/p>\n<div><\/div>\n<div><\/div>\n<p>with robots.txt:<\/p>\n<div><\/div>\n<h3 id=\"worst-practice-4:-appending-url-parameters-without-logic.\" tabindex=\"-1\">Worst practice #4: Appending URL parameters without logic.<\/h3>\n<h4 id=\"worst-practices:_2\" tabindex=\"-1\">Worst practices:<\/h4>\n<div><\/div>\n<div><\/div>\n<h4 id=\"better-practice:\" tabindex=\"-1\">Better practice:<\/h4>\n<div><\/div>\n<h4 id=\"best-practice:_2\" tabindex=\"-1\">Best practice:<\/h4>\n<div><\/div>\n<p>\n  Extraneous URL parameters only increase duplication, causing less efficient crawling and indexing.<br \/>\n  Therefore, consider stripping unnecessary URL parameters and performing your site&#8217;s &#8220;internal<br \/>\n  maintenance&#8221;  before generating the URL. If many parameters are required for the user session,<br \/>\n  perhaps hide the information in a cookie rather than continually append values like:\n<\/p>\n<div><\/div>\n<h3 id=\"worst-practice-5:-offering-further-refinement-filtering-when-there-are-zero-results.\" tabindex=\"-1\">Worst practice #5: Offering further refinement (filtering) when there are zero results.<\/h3>\n<h4 id=\"worst-practice:_1\" tabindex=\"-1\">Worst practice:<\/h4>\n<p>Allowing users to select filters when zero items exist for the refinement.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-b97083ea4acb.png\" loading=\"lazy\" alt=\"category page that lets users select filters when zero items exist\"><\/p>\n<aside class=\"note\">\n  Refinement to a page with zero results (for example, <code>price=over-10<\/code>) is allowed even<br \/>\n  though it frustrates users and causes unnecessary issues for search engines.<br \/>\n<\/aside>\n<h4 id=\"best-practice:_3\" tabindex=\"-1\">Best practice:<\/h4>\n<p>\n  Only create links\/URLs when it&#8217;s a valid user-selection (items exist). With zero items, grey out<br \/>\n  filtering options. To further improve usability, consider adding item counts next to each filter.\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-5096e7f987a6.png\" loading=\"lazy\" alt=\"categopry page that greys out filters if there aren't any items\"><\/p>\n<aside class=\"note\">\n  Refinement to a page with zero results (for example, <code>price=over-10<\/code>) isn&#8217;t allowed,<br \/>\n  preventing users from making an unnecessary click and search engine crawlers from accessing a<br \/>\n  non-useful page.<br \/>\n<\/aside>\n<p>\n  Prevent useless URLs and minimize the crawl space by only creating URLs when products exist. This<br \/>\n  helps users to stay engaged on your site (fewer clicks on the back button when no products exist),<br \/>\n  and helps minimize potential URLs known to crawlers. Furthermore, if a page isn&#8217;t just temporarily<br \/>\n  out-of-stock, but is unlikely to ever contain useful content, consider returning a<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/how-http-status-codes-affect-googles-crawlers\/\"><code>404<\/code> status code<\/a>.<br \/>\n  With the <code>404<\/code> response, you can include a helpful message to users with more<br \/>\n  navigation options or a search box to find related products.\n<\/p>\n<h2 id=\"new-sites\" tabindex=\"-1\">Best practices for new faceted navigation implementations or redesigns<\/h2>\n<p>\n  New sites that are considering implementing faceted navigation have several options to optimize<br \/>\n  the &#8220;crawl space&#8221; (the totality of URLs on your site known to Googlebot) for unique content pages,<br \/>\n  reduce crawling of duplicative pages, and consolidate indexing signals.\n<\/p>\n<ul>\n<li>\n    Determine which URL parameters are required for search engines to crawl every individual content<br \/>\n    page (for example, determine what parameters are required to create at least one click-path to<br \/>\n    each item). Required parameters may include <code>item-id<\/code>, <code>category-id<\/code>,<br \/>\n    <code>page<\/code>, and others.\n  <\/li>\n<li>\n<p>\n      Determine which parameters would be valuable to searchers and their queries, and which would<br \/>\n      likely only cause duplication with unnecessary crawling or indexing. In the candy store<br \/>\n      example, I may find the URL parameter <code>taste<\/code> to be valuable to searchers for<br \/>\n      queries like &#8220;sour gummy candies&#8221; which could show the result<br \/>\n      <code>example.com\/category.php?category=gummy-candies&amp;taste=sour<\/code>. However, I may<br \/>\n      consider the parameter <code>price<\/code> to only cause duplication, such as<br \/>\n      <code>category=gummy-candies&amp;taste=sour&amp;price=over-10<\/code>. Other common examples:\n    <\/p>\n<ul>\n<li>\n        <b>Valuable parameters to searchers<\/b>: <code>item-id<\/code>, <code>category-id<\/code>,<br \/>\n        <code>name<\/code>, <code>brand<\/code>, and others.\n      <\/li>\n<li>\n        <b>Unnecessary parameters<\/b>: <code>session-id<\/code>, <code>price-range<\/code>, and so on.\n      <\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\n      Consider implementing one of several configuration options for URLs that contain unnecessary<br \/>\n      parameters. Just make sure that the unnecessary URL parameters are never required in a crawler<br \/>\n      or user&#8217;s click path to reach each individual product!\n    <\/p>\n<ul>\n<li>\n<p><b>Option 1<\/b>: <code>rel=\"nofollow\"<\/code> internal links<\/p>\n<p>\n          Make all unnecessary URLs links<br \/>\n          <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/rel-attributes\/\"><code>rel=\"nofollow\"<\/code><\/a>.<br \/>\n          This option minimizes the crawler&#8217;s discovery of unnecessary URLs and therefore reduces<br \/>\n          the potentially explosive crawl space (URLs known to the crawler) that can occur with<br \/>\n          faceted navigation. <code>rel=\"nofollow\"<\/code> doesn&#8217;t prevent the unnecessary URLs from<br \/>\n          being crawled (only a robots.txt <code>disallow<\/code> prevents crawling). By allowing<br \/>\n          them to be crawled, however, you can consolidate indexing signals from the unnecessary<br \/>\n          URLs with a searcher-valuable URL by adding <code>rel=\"canonical\"<\/code> from the<br \/>\n          unnecessary URL to a superset URL (for example<br \/>\n          <code>example.com\/category.php?category=gummy-candies&amp;taste=sour&amp;price=5-10<\/code><br \/>\n          can specify a <code>rel=\"canonical\"<\/code> to the superset &#8220;sour gummy candies&#8221; view-all<br \/>\n          page at<br \/>\n          <code>example.com\/category.php?category=gummy-candies&amp;taste=sour&amp;page=all<\/code>).\n        <\/p>\n<\/li>\n<li>\n<p><b>Option 2<\/b>: Robots.txt <code>disallow<\/code><\/p>\n<p>\n          For URLs with unnecessary parameters, include a <code>\/filtering\/<\/code> directory that<br \/>\n          will be robots.txt disallowed. This lets all search engines crawl good content, but<br \/>\n          will prevent crawling of the unwanted URLs. For instance, if my valuable parameters were<br \/>\n          item, category, and taste, and my unnecessary parameters were session-id and price. I may<br \/>\n          have the URL:\n        <\/p>\n<div><\/div>\n<p>which could link to another URL valuable parameter such as taste:<\/p>\n<div><\/div>\n<p>\n          But for the unnecessary parameters, such as price, the URL includes a predefined<br \/>\n          directory, <code>\/filtering\/<\/code>:\n        <\/p>\n<div><\/div>\n<p>which is then robots.txt disallowed:<\/p>\n<div><\/div>\n<\/li>\n<li>\n<p><b>Option 3<\/b>: Separate hosts<\/p>\n<p>\n          If you&#8217;re not using a CDN (sites using CDNs don&#8217;t have this flexibility easily available<br \/>\n          in Webmaster Tools), consider placing any URLs with unnecessary parameters on a separate<br \/>\n          host&mdash;for example, creating main host <code>www.example.com<\/code> and secondary<br \/>\n          host, <code>www2.example.com<\/code>. On the secondary host (<code>www2<\/code>), set the<br \/>\n          <a href=\"https:\/\/support.google.com\/webmasters\/answer\/48620\" class=\"external-link\">Crawl rate in<br \/>\n          Webmaster Tools<\/a> to &#8220;low&#8221; while keeping the main host&#8217;s crawl rate as high as possible.<br \/>\n          This would allow for more full crawling of the main host URLs and reduces Googlebot&#8217;s<br \/>\n          focus on your unnecessary URLs.\n        <\/p>\n<ul>\n<li>Be sure there remains at least one click path to all items on the main host.<\/li>\n<li>\n            If you&#8217;d like to consolidate indexing signals, consider adding<br \/>\n            <code>rel=\"canonical\"<\/code> from the secondary host to a superset URL on the main host<br \/>\n            (for example<br \/>\n            <code>www2.example.com\/category.php?category=gummy-candies&amp;taste=sour&amp;price=5-10<\/code><br \/>\n            may specify a <code>rel=\"canonical\"<\/code> to the superset &#8220;sour gummy candies&#8221; view-all<br \/>\n            page,<br \/>\n            <code>www.example.com\/category.php?category=gummy-candies&amp;taste=sour&amp;page=all<\/code>).\n          <\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Prevent clickable links when no products exist for the category or filter.<\/li>\n<li>\n<p>Add logic to the display of URL parameters.<\/p>\n<ul>\n<li>\n<p>Remove unnecessary parameters rather than continuously append values. Avoid:<\/p>\n<div><\/div>\n<\/li>\n<li>\n<p>\n          Help the searcher experience by keeping a consistent parameter order based on<br \/>\n          searcher-valuable parameters listed first (as the URL may be visible in search results)<br \/>\n          and searcher-irrelevant parameters last (for example, session ID). Avoid:\n        <\/p>\n<div><\/div>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n    Improve indexing of individual content pages with<br \/>\n    <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/specify-canonical\/\"><code>rel=\"canonical\"<\/code><\/a><br \/>\n    to the preferred version of a page. <code>rel=\"canonical\"<\/code> can be used across hostnames or<br \/>\n    domains.\n  <\/li>\n<li>\n<p>\n      Improve indexing of paginated content (such as <code>page=1<\/code> and <code>page=2<\/code> of<br \/>\n      the category &#8220;gummy candies&#8221;) by either:\n    <\/p>\n<ul>\n<li>\n        Adding <code>rel=\"canonical\"<\/code> from individual component pages in the series to the<br \/>\n        category&#8217;s &#8220;view-all&#8221; page (for example, <code>page=1<\/code>, <code>page=2<\/code>, and<br \/>\n        <code>page=3<\/code> of &#8220;gummy candies&#8221; with <code>rel=\"canonical\"<\/code> to<br \/>\n        <code>category=gummy-candies&amp;page=all<\/code>) while making sure that it&#8217;s still a good<br \/>\n        searcher experience (for example, the page loads quickly).\n      <\/li>\n<li>\n        Using<br \/>\n        <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/pagination-with-relnext-and-relprev\/\">pagination markup with <code>rel=\"next\"<\/code> and <code>rel=\"prev\"<\/code><\/a><br \/>\n        to consolidate indexing properties, such as links, from the component pages\/URLs to the<br \/>\n        series as a whole.\n      <\/li>\n<\/ul>\n<li>\n    Be sure that if using JavaScript to dynamically sort\/filter\/hide content without updating the<br \/>\n    URL, there still exists URLs on your site that searchers would find valuable, such as main<br \/>\n    category and product pages that can be crawled and indexed. For instance, avoid using only the<br \/>\n    home page (or one URL) for your entire site with JavaScript to dynamically change content with<br \/>\n    user navigation&mdash;this would unfortunately provide searchers with only one URL to reach all<br \/>\n    of your content. Also, check that performance isn&#8217;t negatively affected with dynamic filtering,<br \/>\n    as this could undermine the user experience.\n  <\/li>\n<li>\n    Include only canonical URLs in <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/sitemaps-overview\/\">sitemaps<\/a>.\n  <\/li>\n<\/ul>\n<h2 id=\"existing-sites\" tabindex=\"-1\">Best practices for existing sites with faceted navigation<\/h2>\n<p>\n  First, know that the best practices listed above (for example, <code>rel=\"nofollow\"<\/code> for<br \/>\n  unnecessary URLs) still apply if\/when you&#8217;re able to implement a larger redesign. Otherwise, with<br \/>\n  existing faceted navigation, it&#8217;s likely that a large crawl space was already discovered by search<br \/>\n  engines. Therefore, focus on reducing further growth of unnecessary pages crawled by Googlebot and<br \/>\n  consolidating indexing signals.\n<\/p>\n<ul>\n<li>Use parameters (when possible) with standard encoding and key-value pairs.<\/li>\n<li>\n    Verify that values that don&#8217;t change page content, such as session IDs, are implemented as<br \/>\n    standard key-value pairs, not directories.\n  <\/li>\n<li>\n    Prevent clickable anchors when no products exist for the category\/filter. Don&#8217;t allow clicks or<br \/>\n    URLs to be created when no items exist for the filter.\n  <\/li>\n<li>\n<p>\n      Add logic to the display of URL parameters. Remove unnecessary parameters rather than<br \/>\n      continuously append values. For example, avoid:\n    <\/p>\n<div><\/div>\n<\/li>\n<li>\n<p>\n      Help the searcher experience by keeping a consistent parameter order based on<br \/>\n      searcher-valuable parameters listed first (as the URL may be visible in search results) and<br \/>\n      searcher-irrelevant parameters last. For example, avoid:\n    <\/p>\n<div><\/div>\n<p>in favor of:<\/p>\n<div><\/div>\n<\/li>\n<li>\n<p>\n      Configure<br \/>\n      <a href=\"https:\/\/support.google.com\/webmasters\/answer\/1235687\" class=\"external-link\">Webmaster Tools URL Parameters<\/a><br \/>\n      if you have strong understanding of the URL parameter behavior on your site (make sure that<br \/>\n      there is still a clear click path to each individual item\/article). For instance, with URL<br \/>\n      Parameters in Webmaster Tools, you can list the parameter name, the parameters effect on the<br \/>\n      page content, and how you&#8217;d like Googlebot to crawl URLs containing the parameter. The<br \/>\n      following table demonstrates how different settings affect parameters:\n    <\/p>\n<table class=\"responsive\">\n<colgroup>\n<col width=\"10%\" \/>\n<col width=\"45%\" \/>\n<col width=\"45%\" \/>\n      <\/colgroup>\n<thead>\n<tr>\n<td>Parameter name<\/td>\n<td>Effect on content?<\/td>\n<td>What should Googlebot crawl?<\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>trackingId<\/code><\/td>\n<td>None<\/td>\n<td>One representative URL<\/td>\n<\/tr>\n<tr>\n<td><code>SortOrder<\/code><\/td>\n<td>Sorts<\/td>\n<td>Only URLs with value = &#8216;LowToHigh&#8217;<\/td>\n<\/tr>\n<tr>\n<td><code>SortBy<\/code><\/td>\n<td>Sorts<\/td>\n<td>Only URLs with value = &#8216;Price&#8217;<\/td>\n<\/tr>\n<tr>\n<td><code>FilterByColor<\/code><\/td>\n<td>Narrows<\/td>\n<td>No URLs<\/td>\n<\/tr>\n<tr>\n<td><code>itemId<\/code><\/td>\n<td>Specifies<\/td>\n<td>Every URL<\/td>\n<\/tr>\n<tr>\n<td><code>page<\/code><\/td>\n<td>Paginates<\/td>\n<td>Every URL<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li>\n    Be sure that if using JavaScript to dynamically sort, filter, and hide content without updating<br \/>\n    the URL, there still exists URLs on your site that searchers would find valuable, such as main<br \/>\n    category and product pages that can be crawled and indexed. For instance, avoid using only the<br \/>\n    home page (or, one URL) for your entire site with JavaScript to dynamically change content with<br \/>\n    user navigation&mdash;this would unfortunately provide searchers with only one URL to reach all<br \/>\n    of your content. Also, check that performance isn&#8217;t negatively affected with dynamic filtering,<br \/>\n    as this could undermine the user experience.\n  <\/li>\n<li>\n    Improve indexing of individual content pages with<br \/>\n    <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/specify-canonical\/\"><code>rel=\"canonical\"<\/code><\/a><br \/>\n    to the preferred version of a page. <code>rel=\"canonical\"<\/code> can be used across hostnames or<br \/>\n    domains.\n  <\/li>\n<li>\n<p>\n      Improve indexing of paginated content (such as <code>page=1<\/code> and <code>page=2<\/code> of<br \/>\n      the category &#8220;gummy candies&#8221;) by either:\n    <\/p>\n<ul>\n<li>\n        Adding <code>rel=\"canonical\"<\/code> from individual component pages in the series to the<br \/>\n        category&#8217;s &#8220;view-all&#8221; page (for example, <code>page=1<\/code>, <code>page=2<\/code>, and<br \/>\n        <code>page=3<\/code> of &#8220;gummy candies&#8221; with <code>rel=\"canonical\"<\/code> to<br \/>\n        <code>category=gummy-candies&amp;page=all<\/code>) while making sure that it&#8217;s still a good<br \/>\n        searcher experience (for example, the page loads quickly).\n      <\/li>\n<li>\n        Using <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/pagination-with-relnext-and-relprev\/\">pagination markup with <code>rel=\"next\"<\/code> and <code>rel=\"prev\"<\/code><\/a><br \/>\n        to consolidate indexing properties, such as links, from the component pages\/URLs to the<br \/>\n        series as a whole.\n      <\/li>\n<\/ul>\n<\/li>\n<li>\n    Include only canonical URLs in <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/sitemaps-overview\/\">sitemaps<\/a>.\n  <\/li>\n<\/ul>\n<p>\n  Remember that commonly, the simpler you can keep it, the better. Questions? Please ask in our<br \/>\n  <a href=\"https:\/\/support.google.com\/webmasters\/community\" class=\"external-link\">Webmaster discussion forum<\/a>.\n<\/p>\n<p class=\"byline-author\">\n  Written by<br \/>\n  <a href=\"https:\/\/developers.google.com\/search\/blog\/authors\/maile-ohye\" class=\"external-link\">Maile Ohye<\/a>, Developer<br \/>\n  Programs Tech Lead, and Mehmet Aktuna, Crawl Team<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s been a while since we published this blog post. Some of the information may be outdated (for example, some images may be missing, and some links may not work anymore). Specifically, rel=prev\/next is not supported anymore, and the crawl limiter and the URL parameter tools were deprecated. Check out our updated documentation on managing [&hellip;]<\/p>\n","protected":false},"menu_order":83887,"template":"","meta":{"footnotes":""},"ar_kb_kategori":[665],"ar_kb_etiket":[],"class_list":["post-24806","ar_kb","type-ar_kb","status-publish","has-post-thumbnail","hentry","ar_kb_kategori-blog"],"_links":{"self":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/24806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb"}],"about":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/types\/ar_kb"}],"version-history":[{"count":0,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/24806\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media\/27013"}],"wp:attachment":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media?parent=24806"}],"wp:term":[{"taxonomy":"ar_kb_kategori","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb_kategori?post=24806"},{"taxonomy":"ar_kb_etiket","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb_etiket?post=24806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}