1

I have StackOverflow style URL's in my site, like mysite.com/article/42/the-article.

However, when I search for the article, I see that Google has fetched it like this mysite.com/article/42/.

Am I doing something wrong here? Should I tell Google to fetch everything?

Edit:

I forgot to add that these URL's are converted to php $_GET URL's in the .htaccess file. So the URL's actually point to this:

index.php?what=content&id=42&title=the-article

And the reason I'm surprised is, the links are in the homepage and all of them uses the form with titles.

So there is no links in this form:

mysite.com/article/42

All links are in this form :

mysite.com/article/42/the-article
2
  • Maybe Google found on your pages (or other pages) only link mysite.com/article/42/
    – furas
    Jul 13, 2013 at 20:51
  • I updated my question. So I don't think there is a possibility of that.
    – jeff
    Jul 14, 2013 at 12:50

2 Answers 2

2

I recommend that you add the canonical form of the URL to each web page:

<link rel="canonical" href="http://mysite.com/article/42/">

You may also with to do a permanent redirect to the longer URL if you get a request to the shorter one (with the L flag if using mod_rewrite, and before you do the internal rewrite to index.php).

Secondly, I suggest that you add a sitemap and notify Google of it's existence. Include the long forms of the URL for each article. That just makes sure Google knows about them, and reduces the time it will take Google to (re-)crawl your whole site.

6
  • If you can't provide a full answer, please just comment the question to ask more information.
    – Zistoloen
    Jul 13, 2013 at 21:17
  • 1
    Don't forget that the suggested link has to go in the <head> section of the page to be interpreted correctly by Googlebot. Jul 13, 2013 at 23:21
  • @Zistoloen That's not correct advice. Better for SE is to provide as good an answer as possible, given the information available, and also ask for more. If the OP edits their question to provide more info, the answerer can edit their answer accordingly. If the question is not updated, at least something of an answer is provided. Jul 14, 2013 at 9:08
  • 1
    Google won't recognize misplaced link elements as security against XSS attacks to inject them into the document body. According to Google, to be recognized, it must be in the head section. See: mattcutts.com/blog/rel-canonical-html-head Jul 14, 2013 at 9:55
  • I'm sorry that I didn't add the .htaccess rewrite rule. editing the question now.
    – jeff
    Jul 14, 2013 at 12:47
1

Stack Exchange sites redirect when the URL is truncated, or the title of the post has change.

For example the URL for this page is: /questions/50697/why-google-does-not-fetch-some-get-parameters-in-url. You can check that both /questions/50697/ and /questions/50697/some-other-title redirect to the correct canonical URL.

If you are not doing "URL Canonicalization" to tell Googlebot which URL is the correct one, then Google may choose any of the possible URLs. Even worse, this can sometimes lead to massive duplicate content problems.

URL canonicalization can be implemented in two ways:

  • With 301 redirects (like stack exchange does)
  • With meta canonical links (like Nicholas suggests)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.