To handle Canonical URL is it best practice to do a 301 redirect or better to have the same IP Address for both www and non www domain?
For example:
Canonical URL/domain wanted is http://example.com
Domain | A Record
------------------------------------
example.com | 192.0.2.34
www.example.com | 192.0.2.34
I understand people may have a CNAME record for www (alias, given that CNAME is called Canonical Name); unsure if this is best practice compared to using the same IP address.
Or is this better.
Domain | A Record
------------------------------------
example.com | 192.0.2.34
* www.example.com 301 redirect to example.com
The mechanisms you describe (A
and CNAME
records vs. 301
redirects) are part of two different protocols (DNS and HTTP). A
and CNAME
records have nothing to do with which site your HTTP server serves for different requests.
Let's look at two different DNS configurations:
Host | Type | Data
-----------------+-------+-------------
example.com | A | 192.0.2.34
www.example.com | CNAME | example.com
nslookup example.com
resolves to 192.0.2.34
nslookup www.example.com
resolves to 192.0.2.34
Host | Type | Data
-----------------+-------+-------------
example.com | A | 192.0.2.34
www.example.com | A | 192.0.2.34
nslookup example.com
resolves to 192.0.2.34
nslookup www.example.com
resolves to 192.0.2.34
In both cases your canonical domain and your www
subdomain resolve to 192.0.2.34
. However, the only thing your HTTP server will recognize is that it receives requests for both example.com
and www.example.com
on the same IP address. But it doesn't know whether you used A
or CNAME
records for that.
You have to use HTTP 301 redirects to enforce the canonical example.com
in HTTP requests. But that has nothing to do with your DNS configuration.