{"id":16580,"date":"2026-09-02T11:38:02","date_gmt":"2026-09-02T08:38:02","guid":{"rendered":"https:\/\/alienroad.com\/google-bilgi-bankasi\/url-structure\/"},"modified":"2026-09-05T02:45:56","modified_gmt":"2026-09-04T23:45:56","slug":"url-structure","status":"publish","type":"ar_kb","link":"https:\/\/alienroad.com\/google-bilgi-bankasi\/url-structure\/","title":{"rendered":"URL structure best practices for Google Search"},"content":{"rendered":"<p>\n  To make sure Google Search can crawl your site effectively, use a crawlable URL structure that<br \/>\n  meets the following requirements. If your URLs don&#8217;t meet the following criteria, Google Search<br \/>\n  will likely crawl your site inefficiently &mdash; including but not limited to extremely high<br \/>\n  crawl rates, or not at all.\n<\/p>\n<table class=\"responsive fixed\">\n<thead>\n<colgroup>\n<col width=\"20%\"><\/colgroup>\n<tr>\n<th colspan=\"2\">\n<h2 id=\"requirements-for-a-crawlable-url-structure\" tabindex=\"-1\">Requirements for a crawlable URL structure<\/h2>\n<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\n<h3 id=\"follow-ietf-std-66\" tabindex=\"-1\">Follow <a href=\"https:\/\/datatracker.ietf.org\/doc\/std66\/\" class=\"external-link\">IETF STD 66<\/a><\/h3>\n<\/td>\n<td>\n<p>Google Search supports URLs as defined by<br \/>\n          <a href=\"https:\/\/datatracker.ietf.org\/doc\/std66\/\" class=\"external-link\">IETF STD 66<\/a>. Characters defined by<br \/>\n          the standard as <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc3986#section-2.2\" class=\"external-link\">reserved<\/a><br \/>\n          must be <a href=\"https:\/\/developer.mozilla.org\/docs\/Glossary\/Percent-encoding\" class=\"external-link\">percent encoded<\/a>.\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3 id=\"dont-use-url-fragments-to-change-content\" tabindex=\"-1\">Don&#8217;t use URL fragments to change content<\/h3>\n<\/td>\n<td>\n<p>\n          Don&#8217;t use <a href=\"https:\/\/wikipedia.org\/wiki\/URI_fragment\" class=\"external-link\">fragments<\/a> to change the<br \/>\n          content of a page, as Google Search generally doesn&#8217;t support URL fragments. Here&#8217;s an<br \/>\n          example of a URL fragment:\n        <\/p>\n<div><\/div>\n<p>\n          If you&#8217;re using JavaScript to change content, <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/javascript-seo-basics\/#use-history-api\">use the History API<\/a><br \/>\n          instead.\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3 id=\"use-a-common-encoding-for-url-parameters\" tabindex=\"-1\">Use a common encoding for URL parameters<\/h3>\n<\/td>\n<td>\n<p>When specifying URL parameters, use the following common encoding: an equal sign<br \/>\n          (<code>=<\/code>) to separate key-value pairs and add additional parameters with an<br \/>\n          ampersand (<code>&<\/code>). To list multiple values for the same key within a key-value<br \/>\n          pair, you can use any character that doesn&#8217;t conflict with<br \/>\n          <a href=\"https:\/\/datatracker.ietf.org\/doc\/std66\/\" class=\"external-link\">IETF STD 66<\/a>, such as a comma<br \/>\n          (<code>,<\/code>).\n        <\/p>\n<table class=\"fixed vertical-rules\">\n<tr>\n<th>\n              <span class=\"compare-yes\" aria-hidden=\"true\"><\/span>Recommended\n            <\/th>\n<th>\n              <span class=\"compare-no\" aria-hidden=\"true\"><\/span>Not recommended\n            <\/th>\n<\/tr>\n<tr>\n<td>\n              Using an equal sign (<code>=<\/code>) to separate key-value pairs and an ampersand<br \/>\n              (<code>&<\/code>) to add additional parameters:<\/p>\n<div><\/div>\n<\/td>\n<td>\n              Using a colon (<code>:<\/code>) to separate key-value pairs and brackets (<code>[ ]<\/code>)<br \/>\n              to add additional parameters:<\/p>\n<div><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td>\n              Using a comma (<code>,<\/code>) to list multiple values for the same key, an equal sign<br \/>\n              (<code>=<\/code>) to separate key-value pairs, and an ampersand (<code>&<\/code>) to add<br \/>\n              additional parameters:<\/p>\n<div><\/div>\n<\/td>\n<td>\n              Using a single comma (<code>,<\/code>) to separate key-value pairs and double<br \/>\n              commas (<code>,,<\/code>) to add additional parameters:<\/p>\n<div><\/div>\n<\/td>\n<\/tr>\n<\/table>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"best-practices\" tabindex=\"-1\">Make it easy to understand your URL structure<\/h2>\n<p>\n  To help Google Search (and your users) better understand your site, we recommend creating a simple<br \/>\n  URL structure, applying the following best practices when possible.\n<\/p>\n<aside class=\"note\">\n  Consider organizing your content so that URLs are constructed logically and in a manner that is<br \/>\n  most intelligible to humans. For information on structuring your site as a whole, check out<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/seo-starter-guide\/#group-topically\">this section of the SEO Starter Guide<\/a>.<br \/>\n<\/aside>\n<table class=\"responsive fixed\">\n<thead>\n<colgroup>\n<col width=\"20%\"><\/colgroup>\n<tr>\n<th colspan=\"2\">Best practices<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\n<h3 id=\"use-descriptive-urls\" tabindex=\"-1\">Use descriptive URLs<\/h3>\n<\/td>\n<td>\n<p>When possible, use readable words rather than long ID numbers in your URLs.<\/p>\n<table class=\"fixed vertical-rules\">\n<tr>\n<th>\n              <span class=\"compare-yes\" aria-hidden=\"true\"><\/span>Recommended (simple, descriptive words)\n            <\/th>\n<th>\n              <span class=\"compare-no\" aria-hidden=\"true\"><\/span>Not recommended (unreadable, long ID numbers)\n            <\/th>\n<\/tr>\n<tr>\n<td>\n<div><\/div>\n<\/td>\n<td>\n<div><\/div>\n<\/td>\n<\/tr>\n<\/table>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3 id=\"use-your-audiences-language\" tabindex=\"-1\">Use your audience&#8217;s language<\/h3>\n<\/td>\n<td>\n<p>Use words in your audience&#8217;s language in the URL (and, if applicable, transliterated words).<br \/>\n          For example, if your audience is searching in German, use German words in the URL:\n        <\/p>\n<div><\/div>\n<p>\n          Or if your audience is searching in Japanese, use Japanese words in the URL:\n        <\/p>\n<div><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3 id=\"use-percent-encoding-as-necessary\" tabindex=\"-1\">Use percent encoding as necessary<\/h3>\n<\/td>\n<td>\n<p>When <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/internal-links\/\">linking to pages on your site<\/a>,<br \/>\n          use percent encoding in your links&#8217;s <code>href<\/code> attributes as necessary. Unreserved<br \/>\n          ASCII characters may be left in the non-encoded form. Additionally, characters in the<br \/>\n          non-ASCII range should be percent encoded. For example:\n        <\/p>\n<table class=\"fixed vertical-rules\">\n<tr>\n<th><span class=\"compare-yes\" aria-hidden=\"true\"><\/span>Recommended (percent encoding)<\/th>\n<th><span class=\"compare-no\" aria-hidden=\"true\"><\/span>Not recommended (non-ASCII characters)<\/th>\n<\/tr>\n<tr>\n<td>\n<div><\/div>\n<\/td>\n<td>\n<div><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<div><\/div>\n<\/td>\n<td>\n<div><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<div><\/div>\n<\/td>\n<td>\n<div><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<div><\/div>\n<\/td>\n<td>\n<div><\/div>\n<\/td>\n<\/tr>\n<\/table>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3 id=\"use-hyphens-to-separate-words\" tabindex=\"-1\">Use hyphens to separate words<\/h3>\n<\/td>\n<td>\n<p>We recommend separating words in your URLs, when possible. Specifically, we recommend using<br \/>\n        hyphens (<code>-<\/code>) instead of underscores (<code>_<\/code>) to<br \/>\n        separate words in your URLs, as it helps users and search engines better identify<br \/>\n        concepts in the URL. For historical reasons, we don&#8217;t recommend using underscores, as<br \/>\n        this style is already commonly used for denoting concepts that should be kept together,<br \/>\n        for example, by various programming languages to name functions (such as <code>format_date<\/code>).\n      <\/p>\n<table class=\"fixed vertical-rules\">\n<tr>\n<th>\n            <span class=\"compare-yes\" aria-hidden=\"true\"><\/span>Recommended\n          <\/th>\n<th>\n            <span class=\"compare-no\" aria-hidden=\"true\"><\/span>Not recommended\n          <\/th>\n<\/tr>\n<tr>\n<td>\n<p>Using hyphens (<code>-<\/code>) to separate words:<\/p>\n<div><\/div>\n<\/td>\n<td>\n<p>Using underscores (<code>_<\/code>) to separate words:<\/p>\n<div><\/div>\n<p>Joining words together in the URL:<\/p>\n<div><\/div>\n<\/td>\n<\/tr>\n<\/table>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3 id=\"use-as-few-parameters-as-you-can\" tabindex=\"-1\">Use as few parameters as you can<\/h3>\n<\/td>\n<td>Whenever possible, shorten URLs by trimming unnecessary parameters (meaning, parameters<br \/>\n      that don&#8217;t change the content).\n    <\/td>\n<\/tr>\n<tr>\n<td>\n<h3 id=\"be-aware-that-urls-are-case-sensitive\" tabindex=\"-1\">Be aware that URLs are case sensitive<\/h3>\n<\/td>\n<td>Like any other HTTP client following IETF STD 66, Google Search&#8217;s URL handling is case<br \/>\n      sensitive (for example, Google treats both <code>\/APPLE<\/code> and <code>\/apple<\/code> as<br \/>\n      distinct URLs with their own content). If upper and lower case text in a URL is treated<br \/>\n      the same by your web server, convert all text to the same case so it&#8217;s easier for Google<br \/>\n      to determine that URLs reference the same page.\n    <\/td>\n<\/tr>\n<tr>\n<td>\n<h3 id=\"for-multi-regional-sites\" tabindex=\"-1\">For multi-regional sites<\/h3>\n<\/td>\n<td>\n<p>If your site is multi-regional, consider using a URL structure that makes it easy to<br \/>\n        geotarget your site. For more examples of how you can structure your URLs, refer to<br \/>\n        <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/managing-multi-regional-and-multilingual-sites\/#locale-specific-urls\">using locale-specific URLs<\/a>.\n      <\/p>\n<p>\n        <span class=\"compare-yes\" aria-hidden=\"true\"><\/span>Recommended (using a country-specific domain):\n      <\/p>\n<div><\/div>\n<p>\n        <span class=\"compare-yes\" aria-hidden=\"true\"><\/span>Recommended (using a country-specific subdirectory with gTLD):\n      <\/p>\n<div><\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"common-issues\" tabindex=\"-1\">Avoid common issues related to URLs<\/h2>\n<p>\n  Overly complex URLs, especially those containing multiple parameters, can cause problems for<br \/>\n  crawlers by creating unnecessarily high numbers of URLs that point to identical or similar<br \/>\n  content on your site. As a result, Googlebot may consume much more bandwidth than necessary, or<br \/>\n  Google Search may be unable to completely index all the content on your site.\n<\/p>\n<p>\n  Unnecessarily high numbers of URLs can be caused by a number of issues. These include:\n<\/p>\n<table class=\"responsive fixed\">\n<thead>\n<colgroup>\n<col width=\"20%\"><\/colgroup>\n<tr>\n<th colspan=\"2\">Common issues<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\n<h3 id=\"additive-filtering-of-a-set-of-items\" tabindex=\"-1\">Additive filtering of a set of items<\/h3>\n<\/td>\n<td>\n<p>Many sites provide different views of the same set of items or search results, often<br \/>\n       allowing the user to filter this set using defined criteria (for example: show me hotels on<br \/>\n       the beach). When filters can be combined in an additive manner (for example: hotels on the<br \/>\n       beach and with a fitness center), the number of URLs (views of data) in the sites explodes.<br \/>\n       Creating a large number of slightly different lists of hotels is redundant, as Googlebot<br \/>\n       only needs to see a small number of lists from which it can reach the page for each hotel.<br \/>\n       For example:\n     <\/p>\n<ul>\n<li>Hotel properties at &#8220;value rates&#8221;:\n<div><\/div>\n<\/li>\n<li>Hotel properties at &#8220;value rates&#8221; on the beach:\n<div><\/div>\n<\/li>\n<li>Hotel properties at &#8220;value rates&#8221; on the beach and with a fitness center:\n<div><\/div>\n<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3 id=\"irrelevant-parameters\" tabindex=\"-1\">Irrelevant parameters<\/h3>\n<\/td>\n<td>\n<p>Irrelevant parameters in the URL can cause a large number of URLs, such as:<\/p>\n<ul>\n<li>Referral parameters:\n<div><\/div>\n<div><\/div>\n<div><\/div>\n<\/li>\n<li>Shopping sorting parameters:\n<div><\/div>\n<\/li>\n<li>Session IDs:\n<div><\/div>\n<aside class=\"note\">Wherever possible, avoid the use of session IDs in URLs and consider<br \/>\n            using cookies instead.<\/aside>\n<\/li>\n<\/ul>\n<p>\n          Consider using a <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/robots-txt-intro\/\">robots.txt file<\/a><br \/>\n          to block Googlebot&#8217;s access to these problematic URLs.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3 id=\"calendar-issues\" tabindex=\"-1\">Calendar issues<\/h3>\n<\/td>\n<td>\n<p>A dynamically generated calendar might generate links to future and previous dates with<br \/>\n        no restrictions on start or end dates. For example:<\/p>\n<div><\/div>\n<p>\n          If your site has an infinite calendar, add a <code><a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/rel-attributes\/#nofollow\">nofollow<\/a><\/code><br \/>\n          attribute to links to dynamically created future calendar pages.\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3 id=\"broken-relative-links\" tabindex=\"-1\">Broken relative links<\/h3>\n<\/td>\n<td>Placing a <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/URL_API\/Resolving_relative_references#parent-directory_relative\" class=\"external-link\">parent-relative link<\/a><br \/>\n        on the wrong page may create infinite spaces if your server doesn&#8217;t respond with the right<br \/>\n        HTTP status code for nonexistent pages. For example, a parent-relative link such as<br \/>\n        <code>&lt;a href=\"..\/..\/category\/stuff\"&gt;...&lt;\/a&gt;<\/code> on <code>https:\/\/example.com\/category\/community\/070413\/html\/FAQ.htm<\/code><br \/>\n        may lead to bogus URLs such as <code>https:\/\/example.com\/category\/community\/category\/stuff<\/code>.<br \/>\n        To fix, use root-relative URLs in your links (instead of parent-relative).\n      <\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"fixing-url-structure-problems\" tabindex=\"-1\">Fixing crawling-related URL structure problems<\/h2>\n<p>\n  If you notice that Google Search is crawling these problematic URLs, we recommend the following:\n<\/p>\n<ul>\n<li>Consider using a <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/robots-txt-intro\/\">robots.txt file<\/a> to<br \/>\n    block Googlebot&#8217;s access to <a href=\"#common-issues\">problematic URLs<\/a>. Typically, consider<br \/>\n    blocking dynamic URLs, such as URLs that generate search results, or URLs that can create<br \/>\n    infinite spaces, such as calendars, and ordering and filtering functions.\n  <\/li>\n<li>If your site has faceted navigation, learn how to<br \/>\n    <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/managing-crawling-of-faceted-navigation-urls\/#prevent-crawling-of-faceted-navigation-urls\">manage crawling of those faceted navigation URLs<\/a>.\n  <\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s a good idea to keep your site&#8217;s URL structure as simple as possible. Learn more about the URL format recommended by Google, such as the use of hyphens, underscores, and domain structure.<\/p>\n","protected":false},"menu_order":16,"template":"","meta":{"footnotes":""},"ar_kb_kategori":[681],"ar_kb_etiket":[532,592,591],"class_list":["post-16580","ar_kb","type-ar_kb","status-publish","has-post-thumbnail","hentry","ar_kb_kategori-crawling-and-indexing","ar_kb_etiket-crawling","ar_kb_etiket-structure","ar_kb_etiket-url"],"_links":{"self":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/16580","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":2,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/16580\/revisions"}],"predecessor-version":[{"id":25583,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/16580\/revisions\/25583"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media\/26343"}],"wp:attachment":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media?parent=16580"}],"wp:term":[{"taxonomy":"ar_kb_kategori","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb_kategori?post=16580"},{"taxonomy":"ar_kb_etiket","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb_etiket?post=16580"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}