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.
Help with facet URLs in Magento
-
Hi Guys,
Wondering if I can get some technical help here...
We have our site britishbraces.co.uk , built in Magento. As per eCommerce sites, we have paginated pages throughout.
These have rel=next/prev implemented but not correctly ( as it is not in is it in ) - this fix is in process.
Our canonicals are currently incorrect as far as I believe, as even when content is filtered, the canonical takes you back to the first page URL. For example,
http://www.britishbraces.co.uk/braces/x-style.html?ajaxcatalog=true&brand=380&max=51.19&min=31.19
Canonical to...
http://www.britishbraces.co.uk/braces/x-style.html
Which I understand to be incorrect.
As I want the coloured filtered pages to be indexed ( due to search volume for colour related queries ), but I don't want the price filtered pages to be indexed - I am unsure how to implement the solution?
As I understand, because rel=next/prev implemented ( with no View All page ), the rel=canonical is not necessary as Google understands page 1 is the first page in the series.
Therefore, once a user has filtered by colour, there should then be a canonical pointing to the coloured filter URL? ( e.g. /product/black )
But when a user filters by price, there should be noindex on those URLs ? Or can this be blocked in robots.txt prior?
My head is a little confused here and I know we have an issue because our amount of indexed pages is increasing day by day but to no solution of the facet urls.
Can anybody help - apologies in advance if I have confused the matter.
Thanks
-
Hi Lewis,
Firstly thank you for taking your time to respond in depth to my question.
Since reading your response, I have done the following...
Identified the parameters that should NOT be indexed, these are; 'brand=', 'min=' and 'max='
The colour filter 'colour=' is to be kept indexed. I have reviewed the website and found that users cannot currently select to filter more than on colour, which eliminates Google from indexing multiple colour filters in one URL.
However, users can still filter by colour and brand, hence why I have requested ours devs to meta noindex any URL that contains the 'brand=' parameter as well as any URLs that have the 'min/max=' parameters as these are price filters.
I have also requested rel=next/prev to be implemented correctly.
The above should drastically reduce our indexed content.
As well as this, I have added the following parameters into Search Consoles' URL Parameter tool as 'No Crawl', 'brand, min, max' - although I understand this is not a guaranteed fix, it was my first option with no immediate dev time over the weekend.
Now the only URLs in need of a canonical is the colour filtered URLs as 'brand, min max' are all noindex. I have asked dev to ensure the canonical points back to page 1 for now, however I am looking into a view-all page option so the canonical would point to that.
A good learning curve all of this!
-
There is a big difference between robots.txt and no index
"Therefore, once a user has filtered by colour, there should then be a canonical pointing to the coloured filter URL? ( e.g. /product/black )
But when a user filters by price, there should be noindex on those URLs Or can this be blocked in robots.txt prior?"
See http://i.imgur.com/114BHcR.png
You need to use a no index tag not robots.txt ideally with a secular canonical pointing to the product.
Please see references one and two below. There are larger versions of the photos below as well
You need to run your site through deep crawl and or screaming frog SEO spider If you would be kind enough to give me the URL privately or publicly I will run a deep crawl and SEO spider
** This topic is difficult to explain without using the ability to show videos and images inside the box while describing this. That's why I recommend you view this YouTube video and slide share.**
Deep crawl is fantastic at solving these issues it has done this for other magenta clients of mine, and I strongly recommend utilizing what you've learned from that webinar and the other references below.
please see one and two below
- https://www.deepcrawl.com/knowledge/webinars/masterclass-webinar-faceted-navigation-for-seo/
- https://www.stonetemple.com/seo-tags-virtual-keynote-with-gary-illyes-and-eric-enge/
-
https://webmasters.googleblog.com/2014/02/faceted-navigation-best-and-5-of-worst.html
-
https://moz.com/blog/building-faceted-navigation-that-doesnt-suck
-
http://searchengineland.com/google-offers-advice-faceted-navigation-infinite-scroll-web-pages-184232
larger versions of the images
I agree with Lewis's recommendation for an extension and have added a couple more.
- http://www.mageworx.com/magento-2-seo-extension.html
- https://ecommerce.aheadworks.com/magento-extensions/ultimate-seo-suite.html
- https://ecommerce.aheadworks.com/magento-2-extensions/layered-navigation
I Hope this helps,
Thomas
78tExl8.png nMrYeUWlslY xJeFTbY.jpg wOHxaEE.jpg QprPUyk.jpg 114BHcR.png
-
Hi!
We do a lot of consultancy for Magento projects and this is a question that comes up quite regularly as it can't really be handled perfectly straight out of the box with Magento.
Every implementation is a little bit different, but I'll put together some recommendations below based on the information available at the moment.
For your faceted navigation, you ideally don't want to index any of these pages, unless you believe that you'll rank in your own right for specific filters (e.g. Colour, like you pointed out in your last message).
That then comes with some additional complications. In Magento, if you have 3 colours available in the faceted nav, you'll have all the different variations indexed in each combination.
For example:
Blue
Black
RedBlue + Black
Blue + Red
Black + Red
Black + Blue
Red + Blue
Red + BlackMagento as standard doesn't always keep the filters in the same order, so you can end up with literally thousands of pages ending up in the index for a relatively small number of attributes being shown on your pages.
There are a few recommendations here:
- Go and look at the MageWorx Ultimate SEO Suite Plugin - http://www.mageworx.com/seo-suite-ultimate-magento-extension.html - For $249, it solves a lot of issues Magneto has straight out of the box and gives you ultimate control over your meta titles.
What you want to do is set all of your facets to 'NOINDEX,FOLLOW' where possible. This will reduce the number of URLs in the index gradually. An example of this would be adding ?min=* and mode=* etc (grid/list variants).
- For your canonicals, you're probably best setting the canonical to the current filtered page (for example, if you're on a category page with colour = blue selected in your faceted nav, you'd have this URL as your canonical). Some sites we work on have it setup so the canonical points to the category URL (like you currently have).
Finally, you probably want to build an extension to allow you to inject content into the filtered content pages. If you're using an extension like ManaDev for your facet navigation, this can be achieved fairly easily and allows you to add a block of text to each filter applied on a page.
You should also look to request each of the incorrectly indexed URLs is removed from the index (although this does take a long time if you have a lot!).
We wrote a really long guide around launching a Magento website last month which may be of interest - https://www.pinpointdesigns.co.uk/the-definitive-guide-to-launching-a-magento-website/. We've also done a guide on Common Magento SEO Issues here - https://www.pinpointdesigns.co.uk/common-magento-seo-issues/ and I previously wrote a guide on setting Magento up for Search Engines on Moz - https://moz.com/ugc/setting-up-magento-for-the-search-engines (Although this is likely to be a little outdated now)
I hope this helps!
Lewis
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
-
410 or 301 after URL update?
Hi there, A site i'm working on atm has a thousand "not found" errors on google console (of course, I'm sure there are thousands more it's not showing us!). The issue is a lot of them seem to come from a URL change. Damage has been done, the URLs have been changed and I can't stop that... but as you can imagine, i'm keen to fix as many as humanly possible. I don't want to go mad with 301s - but for external links in, this seems like the best solution? On the other hand, Google is reading internal links that simply aren't there anymore. Is it better to hunt down the new page and 301-it anyway? OR should I 410 and grit my teeth while google crawls and recrawls it, warning me that this page really doesn't exist? Essentially I guess I'm asking, how many 301s are too many and will affect our DA? And what's the best solution for dealing with mass 404 errors - many of which aren't attached or linked to from any other pages anymore? Thanks for any insights 🙂
Intermediate & Advanced SEO | | Fubra0 -
Faceted Navigation URLs Best Practices
Hi, We are developing new Products Pages with faceted filters. You can see it here: https://www.viatrading.com/wholesale-products/ We have a feature allowing to Order By and Group By, which alters the order of all products. There will also be the option to view Products as a table, which will contain same products but with different design and maybe slightly different content of each product. All this will happen without changing the URL, https://www.viatrading.com/all/ Is this the best practice? Thanks,
Intermediate & Advanced SEO | | viatrading10 -
Will disallowing URL's in the robots.txt file stop those URL's being indexed by Google
I found a lot of duplicate title tags showing in Google Webmaster Tools. When I visited the URL's that these duplicates belonged to, I found that they were just images from a gallery that we didn't particularly want Google to index. There is no benefit to the end user in these image pages being indexed in Google. Our developer has told us that these urls are created by a module and are not "real" pages in the CMS. They would like to add the following to our robots.txt file Disallow: /catalog/product/gallery/ QUESTION: If the these pages are already indexed by Google, will this adjustment to the robots.txt file help to remove the pages from the index? We don't want these pages to be found.
Intermediate & Advanced SEO | | andyheath0 -
Double hyphen in URL - bad?
Instead of a URL such as domain.com/double-dash/ programming wants to use domain.com/double--dash/ for some reason that makes things easier for them. Would a double dash in the URL have a negative effect on the page ranking?
Intermediate & Advanced SEO | | CFSSEO0 -
Avoiding Duplicate Content with Used Car Listings Database: Robots.txt vs Noindex vs Hash URLs (Help!)
Hi Guys, We have developed a plugin that allows us to display used vehicle listings from a centralized, third-party database. The functionality works similar to autotrader.com or cargurus.com, and there are two primary components: 1. Vehicle Listings Pages: this is the page where the user can use various filters to narrow the vehicle listings to find the vehicle they want.
Intermediate & Advanced SEO | | browndoginteractive
2. Vehicle Details Pages: this is the page where the user actually views the details about said vehicle. It is served up via Ajax, in a dialog box on the Vehicle Listings Pages. Example functionality: http://screencast.com/t/kArKm4tBo The Vehicle Listings pages (#1), we do want indexed and to rank. These pages have additional content besides the vehicle listings themselves, and those results are randomized or sliced/diced in different and unique ways. They're also updated twice per day. We do not want to index #2, the Vehicle Details pages, as these pages appear and disappear all of the time, based on dealer inventory, and don't have much value in the SERPs. Additionally, other sites such as autotrader.com, Yahoo Autos, and others draw from this same database, so we're worried about duplicate content. For instance, entering a snippet of dealer-provided content for one specific listing that Google indexed yielded 8,200+ results: Example Google query. We did not originally think that Google would even be able to index these pages, as they are served up via Ajax. However, it seems we were wrong, as Google has already begun indexing them. Not only is duplicate content an issue, but these pages are not meant for visitors to navigate to directly! If a user were to navigate to the url directly, from the SERPs, they would see a page that isn't styled right. Now we have to determine the right solution to keep these pages out of the index: robots.txt, noindex meta tags, or hash (#) internal links. Robots.txt Advantages: Super easy to implement Conserves crawl budget for large sites Ensures crawler doesn't get stuck. After all, if our website only has 500 pages that we really want indexed and ranked, and vehicle details pages constitute another 1,000,000,000 pages, it doesn't seem to make sense to make Googlebot crawl all of those pages. Robots.txt Disadvantages: Doesn't prevent pages from being indexed, as we've seen, probably because there are internal links to these pages. We could nofollow these internal links, thereby minimizing indexation, but this would lead to each 10-25 noindex internal links on each Vehicle Listings page (will Google think we're pagerank sculpting?) Noindex Advantages: Does prevent vehicle details pages from being indexed Allows ALL pages to be crawled (advantage?) Noindex Disadvantages: Difficult to implement (vehicle details pages are served using ajax, so they have no tag. Solution would have to involve X-Robots-Tag HTTP header and Apache, sending a noindex tag based on querystring variables, similar to this stackoverflow solution. This means the plugin functionality is no longer self-contained, and some hosts may not allow these types of Apache rewrites (as I understand it) Forces (or rather allows) Googlebot to crawl hundreds of thousands of noindex pages. I say "force" because of the crawl budget required. Crawler could get stuck/lost in so many pages, and my not like crawling a site with 1,000,000,000 pages, 99.9% of which are noindexed. Cannot be used in conjunction with robots.txt. After all, crawler never reads noindex meta tag if blocked by robots.txt Hash (#) URL Advantages: By using for links on Vehicle Listing pages to Vehicle Details pages (such as "Contact Seller" buttons), coupled with Javascript, crawler won't be able to follow/crawl these links. Best of both worlds: crawl budget isn't overtaxed by thousands of noindex pages, and internal links used to index robots.txt-disallowed pages are gone. Accomplishes same thing as "nofollowing" these links, but without looking like pagerank sculpting (?) Does not require complex Apache stuff Hash (#) URL Disdvantages: Is Google suspicious of sites with (some) internal links structured like this, since they can't crawl/follow them? Initially, we implemented robots.txt--the "sledgehammer solution." We figured that we'd have a happier crawler this way, as it wouldn't have to crawl zillions of partially duplicate vehicle details pages, and we wanted it to be like these pages didn't even exist. However, Google seems to be indexing many of these pages anyway, probably based on internal links pointing to them. We could nofollow the links pointing to these pages, but we don't want it to look like we're pagerank sculpting or something like that. If we implement noindex on these pages (and doing so is a difficult task itself), then we will be certain these pages aren't indexed. However, to do so we will have to remove the robots.txt disallowal, in order to let the crawler read the noindex tag on these pages. Intuitively, it doesn't make sense to me to make googlebot crawl zillions of vehicle details pages, all of which are noindexed, and it could easily get stuck/lost/etc. It seems like a waste of resources, and in some shadowy way bad for SEO. My developers are pushing for the third solution: using the hash URLs. This works on all hosts and keeps all functionality in the plugin self-contained (unlike noindex), and conserves crawl budget while keeping vehicle details page out of the index (unlike robots.txt). But I don't want Google to slap us 6-12 months from now because it doesn't like links like these (). Any thoughts or advice you guys have would be hugely appreciated, as I've been going in circles, circles, circles on this for a couple of days now. Also, I can provide a test site URL if you'd like to see the functionality in action.0 -
Does Google index url with hashtags?
We are setting up some Jquery tabs in a page that will produce the same url with hashtags. For example: index.php#aboutus, index.php#ourguarantee, etc. We don't want that content to be crawled as we'd like to prevent duplicate content. Does Google normally crawl such urls or does it just ignore them? Thanks in advance.
Intermediate & Advanced SEO | | seoppc20120 -
Multiple URLs for the same page
I am working with a client and recently discovered that they have several URLs that go to the same page. http://www.maps.com/FunFacts.aspx
Intermediate & Advanced SEO | | WebMarketingandDesign
http://www.maps.com/funfacts.aspx
http://www.maps.com/FunFacts.aspx?nav=FF
http://www.maps.com/FunFacts.aspx?nav=FS
http://www.maps.com/funfacts.aspx?nav=FF
http://www.maps.com/funfacts.aspx?nav=ffhttp://www.maps.com/FunFacts.aspx?nav=MShttp://www.maps.com/funfacts.aspx?nav=
http://www.maps.com/FunFacts.aspx?nav=FF#
http://www.maps.com/FunFacts
http://www.maps.com/funfacts.aspx?.nav=FF I am afraid this is happening all over the site. So, my question is: Is this hurting the SEO and how? If so what is the best way to go about fixing this problem? Thanks for your help!0 -
Htaccess Redirect with %C2%A0 in URL
Below is my setup for redirects in .htaccess file in my root word press installation. The www to non-www works well, so no problems there Other page redirects work well, too (example: redirect 301 /some-page/ http://mysite.com/another-page/ (I didn't post those because I have a few too many : ) So here it goes... RewriteEngine On
Intermediate & Advanced SEO | | pepsimoz
RewriteCond %{HTTP_HOST} ^www.mysite.com$ [NC]
RewriteRule ^(.*)$ http://mysite.com/$1 [R=301,L] BEGIN WordPress <ifmodule mod_rewrite.c="">RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]</ifmodule> END WordPress redirect 301 /archives/10-college- majors/ http://mysite.com/archives/10-college-majors/ redirect 301 /archives/10-college-%20majors/ http://mysite.com/archives/10-college-majors/ redirect 301 /archives/10-college-%C2%A0majors/ http://mysite.com/archives/10-college-majors/ I'm having a problem with the last 301 redirect: redirect 301 /archives/10-college-%C2%A0majors/ http://mysite.com/archives/10-college-majors/ not working... As you can see I've tried using other varations of the "space" but no go. I also used a redirect in cPanel's Redirect screen; testing all the possible options + wildcard I've also tried this: http://serverfault.com/questions/201829/using-special-characters-in-apache-mod-rewrite-rule (perhaps unsuccessfully, because it caused a 500 server error and it's a different situation in my case) I also saw something here: http://www.webmasterworld.com/apache/3908682.htm but I don't know if it works and how I would implement that + do so without compromising ALL other redirects. Note: the URL displays with a space in the address bar of all major web browsers: http://mysite.com/10-college- majors/ and goes to a 404 page I have a goregous page / PR6 / high authority site linking to the URL on my site, but they copied the URL with a space somehow. I contacted the person responsible for the website and he claims it works fine (aka he didn't check it). Is there a clean way to redirect ONLY this problematic URL without compromising other redirects, etc? Any ideas would be great. I'll respond with progress. Thanks in advance. UPDATE the redirect works, and it did work. Even so, when looking at source of page linking to mine, the URL looks like this: ``` http://mysite.com/archives/10-college- majors/ Clicking the URL in Source View in FireFox takes me to ``` http://mysite.com/archives/10-college-%C2%A0majors/ none of my 301 redirects should direct there. I don't have any redirect plugins either.0