I have an interesting case and I am lost in it. There are two versions of the site: desktop and mobile. And there are also international versions: English and Spanish. I'm stuck at implementation of canonical tags. Currently my setup has the following:
English (default) desktop page has these:
<link rel="alternate" href="http://www.site.com" hreflang="x-default">
<link rel="alternate" href="http://www.site.com" hreflang="en">
<link rel="alternate" href="http://www.site.com/es/" hreflang="es">
<link rel="alternate" media="only screen and (max-width: 640px)" href="http://m.site.com/" >
English Mobile page has these:
<link rel="alternate" href="http://m.site.com/" hreflang="x-default">
<link rel="alternate" href="http://m.site.com/" hreflang="en">
<link rel="alternate" href="http://m.site.com/es/" hreflang="es">
<link rel="canonical" href="http://www.site.com/">
Spanish Desktop version:
<link rel="alternate" href="http://m.site.com/" hreflang="x-default">
<link rel="alternate" href="http://m.site.com/" hreflang="en">
<link rel="alternate" href="http://m.site.com/es/" hreflang="es">
<link rel="canonical" href="http://www.site.com/">
Spanish Mobile version:
<link rel="alternate" href="http://m.site.com/" hreflang="x-default">
<link rel="alternate" href="http://m.site.com/" hreflang="en">
<link rel="alternate" href="http://m.site.com/es/" hreflang="es">
<link rel="canonical" href="http://www.site.com/es/">
But I somewhat feel that I messed the things...
Three questions:
1. Could you guys point me to what I did wrong and explain how to set it right?
2. Since I'm redirecting from desktop version of the pages to mobile pages when mobile users access desktop the pages, do I also need to redirect desktop visitors to desktop page versions if they visit mobile pages?
3. Since my pages already have alternate and hreflang references to point to international and mobile versions of the pages, if I add 5 languages of desktop versions and 5 languages of mobile versions to sitemaps, my sitemaps will get bulky. What are the pros and cons for referencing all page versions in sitemap and for include just general (English/Desktop) version in sitemap?