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.
Set Canonical for Paginated Content
-
Hi Guys,
This is a follow up on this thread: http://moz.com/community/q/dynamic-url-parameters-woocommerce-create-404-errors#
I would like to know how I can set a canonical link in Wordpress/Woocommerce which points to "View All" on category pages on our webshop.
The categories on my website can be viewed as 24/48 or All products but because the quanity constantly changes viewing 24 or 48 products isn't always possible.To point Google in the right direction I want to let them know that "View All" is the best way to go.
I've read that Google's crawler tries to do this automatically but not sure if this is the case on on my website.Here is some more info on the issue: https://support.google.com/webmasters/answer/1663744?hl=en
Thanks for the help!Joost
-
Joost - that's correct! Yes, I assume woocommerce, since they are product pages.
-
Hi Dan,
Thanks for the explanation.
Ok so I block 24 and 48 for Google but users can still use them to navigate through the site.
I assume this is woocommerce related because Woocommerce creates the output for the productpages right?Thanks again!
Joost
-
Joost
I think you'll need to get a developer or someone involved to help execute, but here's the ideal scenerio:
- Add meta "noindex" tags to ?show_products=24 and 48
- Make your 'view all' URL ideally just /product-category/t-shirts/ - with no parameter - or if you have to, maybe /t-shirts/all/ - your goal here is to keep it consistent and NOT the same parameter as the other pages
- Then, whatever consistent URL you have for the 'all' - don't add "noindex" to that (keep it indexable).
- Wait for Google to remove 24/48 URLs from the index (you have to just check every week or two with site: searches)
- Once they are noindexed, block crawling with robots.txt with this line:
Disallow: /?show_products= <---but ONLY use that if you've changed your 'view all' URLs to something else! You ideally want a different URL structure for 'view all' vs. not view all to control crawling and indexation more easily.
-
Hi Dan,
Thanks for your reply.
For the category t-shirt I've got this:/product-category/t-shirts/?show_products=24 (24)
/product-category/t-shirts/?show_products=48 (48)
/product-category/t-shirts/?show_products=41 (when All selected)Let me know! And thanks again for your time! Really apreciate it!Joost
-
Hi Joost
Can you provide examples of how all your URLs are setup? What does the URL look like for view all, 24 items etc etc?
-
Wow Dan!
Thanks for looking in to this!
I assume you are totally right but have no idea how I should implement this strategy on my site. It just a plain wordpress install with woocommerce. I use Yoast (ofcourse) but never went in-depth with robot.txt.
How can I provide you with more info? Or better; myself
Thanks again,
Joost
-
Hi Joost
It would be better to just "noindex" anything except view all. Then once they are gone from the index, set a block in robots.txt so they can't be crawled anymore. That fixes the issue at the source, the canonical is more of a bandaid. So:
1. Add a meta "noindex" tag to everything except view all (I am not 100% sure how in your wordpress setup - there's no one way, it depends on your setup).
2. Monitor the indexation of these pages in Google and wait for them to be removed (you can check with just searching for the URL in the search bar).
3. Once they are all gone from the index, block crawlers from accessing them by adding a line to your robots.txt file blocking the 24/48 URLs - again, I don't know the exact code for your robots.txt because I am unsure of your URL setup, but a dev or someone can help - or feel free to write back with these details and I'll try to help further.
-
Hi Patrick,
Thanks for helping out. I've read a lot about the theory behind View All and why & when it's better to set canonicals on page 2 and 3 to View All.
But I can't seem to find any information how to implement the rel canonical in wordpress/woocommerce.I know that Google will try to sort it out by itself (if View All) is available but helping them with a canonical will solve a lot of 404 crawls on our site.
Any ideas?Joost
-
Hi Joost
Did you happen to take a look at SEO Guide to Google Webmaster Recommendations for Pagination? There are some great tips in there that can help you implement this.
Also, View-all in search results & 5 common mistakes with rel=canonical from Google also has some tips.
Hope these help a bit! Let me know if you have any questions or comments! Good luck!
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
-
Canonical or hreflang?
I have four English sites for four different countries, UK, Ireland, Australia and New Zealand and I want to share some content between the sites. On the pages that share the content, which is essentially exactly the same on all 4 sites, do I use the hreflang tags like: or do I add a canonical tag to the other three pointing to the "origin", which would be the UK site? I believe it is best practice to use one or the other, but I'm not sure which make sense in this situation.
Technical SEO | | andrew-mso0 -
Removing a canonical tag from Pagination pages
Hello, Currently on our site we have the rel=prev/next markup for pagination along with a self pointing canonical via the Yoast Plugin. However, on page 2 of our paginated series, (there's only 2 pages currently), the canonical points to page one, rather than page 2. My understanding is that if you use a canonical on paginated pages it should point to a viewall page as opposed to page one. I also believe that you don't need to use both a canonical and the rel=prev/next markup, one or the other will do. As we use the markup I wanted to get rid of the canonical, would this be correct? For those who use the Yoast Plugin have you managed to get that to work? Thanks!
Technical SEO | | jessicarcf0 -
Rel=canonical Weebly
My problem is with my website as it says I have duplicate page titles and contents because of a /index.html. It says the duplicate content is due to the fact that my homepage on my website is www.seacandytackle.com but it is also www.seacandytackle.com/index.html because I use weebly. How can I use the tag to fix this? It won't let me do a 301 redirect because it is a home page. How can I fix this? What code would I have to use and which url? Also it says that I have duplicate page content between http://www.seacandytackle.com/index.html and http://www.seacandytackle.comhttp://www.seacandytackle.com but I don't recall having any page that looks like http://www.seacandytackle.com http://www.seacandytackle.com from weebly. How can I fix this issue as well? Thank you for any help. Step by step implementation would be particularly helpful in using the rel= tags to fix these duplicate issues.
Technical SEO | | SeaCandyTackle0 -
Rel canonical between mirrored domains
Hi all & happy new near! I'm new to SEO and could do with a spot of advice: I have a site that has several domains that mirror it (not good, I know...) So www.site.com, www.site.edu.sg, www.othersite.com all serve up the same content. I was planning to use rel="canonical" to avoid the duplication but I have a concern: Currently several of these mirrors rank - one, the .com ranks #1 on local google search for some useful keywords. the .edu.sg also shows up as #9 for a dirrerent page. In some cases I have multiple mirrors showing up on a specific serp. I would LIKE to rel canonical everything to the local edu.sg domain since this is most representative of the fact that the site is for a school in Singapore but...
Technical SEO | | AlexSG
-The .com is listed in DMOZ (this used to be important) and none of the volunteers there ever respoded to requests to update it to the .edu.sg
-The .com ranks higher than the com.sg page for non-local search so I am guessing google has some kind of algorithm to mark down obviosly local domains in other geographic locations Any opinions on this? Should I rel canonical the .com to the .edu.sg or vice versa? I appreciate any advice or opinion before I pull the trigger and end up shooting myself in the foot! Best regards from Singapore!0 -
Duplicate Content
We have a ton of duplicate content/title errors on our reports, many of them showing errors of: http://www.mysite.com/(page title) and http://mysite.com/(page title) Our site has been set up so that mysite.com 301 redirects to www.mysite.com (we did this a couple years ago). Is it possible that I set up my campaign the wrong way in SEOMoz? I'm thinking it must be a user error when I set up the campaign since we already have the 301 Redirect. Any advice is appreciated!
Technical SEO | | Ditigal_Taylor0 -
The Mysterious Case of Pagination, Canonical Tags
Hey guys, My head explodes when I think of this problem. So I will leave it to you guys to find a solution... My root domain (xxx.com) runs on WordPress platform. I use Yoast SEO plugin. The next page of root domain -- page/2/ -- has been canonicalized to the same page -- page/2/ points to page/2/ for example. The page/2/ and remaining pages also have this rel tags: I have also added "noindex,follow" to page/2/ and further -- Yoast does this automatically. Note: Yoast plugin also adds canonical to page/2/...page/3/ automatically. Same is the case with category pages and tag pages. Oh, and the author pages too -- they all have self-canonicalization, rel prev & rel next tags, and have been "noindex, followed." Problem: Am I doing this the way it should be done? I asked a Google Webmaster employee on rel next and prev tags, and this is what she said: "We do not recommend noindexing later pages, nor rel="canonical"izing everything to the first page." (My bad, last year I was canonicalizing pages to first page). One of the popular blog, a competitor, uses none of these tags. Yet they rank higher. Others following this format have been hit with every kind of Google algorithm I could think of. I want to leave it to Google to decide what's better, but then again, Yoast SEO plugin rules my blog -- okay, let's say I am a bad coder. Any help, suggestions, and thoughts are highly appreciated. 🙂 Update 1: Paginated pages -- including category pages and tag pages -- have unique snippets; no full-length posts. Thought I'd make that clear.
Technical SEO | | sidstar0 -
How to resolve this Duplicate content?
Hi , There is page i get when i do proper menu navigation Caratlane.com>jewellery>rings>casualsrings> http://www.caratlane.com/jewellery/rings/casual-rings/leaves-dew-diamond-0-03-ct-peridot-1-ct-ring-18k-yellow-gold.html When i do a site search in my search box by my product code number "JR00219" The same page is appears with different url http://www.caratlane.com/leaves-dew-diamond-0-03-ct-peridot-1-ct-ring-18k-yellow-gold.html So there is a duplicate content. How can we resolve it. Regards, kathir caratlane.com
Technical SEO | | kathiravan0 -
Hreflang on non-canonical pages
Hi! I've been trying to figure out what is the best way to solve this dilemma with duplicate content and multiple languages across domains. 1 product info page 2 same product but GREEN
Technical SEO | | LarsEriksson
3 same product but RED
4 same product but YELLOW **Question: ** Since pages 2,3,4 just varies slightly I use the canonical tag to indicate they are duplicates of page 1. Now I also want to indicate there are other language versions with the_ rel="alternate" hreflang="x" _element. Should I place the _rel="alternate" hreflang="x" _on the canonical page only pointing to the canonical page with "x" language. Should I place the _rel="alternate" hreflang="x" _on all pages pointing to the canonical page with the "x" language? Should I place the _rel="alternate" hreflang="x" _on all pages and then point it to the translated page (even if it is not a canonical page) ? /Lars0