My home page could be potentially linked as:http://example.comhttp://example.com/http://example.com/?ref=1http://example.com/index.htmlhttp://example.com/index.html?ref=2(the same page is served for all those URLs)I am thinking about defining a canonical URL to make sure Google doesn't consider those urls to be different pages:<link rel=canonical href=/ /> (relative)<link rel=canonical href=http://example.com/ /> (trailing slash)<link rel=canonical href=http://example.com /> (no trailing slash)Which one should be used? I would just slap / but messing with canonical seems like a scary business so I wanted double check first.Is it a good idea at all for defining a canonical URL for a home page?
Canonical URL for a home page and trailing slashes
seo;url;canonical url;http;trailing slash
According to RFC 2616 (HTTP/1.1), section 3.2.2, the URLs http://www.example.com and http://www.example.com/ are equivalent, and HTTP clients must normalize the former to the latter before sending the request to the server:If the abs_path is not present in the URL, it MUST be given as / when used as a Request-URI for a resource (section 5.1.2).where section 5.1.2 says:Note that the absolute path cannot be empty; if none is present in the original URI, it MUST be given as / (the server root).RFC 3986 (URI Generic Syntax) confirms this in section 6.2.3, Scheme-Based Normalization, noting that:For example, because the http scheme makes use of an authority component, has a default port of 80, and defines an empty path to be equivalent to /, the following four URIs are equivalent:    http://example.com    http://example.com/    http://example.com:/    http://example.com:80/In general, a URI that uses the generic syntax for authority with an empty path should be normalized to a path of /.  Likewise, an explicit :port, for which the port is empty or the default for the scheme, is equivalent to one where the port and its : delimiter are elided and thus should be removed by scheme-based normalization.  For example, the second URI above is the normal form for the http scheme.Technically, the normalization described in RFC 3986 section 6.2.3 is optional for implementations that e.g. merely index URLs, although RFC 2616 makes it mandatory for clients wishing to actually send HTTP requests.  Still, given that the standard permits such normalization, and given that search engines generally don't want to deliberately add duplicates to their index, one can be reasonably sure that just about all search engines will be normalizing all those URLs to be the same.Thus, it makes no difference to either browsers or search engines whether you use http://www.example.com or http://www.example.com/.  They're equivalent.