We have recently consolidated one site into another one.  We set up all of our 301s and those all work famously.  The bulk of the 301s (including the old site's homepage) land on an interior page of the new site.We want to display an image to users that hit the interior page from the 301 and not show the image to other users.  Obviously, though, there's no reliable way to know that someone came over from a 301.  We do know, given our architecture, if a page is the redirect point for a 301, so on the request, we check three things - page is a 301 target, referrer is null and, because it's an interior page, if the session is new.While this sounded great in theory, it's not awesome.  Two primary sources of traffic are now configured to hit that interior page directly and, of course, the image is showing when we don't want it to.How bad would it be for SEO purposes, to change my existing 301s like this:orig: http://example.com 301 to http://foo.com/interiorpagenew: http://example.com 301 to http://foo.com/interiorpage?showimageGiven that the original 301s have already been crawled, am I damaging my juice by adding that querystring now?  The parameterless url is canonical.  The only difference in content is the visibility of an image that exists on both versions of the page.
301 redirects, query strings and SEO
seo;url;301 redirect;url rewriting
we check three things - page is a 301 target, referrer is null and, ...The referrer is not necessarily empty for a 301 redirect. Is this something unique to your architecture? If so, how do you enforce this?Assuming you have the appropriate rel=canonical set then the query string option is the one I'd go for. However, if the original 301s have already been crawled then it might not have an effect for very long, unless users are accessing these URLs in other ways. But I can't see this causing any problems in terms of search engine ranking.