It seems like when you 301 a page A to page B, sometime google indexes page A, showing the url in the results, with the contents of page B?
Google "site:http://tinyurl.com/" to see some examples
Is this by design or a bug? How do I avoid it?
When I actually Googled for site:http://tinyurl.com/
, all the links on the first page were dead redirects to non-existing pages (HTTP status code 404).
Apparently, what's happening here is that TinyURL detects such 404 errors, and sends the user to their own notification page at find.searchassist.com
instead (example).
They do this through a sequence of redirects, some of which are temporary; for the example above, I count three redirects:
http://tinyurl.com/errora.php?url=...
http://goto.searchassist.com/find?p=...
http://find.searchassist.com/landing.jsf?p=...
Since some of these redirects are temporary, Google apparently treats the whole chain as a temporary redirect, and so indexes the result under the original tinyurl.com
URL.
Looking deeper in the Google results, I also found some links to URLs suspected by TinyURL of hosting harmful content. These links also go through a 302 redirect to a landing page at http://tinyurl.com/warning.php
, and so get indexed at their original URL.
There are also other weird corner cases, such as TinyURL links redirecting back to another TinyURL. The common thread in all these cases seems to be that most if not all of them go through a temporary redirect at some point.
Its' by design, when you have more (or heavy) link to page A, A will be shown at index
When you use a short URL, you goal is to "present" it, Google just did that you want.