Jump to content

Perfect Canonical Link | Need Help Altering Syntax


Bryan Hadaway

Recommended Posts

I figured out the code that does exactly what I want, now I just need help applying it to the syntax of a different way to serve up PHP.

 

So I need help adapting this code which does just what I want it to:

 

<link rel="canonical" href="http://<?php echo $_SERVER["HTTP_HOST"] ?><?php echo parse_url($_SERVER['REQUEST_URI'],PHP_URL_PATH); ?>" />

 

to the syntax of this code:

 

function canlink() {
echo '<link rel="canonical" href="http://' . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] . '" />';
}

 

So how do I apply parse_url and ,PHP_URL_PATH to the syntax of this second code? I've asked this question in so many PHP Forums now, and no one seems to be able to answer this, I'm starting to wonder if it's not possible at all.

 

Thanks, Bryan

Link to comment
Share on other sites

That script doesn't work in how canonical references are intended.  All it is doing is serving up the current page as the canonical link.

 

Let's say you have two pages with similar/identical information.  Your script will generate a canonical link for both.  Doesn't really make sense now, does it?  The purpose for a canonical link is to tell Google (and other search engines) to use one page over the other when there is a possibility of duplicate content.  You are not doing that here.  You are simply creating a canonical link for every single page.

 

For example, you have two pages:

 

page one: http://www.example.com/page-one/

 

and page two: http://www.example.com/page-two/

 

Now, they both have very, very similar content, but your script will generate a canonical tag for both when the canonical tag on each page should be the same.

 

Both page one and page two should have the following (same) canonical tag (typically):

<link rel="canonical" href="http://www.example.com/page-one/" />

 

That's the proper usage of the canonical tag, otherwise, you might as well just leave it out.

Link to comment
Share on other sites

@mjdamato

 

Yeah, can't argue with you there, that's the beauty of using WordPress with way too many plugins. I'm actually in the process of validating all the code and seeing what plugins I can cut out and use manual alternatives instead. Just to clarify for anyone reading, that has nothing to do with the canonical link script, this is a side issue we're discussing.

 

@mrMarcus

 

I think you might want to spend a minute or two learning a bit more about the canonical link tag:

 

http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=139394

 

as you're at least half right on the purpose of the canonical link, but pretty much wrong on all your points.

All it is doing is serving up the current page as the canonical link.

 

Untrue: What will the canonical link tag do for all these variations:

 

http://website.com/ | http://www.website.com/ | http://website.com/index.php | http://www.website.com/index.php | http://website.com/#section1.2 | http://www.website.com/#section1.2 | http://website.com/?=source=twitter+is+cool&id=2654683 | http://www.website.com/?=source=twitter+is+cool&id=2654683

 

The list goes on an on how just one page can be shown, but it will NOT just mirror the current URL, what it will do for all these variations (and there are a ton more possible variations) is suggest the clean and proper:

 

http://www.website.com/

 

Search engines are dumb, they can consider some of those pages to be different, that is how it aims to clear up duplicate page issues.

 

Your page 1 and 2 example would only make sense if we were talking about:

 

http://www.example.com/portfolio/?id=page-1

 

and

 

http://www.example.com/portfolio/?id=page-2

 

or something like that

 

What you're suggesting would almost certainly be overruled by Google's judgment. It's your job as a webmaster to not create two fully different pages that are or basically are duplicates, remember the canonical link is not a rule and does not necessarily enforce anything, it is only a suggestion.

 

You as a webmaster should never rely on canonical link, you need to be doing everything else right too. You need a good .htaccess file, your own internal link structure should be consistent and show URL's how you want them to be shown.

 

And for the case of your page 2 issue, if you really want to show duplicate or close to duplicate pages and don't want them indexed the proper method would actually be to use the:

 

<meta name="robots" content="noindex" />

 

tag on any page you wanted to ensure was not indexed.

 

So hopefully, that clears up some of the misconceptions about the canonical link element.

 

Thanks, Bryan

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.