Only One Canonical URL Tag
-
HI, I'm an SEO novice - company owner with no money so doing it all myself with help from my web designer using wordpress. Ive just completed some seo and done the moz page scoring analysis for optimisation and gained 92% - however - there is one outstanding issue on canonical url tags - i.e.
recommened fix = The canonical URL tag is intended to refer duplicate pages to a single canonical URL. To ensure the search engines properly parse the canonical source, your page should use only one version of this tag in the header. See Canonical URL Tag - the Most Important Advancement in SEO Practices Since Sitemaps
Ive gone through the page code and can see I have 2 rel=canonical references - am I able to simply delete one - how do I do this if its been created by the yoast/wordpress plug-in?
Many thanks in advance for any help!
-
Smart move. Let me know if I can be of any more help then does this answer your question?
-
hi thomas, yes - we are keeping the yoast plug-in but switching the rss feed plug-in to a different one that will enable us to switch off the canonical ref.
-
You have an RSS feed that is adding a canonical to your own site?
RSS normally can add canonical's to third-party sites I don't think that the issue is Yoast I believe it is with the RSS post importer.
this is the second best SEO plugin you can use
https://wordpress.org/plugins/all-in-one-seo-pack/
every decent word press seo plugin will add canonical's you can choose to turn off canonical's on Yoast however I would do this using the RSS post importer
In case your are using WordPress SEO plugin, you’ll have to add a filter in the functions.php file just before the closing of PHP as shown in the screenshot below.
See
http://i.imgur.com/cr7IU4W.jpg
Here is the exact code:
add_filter( 'wpseo_canonical', '__return_false' );
It will disable canonical tags across the site and no page, no post and no archive will show this tag. But if you want to disable tagging function on certain posts, pages or category archives, you’ll have to use this code instead of the code mentioned above.
function wpseo_canonical_exclude( $canonical ) {global $post;if (is_single( '348' )) {$canonical = false;}return $canonical;}
As you know every post, page, category or any another archive has its own unique ID in the wordpress. So in the above example we used 348 which is the post ID for a specific post where the canonical tag will not show. If you don’t know how to find the ID, here is a good article for you. To hide this tag from multiple posts, use this code.
function wpseo_canonical_exclude( $canonical ) {global $post;is_single( array( 17, 19, 1, 11 ) ) {$canonical = false;}return $canonical;}
I still strongly recommend that you keep the canonical on via plug-in and not via RSS there are too many things that it could miss and cause problems for you.
I hope this helps,
Tom
-
HI Tom, thankyou very much for your help and information on this. We have now investigated where the second canonical url was coming from and we found that the plugin we use to import the daily feed (RRS Post Importer) is also adding in it’s own canonical URL (as well as the yoast seo). We are now going to look at switching in a different plug-in for this which will give us functionality to delete the rel-canonical reference, as the one we have doesn't enable you to do this.
Again, thanks for your help.
Kind regards
Matthew
-
here is a CSV file showing the pages with more than one canonical you must make it so there's only one canonical per a page
here is the CSV
Bigger photo http://i.imgur.com/cqcTN0h.png
<colgroup><col width="420"> <col width="184"> <col span="3" width="87"> <col width="199"> <col width="304"> <col span="3" width="87"></colgroup>
| Directives - Canonical | | | | | | | | | |
| Address | Occurrences | Meta Robots 1 | X-Robots-Tag 1 | Meta Refresh 1 | Canonical Link Element 1 | Canonical Link Element 2 | HTTP Canonical | rel=“next†| rel=“prev†|
| http://www.completetenders.com/services/bid-management/ | 3 | noodp | | | http://www.completetenders.com/services/bid-management/ | http://www.completetenders.com/services/bid-management/ | | | |
| http://www.completetenders.com/ | 2 | noodp | | | http://www.completetenders.com/ | | | | |
| http://www.completetenders.com/services/tendering-process/ | 3 | noodp | | | http://www.completetenders.com/services/tendering-process/ | http://www.completetenders.com/services/tendering-process/ | | | |
| http://www.completetenders.com/services/tender-writing/ | 3 | noodp | | | http://www.completetenders.com/services/tender-writing/ | http://www.completetenders.com/services/tender-writing/ | | | |
| http://www.completetenders.com/open-tenders/ | 2 | noodp | | | http://www.completetenders.com/open-tenders/ | | | | |all the best,
Tom
-
I just checked the URL you referenced you have duplicate canonical tags I checked it using screamingfrog.co.uk/seo-spider/
please look at the data below.
You need to remove one of them you should only have one.
so instead of this
- Canonical Link Element 1 http://www.completetenders.com/services/bid-management/
- Canonical Link Element 2 http://www.completetenders.com/services/bid-management/
you get
- Canonical Link Element 1 http://www.completetenders.com/services/bid-management/
See
URL Encoded Address http://www.completetenders.com/services/bid-management/
Content text/html; charset=UTF-8
Status Code 200
Status OK
Size 150645
Title 1 Bid Management / End-to-end Tendering Support
Meta Description 1 Professional Bid Management Consultants / Bid Solutions to Win Contracts / Everything You Need / Expert Advice on 07429 191305
H1-1 Bid Management
H2-1 Bid Management
H2-2 View More
Meta Robots 1 noodp
Canonical Link Element 1 http://www.completetenders.com/services/bid-management/
Canonical Link Element 2 http://www.completetenders.com/services/bid-management/
Word Count 723
Level 0
Inlinks 14
Outlinks 23 -
Look at your source code on these pages use command-F (on Mac) or control F (on PC) to search for the term "canonical" if you do not see it more than once on the page it should be no issue.
"the only difference I can see is the first one uses '...' and the second one uses "..."
The canonical link? If there are two canonical bags on the same page make sure to remove the one that is not pointing to your preferred page or make sure the canonical is self-referencing. But make certain there are no more than one canonical tag like this below
Look for
Also, I would use
- https://www.deepcrawl.com/ allowing free site crawls right now
- and/or
- https://www.screamingfrog.co.uk/seo-spider/ free up to 500 pages.
Just to confirm you do not have duplicate canonical's both tools will let you know for sure is will checking the source code of the page that is flagged. if it does not have duplicates I would report it to The Moz they are awesome at getting back to you and answering these types of issues if there is in fact only one canonical per a page.
I hope that helps,
Tom
-
Hi Gents, thanks for your replies.
Tom - Ive looked in detail at both the canonical references in the header on my page at they both look the same -
Line 23 -
href='http://www.completetenders.com/services/bid-management/' />
Line 133 –
href="http://www.completetenders.com/services/bid-management/" />
the only difference I can see is the first one uses '...' and the second one uses "..."
can you confirm if I should amend this in yoast or whether this is something that only moz is picking up as two different canonicals?
-
you are correct you should only have one canonical tag on a page Max
Because you're using WordPress Yoast SEO plug-in I can tell you that it automatically adds canonical URL for you when you are modifying thing that should be pointing somewhere else you have to go into the advanced area in the photo below.
So all of these URLs would show the same content:
- http://example.com/wordpress/seo-plugin/ you would want to point them all to the first URL via canonical
- http://example.com/wordpress/seo-plugin/?isnt=it-awesome
- http://example.com/wordpress/seo-plugin/?cmpgn=twitter
- http://example.com/wordpress/seo-plugin/?cmpgn=facebook
for more information on how to use that plug-in and remember only one per page and if the page is duplicate content pointed to the page that you want Google to assume is the owner of that content.
If you get stuck ask me or reference this below.
https://yoast.com/rel-canonical/
All the best,
Tom
-
Hi,
You could, but I would try to find out where the other one is coming from. Basically the second rel canonical tag will overwrite the first in most cases. So trying to find out how you delete one with keeping the right one would make most sense. You're at least on the right path!
Martijn.
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
-
Cant figture out why On-Page Grader is not recognizing the heading tag text
Hi all, I'm using the On-Page Grader tool to optimize some of our pages: https://analytics.moz.com/pro/research/page-grader?keyword=Russian Immigration Lawyers in Sacramento&url=https%3A%2F%2Fwww.russianlawyers.us%2Fus%2Fcalifornia%2Fsacramento-immigration One of the suggestions is "Optimal Use of Keywords in Header Tags". They keyword is "Russian Immigration Lawyers in Sacramento" and we do have it in an tag on the page (located in the right sidebar). The tool doesnt seem to catch that though. Can someone help me please? Thanks
Moz Bar | | heritageweb1 -
Refering URL Does Not Exist
I'm getting 250 or so 401 errors which says the refering Url is: https://www.carburetor-parts.com/assets/manuals/Carter_ThermoQuad_Carburetor.pdf Interesting that the file does not exist. It may have at one time. At any rate can a pdf have a URL. I can't find the reference anywhere. Any ideas/ Thanks Mike
Moz Bar | | MikeCarbs0 -
Rogerbot will not crawl my site! Site URL is https but keep getting and error that homepage (http) can not be accessed. I set up a second campaign to alter the target url to the newer https version but still getting the same error! What can I do?
Site URL is https but keep getting and error that homepage (http://www.flogas.co.uk/) can not be accessed. I set up a second campaign to alter the target url to the newer https://www.flogas.co.uk/ version but still getting the same error! What can I do? I want to use Moz for everything rather than continuing to use a separate auditing tool!
Moz Bar | | digitalascend0 -
URL inaccessible for On Page Grader
I am trying to use the on page grader however it is not working with my website. The URL is as follows: https://capbeast.com. I have been trying to read in older posts to see if https is now supported or not but have not found anything. I know there is no robots.txt issue as I am able to run the crawl test on our website fine. Is the issue on my end in regards to configuration or is due to DDos attacks? Any help would be appreciated. Thanks
Moz Bar | | MisterStitches0 -
Ajax #! URL support?
Hi Moz, My site is currently following the convention outlined here: https://support.google.com/webmasters/answer/174992?hl=en Basically since pages are generated via Ajax we are setup to direct bots that replace the #! in a url with ?escaped_fragment to cached versions of the ajax generated content. For example, if the bot sees this url: http://www.discoverymap.com/#!/California/Map-of-Carmel/73 it will replace it will instead access the page: http://www.discoverymap.com/?escaped_fragment=/California/Map-of-Carmel/73 In which case my server serves the cached html instead of the live page. This is all per Googles direction and is indexing fine. However the MOZ bot does not do this. It seems like a fairly straight-forward feature to support. Rather than ignoring the hash, you look to see if it is a #! and then try to spider the url replaced with ?escaped_fragment. Our server does the rest. If this is something MOZ plans on supporting in the future I would love to know. If there is other information that would be great. Also, pushstate is not practical for everyone due to limited browser support, etc. Thanks, Dustin Updates: I am editing my question because it won't let me respond to my own question. It says I need to sign up for MOZ analytics. I was signed up for Moz Analytics?! Now I am not? I responded to my invitation weeks ago? Anyway, you are misunderstanding how this process works. There is no site-map involved. The bot reads this URL on the page: http://www.discoverymap.com/#!/California/Map-of-Carmel/73 And when it is ready to spider the page for content it, it spider's this URL instead: http://www.discoverymap.com/?escaped_fragment=/California/Map-of-Carmel/73 The server does the rest, it is simply telling Roger to recognize the #! format and replace it with ?escaped_fragment Though I obviously do not know how Roger is coded but it is a simple string replacement. Thanks.
Moz Bar | | oneactlife0 -
Does Moz Pro generate similar keyword phrases in a list (preferably showing their difficulty %) or is it only one phrase at a time with no similar words/phrases suggested?
I just signed up for Moz Pro but the keyword research seems to only let you try one keyword phrase at a time. Is there a way for it to give related keywords along with their difficulty % info, etc. It is far too slow and inconvenient doing one at a time.
Moz Bar | | SavingSpotlight0 -
Best way to submit multiple, simultaneous urls to SEOMOZ
I have a pro membership, and am looking to get inbound link data on multiple urls. Is there a way to submit multiple urls at once?
Moz Bar | | cmcilwain0