Moz Q&A is closed.
After more than 13 years, and tens of thousands of questions, Moz Q&A closed on 12th December 2024. Whilst we’re not completely removing the content - many posts will still be possible to view - we have locked both new posts and new replies. More details here.
Canonical and Alternate Advice
-
At the moment for most of our sites, we have both a desktop and mobile version of our sites. They both show the same content and use the same URL structure as each other. The server determines whether if you're visiting from either device and displays the relevant version of the site.
We are in a predicament of how to properly use the canonical and alternate rel tags. Currently we have a canonical on mobile and alternate on desktop, both of which have the same URL because both mobile and desktop use the same as explained in the first paragraph.
Would the way of us doing it at the moment be correct?
-
That would normally be the case but not tonight.
LOL, I am picking up a lot of the UK Q&A I will be at BrightonSEO and search love London if any of you guys will be in the area I'd love to grab a pint?
sincerely,
Thomas
-
The reason we answered 'quickly' by the way is because we are in the UK - you were still in bed lol!
-
There is only ONE URL that is the point.
If they share the same URL then you only have one page of code so ONE canonical
Regards
Nigel
-
Sorry Nigel
was not trying to make this more complicated was just trying to make sure that we were all on the same page.
FYI if you need a method of adding the rel canonical to your website quickly you can use Google tag manager or if you want to add to the header
https://support.stackpath.com/hc/en-us/articles/360001445283-EdgeRules-Adding-a-Canonical-Header
-
So a self referencing canonical on both mobile and desktop versions of the site, regardless if they chuck out two version with the same content?
-
Hi JH
I'm sure Thomas means well with his multiple complicated posts but all of this is totally unnecessary.
Both sites are serving the same URL
You can't put a rel=alternative because there is nothing to point to.
Just put a self-referencing canonical. I said that 2 hours ago!
That is all.
Regards Nigel
-
Use a self-referencing canonical
https://blog.seoprofiler.com/google-recommend-self-referencing-canonical-tags/
Please let me know if you want me to remove the image below?
you can use this one if needed http://bseo.io/c1vMSv
-
I've been told to pass on a URL, thanks for your help Thomas!
-
Hey man I understand is a big deal
could you do me a huge favor and run your site through screaming frog SEO spider send me a couple of pages with the domains whited out so I can tell you 100% what to do in this situation because I am basing this on what you have told me and honestly I would like to look at what a tool can show me and that will tell me what I need to do.
Or you can tell me if the mobile version of the site hit's Google's index yes or no?
respectfully,
Tom
-
So both mobile and desktop require a self referencing canonical(in both headers)?
Sorry for the questions, just need to make sure! It's a very touchy subject!
-
The single self-referencing URL will work.
-
What URLs are you using with the “alternate” tag on?
You said
”1. We have multiple brand sites, that have a similar setup. They all have mobile and desktop versions of the sites running on the same URL, both of which show the same content.2. The server determines whether if you're on a desktop or mobile devices using the header information, and points the user to the site relevant files for the given device.”
thats Dynamic serving same URL
Dynamic serving is a setup where the server responds with different HTML (and CSS) on the same URL depending on which user agent requests the page (mobile, tablet, or desktop).
that would NOT give you the mobile or m.example.com & www.example.com different URLs
**But If you do have a different m.example.com & www.example.com URLs you should use this code or XML site maps **
for different URLs use this:
Annotations in the HTML
On the desktop page (http://www.example.com/page-1), add the following annotation:
<linkrel="alternate"media="only screen="" and="" (max-width:="" 640px)"<="" span="">href="http://m.example.com/page-1"></linkrel="alternate"media="only>
On the mobile page (http://m.example.com/page-1), the required annotation should be:
<linkrel="canonical"href="http: www.example.com="" page-1"=""></linkrel="canonical"href="http:>
This rel="canonical" tag on the mobile URL pointing to the desktop page is required.
Or
Annotations in sitemaps
We support including the rel="alternate"annotation for the desktop pages in sitemaps like this:
<urlsetxmlns="http: www.sitemaps.org="" schemas="" sitemap="" 0.9"<="" span="">xmlns:xhtml="http://www.w3.org/1999/xhtml">
<loc>http://www.example.com/page-1/</loc>
<xhtml:linkrel="alternate"media="only screen="" and="" (max-width:="" 640px)"<="" span="">href="http://m.example.com/page-1"/></xhtml:linkrel="alternate"media="only></urlsetxmlns="http:>You should have the same URL on mobile and desktop
You should have the same rel canonical tag on your URLs unless and this is a big unless you're talking about using Google AMP?
If the URL you want to be indexed is the same URL point everything to that URL if that makes it easier to understand.
respectfully,
Tom
-
Just to confirm, are we suppose to have a canonical on desktop and mobile or just desktop?
This would mean removing the alternate?
Want to confirm everything before iterating this across to others.
We are not using AMP, just a standard site setup.
-
Unless you are using AMP?
Then you would add
Linking pages with
In order to solve this problem, we add information about the AMP page to the non-AMP page and vice versa, in the form of tags in the .
Add the following to the non-AMP page:
<link rel="amphtml" href="https://www.example.com/url/to/amp/document.html">
And this to the AMP page:
<link rel="canonical" href="https://www.example.com/url/to/full/document.html">
are you using AMP pages?
https://support.google.com/webmasters/answer/139066?hl=en
https://www.ampproject.org/docs/fundamentals/discovery
I hope that helps you if not please let me know.
Respectfully,
Tom
-
Cool, that's what I thought when I heard your description I just wanted to be very thorough because sometimes you get very little information and I appreciate you letting me know that.
dynamic serving URLs are identical to each other so you should have a self-referencing canonical tag because the URL does not change the real canonical tag just decides what should be in the index and the same URL.
You're Rel canonical should be something like this example below
Example URL https://www.example.com/example-url/
because the end URL is the same and URL that you want to be indexed in Google you want to be certain that you have a self-referencing URL to prevent query strings and other things like that and you do not need to point a URL to an identical URL you just need a self-referencing canonical if that makes sense.
See: https://yoast.com/rel-canonical/
I hope that is of help,
Tom
-
Hi,
I can't give off too much information as it's not my call, but I can answer your questions without mentioning the brands.
1. We have multiple brand sites, that have a similar setup. They all have mobile and desktop versions of the sites running on the same URL, both of which show the same content.
2. The server determines whether if you're on a desktop or mobile devices using the header information, and points the user to the site relevant files for the given device.
3. Our sites would quite clearly fit in the dynamic serving category.
We have 301 redirects on none www to www and http to https.
-
This is the correct solution!
-
The URLs are identical it is just the content that is served that may be slightly different.
Since you can only specify one canonical for each URL it makes no difference. Just self-reference and that is it.
If you had to different URLs then it would be an issue where you woudl need a rel=alternative so there is nothing to worry about.
Regards
Nigel
-
You guys are fast I was going to answer this and had to do some other things but let me weigh in on couple things.
as you said
“We are in a predicament of how to properly use the canonical and alternate rel tags**. Currently we have a canonical on mobile and alternate on desktop, both of which have the same URL because both mobile and desktop use the same as explained in the first paragraph.”**
so what you’re saying is that you have a dynamic site so you don’t need to add “alternate"media” tags to the site.
https://developers.google.com/search/mobile-sites/mobile-seo/dynamic-serving
As it is not immediately apparent in this setup that the site alters the HTML for mobile user agents (the mobile content is "hidden" when crawled with a desktop user agent), it’s recommend that the server send a hint to request that Googlebot for smartphones also crawl the page, and thus discover the mobile content. This hint is implemented using the Vary HTTP header.
**you don’t need this **
Annotations in the HTML
On the desktop page (
http://www.example.com/page-1
), add the following annotation:<code dir="ltr"><linkrel="alternate"media="only screen="" and="" (max-width:="" 640px)"<br="">href="http://m.example.com/page-1"></linkrel="alternate"media="only></code>
On the mobile page (
http://m.example.com/page-1
), the required annotation should be:<code dir="ltr"><linkrel="canonical"href="http: www.example.com="" page-1"=""></linkrel="canonical"href="http:></code>
This
rel="canonical"
tag on the mobile URL pointing to the desktop page is required.Annotations in sitemaps
We support including the
rel="alternate"
annotation for the desktop pages in sitemaps like this:<code dir="ltr"><urlsetxmlns="http: www.sitemaps.org="" schemas="" sitemap="" 0.9"<br="">xmlns:xhtml="http://www.w3.org/1999/xhtml"> <url><loc>http://www.example.com/page-1/</loc> <xhtml:linkrel="alternate"media="only screen="" and="" (max-width:="" 640px)"<br="">href="http://m.example.com/page-1"/></xhtml:linkrel="alternate"media="only></url></urlsetxmlns="http:></code>
The required
rel="canonical"
tag on the mobile URL should still be added to the mobile page's HTML.**to be sure **
Are you willing to share your domain with us? Or one domain?
-
We're talking about multiple websites that all have the identical site structure or at least mobile and desktop site structure?
-
Your server is making the change for you?
-
Would you be kind enough to install this plug-in on chrome in order for you to show a couple examples of the canonical and the URL?
- https://chrome.google.com/webstore/detail/portents-seo-page-review/babgchcegnkbiojmdpnoilficladccfm?hl=en-US
- https://chrome.google.com/webstore/detail/link-redirect-trace/nnpljppamoaalgkieeciijbcccohlpoh?hl=en
In addition, would you be kind enough to run your site through the two tools here ( 100% free and very easy to use)
If you would not mind doing this and sending screenshots it would mean a lot to us and getting your canonical's straightened out.
screenshots https://snag.gy/ then upload to http://imgur.com/
everything is on the same server I'm assuming?
Of the three below how would you categorize your site?
- https://developers.google.com/search/mobile-sites/mobile-seo/separate-urls
- https://developers.google.com/search/mobile-sites/mobile-seo/dynamic-serving
- https://developers.google.com/search/mobile-sites/mobile-seo/responsive-design
Respectfully,
Tom
-
-
Would this mean we need canonical only on desktop or mobile site?
-
You are right - you could only use teh rel=alternate if there was an m. version or similar
Regards
Nigel
-
The self referencing canonical advice was solid and I 100% agree with it. The rel=alternate advice, I felt would cause problems (IMO). But as we all know, fiddly issues like this are highly subjective
-
Then there is no problem simply putting a self-referencing canonical. There is in effect no mobile version as there is a single URL so no need for a rel=alternate.
It's an even easier solution. Well, there isn't a problem in the first place.
rel=alternate is only necessary if you have two different URLs! The fact they are the same takes away the problem.
Regards
Nigel
-
Your problem is that you have two different sites loading on the same URL. If you are returning both the mobile and desktop / laptop site on the same URL, you would be expected to be using responsive design. In-fact, you may have re-invented another different way to implement responsive design which is probably, slightly less fluid yet slightly more efficient :')
Since your mobile and desktop pages both reside on exactly the same URL, I'd test the page(s) with this tool (the mobile friendly tool) and this tool (the page-speed insights tool). If Google correctly views your site as mobile friendly, and if within PageSpeed insights Google is correctly differentiating between the mobile and desktop site versions (check the mobile and desktop tabs) then both URLs should canonical to themselves (self referencing canonical) and no alternate tag should be used or deployed. Google will misread the alternate tag, which points to itself - as an error. That tag is to be used when your separate mobile site (page) exists on a separate URL, like an 'm.' subdomain or something like that
Imagine you are Googlebot. You are crawling in desktop mode, load the desktop URL version and find that the page says, it (itself) is also the mobile page. You'd get really confused
Check to see whether your implementation is even supported by Google using the tools I linked you to. If it is, then just use self referencing canonical tags and do not deploy alternate tags (which would make no sense, since both versions of the site are on the same URL). When people build responsive sites (same source code on the same URL, but it's adaptive CSS which re-organises the contents of the page based upon viewport widths) - they don't use alternate tags, only canonicals
Since your situation is more similar to responsive design (from a crawling perspective) than it is to separate mobile site design, drop the alt
-
The problem with this is, where you say "corresponding mobile URL" - there isn't one as OP has stated that, two different source codes (pages) can be rendered on the same URL depending upon the user's screen size / user-agent (however they are detecting mobile, and serving different pages)
-
Hi JH
This is very straightforward.
Use the following annotations:
- On the desktop page, add a rel=”alternate” tag pointing to the corresponding mobile URL. This helps Googlebot discover the location of your site’s mobile pages.
- On the mobile page, add a link rel=”canonical” tag pointing to the corresponding desktop URL.
It is that simple and doing this will not create duplicate content
More here: https://developers.google.com/search/mobile-sites/mobile-seo/separate-urls
Regards Nigel
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
Alternate page with proper canonical tag Status: Excluded in Google webmaster tools.
In Google Webmaster Tools, I have a coverage issue. I am getting this error message: Alternate page with proper canonical tag Status: Excluded. It gives the below blog post page as an example. Any idea how to resolve? At one time, I was using handl utm grabber, but the plugin is deactivated on my website. https://www.savacations.com/turrialba-costa-ricas-garden-city/?utm_source=deleted&utm_medium=deleted&utm_term=deleted&utm_content=deleted&utm_campaign=deleted&gclid=deleted5.
Intermediate & Advanced SEO | | Alancito0 -
Should I apply Canonical Links from my Landing Pages to Core Website Pages?
I am working on an SEO project for the website: https://wave.com.au/ There are some core website pages, which we want to target for organic traffic, like this one: https://wave.com.au/doctors/medical-specialties/anaesthetist-jobs/ Then we have basically have another version that is set up as a landing page and used for CPC campaigns. https://wave.com.au/anaesthetists/ Essentially, my question is should I apply canonical links from the landing page versions to the core website pages (especially if I know they are only utilising them for CPC campaigns) so as to push link equity/juice across? Here is the GA data from January 1 - April 30, 2019 (Behavior > Site Content > All Pages😞
Intermediate & Advanced SEO | | Wavelength_International0 -
Spammy page with canonical reference to my website
A potentially spammy website http://www.rofof.com/ has included a rel canonical tag pointing to my website. They've included the tag on thousands of pages on their website. Furthermore http://www.rofof.com/ appears to have backlinks from thousands of other low-value domains For example www.kazamiza.com/vb/kazamiza242122/, along with thousands of other pages on thousands of other domains all link to pages on rofof.com, and the pages they link to on rofof.com are all canonicalized to a page on my site. If Google does respect the canonical tag on rofof.com and treats it as part of my website then the thousands of spammy links that point to rofof.com could be considered as pointing to my website. I'm trying to contact the owner of www.rofof.com hoping to have the canonical tag removed from their website. In the meantime, I've disavowed the www.rofof.com, the site that has canonical tag. Will that have any effect though? Will disavow eliminate the effect of a rel canonical tag on the disavowed domain or does it only affect links on the disavowed website? If it only affects links then should I attempt to disavow all the pages that link to rofof.com? Thanks for reading. I really appreciate any insight you folks can offer.
Intermediate & Advanced SEO | | brucepomeroy2 -
Please help need some advice?
Can any of you guys please help me I have alerts on links coming in and it looks like recently someone did this, it looks maliciously done as it is only our domain mentioned and most are brand new posts? http://testosteroneclinicindenve53950.shotblogs.com/testosterone-clinic-in-denver-fundamentals-explained-6102386 http://claytondmnnp.ampedpages.com/Details-Fiction-and-testosterone-clinic-in-denver-16897309 http://vinylvehiclecarwrap38041.alltdesign.com/a-review-of-vinyl-vehicle-car-wrap-9574042 http://devinxccct.educationalimpactblog.com/1784474/little-known-facts-about-vinyl-vehicle-car-wrap http://keeganbsftf.ka-blogs.com/7488539/how-vinyl-vehicle-car-wrap-can-save-you-time-stress-and-money http://andybxoes.thezenweb.com/vinyl-vehicle-car-wrap-Fundamentals-Explained-17581028 http://kylerhfdzu.blogkoo.com/not-known-details-about-vinyl-vehicle-car-wrap-9029141 http://troyytkyn.timeblog.net/7695911/the-greatest-guide-to-vinyl-vehicle-car-wrap http://waylontyzab.pointblog.net/testosterone-clinic-in-denver-Secrets-16335972 http://testosteroneclinicindenve30516.onesmablog.com/Top-testosterone-clinic-in-denver-Secrets-17252737 http://emiliogkmop.blogofoto.com/7667522/top-guidelines-of-testosterone-clinic-in-denver http://caidenaczxt.blogs-service.com/7514172/testosterone-clinic-in-denver-fundamentals-explained http://daltonpyfms.mybjjblog.com/5-simple-statements-about-testosterone-clinic-in-denver-explained-6517932 Should I try to disavow these and submit to google or will google know our site which has been up for 5 years is not doing this? Should I do any of these https://tehnoblog.org/google-webmaster-tools-my-website-got-bombed-with-backlinks-what-to-do/
Intermediate & Advanced SEO | | BobAnderson0 -
Google Ignoring Canonical Tag for Hundreds of Sites
Bazaar Voice provides a pretty easy-to-use product review solution for websites (especially sites on Magento): https://www.magentocommerce.com/magento-connect/bazaarvoice-conversations-1.html If your product has over a certain number of reviews/questions, the plugin cuts off the number of reviews/questions that appear on the page. To see the reviews/questions that are cut off, you have to click the plugin's next or back function. The next/back buttons' URLs have a parameter of "bvstate....." I have noticed Google is indexing this "bvstate..." URL for hundreds of sites, even with the proper rel canonical tag in place. Here is an example with Microsoft: http://webcache.googleusercontent.com/search?q=cache:zcxT7MRHHREJ:www.microsoftstore.com/store/msusa/en_US/pdp/Surface-Book/productID.325716000%3Fbvstate%3Dpg:8/ct:r+&cd=2&hl=en&ct=clnk&gl=us My website is seeing hundreds of these "bvstate" urls being indexed even though we have a proper rel canonical tag in place. It seems that Google is ignoring the canonical tag. In Webmaster Console, the main source of my duplicate titles/metas in the HTML improvements section is the "bvstate" URLs. I don't necessarily want to block "bvstate" in the robots.txt as it will prohibit Google from seeing the reviews that were cutoff. Same response for prohibiting Google from crawling "bvstate" in Paramters section of Webmaster Console. Should I just keep my fingers crossed that Google honors the rel canonical tag? Home Depot is another site that has this same issue: http://webcache.googleusercontent.com/search?q=cache:k0MBLFcu2PoJ:www.homedepot.com/p/DUROCK-Next-Gen-1-2-in-x-3-ft-x-5-ft-Cement-Board-172965/202263276%23!bvstate%3Dct:r/pg:2/st:p/id:202263276+&cd=1&hl=en&ct=clnk&gl=us
Intermediate & Advanced SEO | | redgatst1 -
Does a non-canonical URL pass link juice?
Our site received a great link from URL A, which was syndicated to URL B. But URL B is canonicalized to URL A. Does the link on URL B pass juice to my site? (See image below for a visual representation of my question) zgbzqBy
Intermediate & Advanced SEO | | Choice1 -
Wildcard Redirects & Canonical Tags
I have an interesting situation. Current URLs Example1: www.domain.com/red-widgets-cid-1234.html
Intermediate & Advanced SEO | | NakulGoyal
www.domain.com/red-widgets-cid-1234-1.html
www.domain.com/red-widgets-cid-1234-1-1.html Canonical on All Above URLs:
www.domain.com/red-widgets-cid-1234.html New URL:
www.domain.com/red-widgets-cid-4567.html Current URLs Example2: www.domain.com/red-widgets-cid-1234+10.html
www.domain.com/red-widgets-cid-1234+10-1.html
www.domain.com/red-widgets-cid-1234+10-1-1.html Canonical on All Above URLs:
www.domain.com/red-widgets-cid-1234+10.html New URL:
www.domain.com/red-widgets-cid-6789.html Current URLs Example3: www.domain.com/red-widgets-cid-1234+10+5.html
www.domain.com/red-widgets-cid-1234+10+5-1.html
www.domain.com/red-widgets-cid-1234+10+5-1-1.html Canonical on All Above URLs:
www.domain.com/red-widgets-cid-1234+10+5.html New URL:
www.domain.com/american-red-widgets-cid-6789+5.html I want to make sure all variations of the above URL redirect to the new URLs. However, as you see in Example 3, we are dealing with variables that are passed on. (+5 in this case). Question 1: What wildcard 301 redirect / regular expression can I use to tackle these ? Question 2: If we redirect www.domain.com/red-widgets-cid-1234+10+5.html to www.domain.com/red-widgets-cid-6789+5.html and www.domain.com/red-widgets-cid-6789+5.html contains the canonical tag www.domain.com/american-red-widgets-cid-6789+5.html, any concerns or red flags here ?0 -
Does rel=canonical fix duplicate page titles?
I implemented rel=canonical on our pages which helped a lot, but my latest Moz crawl is still showing lots of duplicate page titles (2,000+). There are other ways to get to this page (depending on what feature you clicked, it will have a different URL) but will have the same page title. Does having rel=canonical in place fix the duplicate page title problem, or do I need to change something else? I was under the impression that the canonical tag would address this by telling the crawler which URL was the URL and the crawler would only use that one for the page title.
Intermediate & Advanced SEO | | askotzko0