Forum Moderators: Robert Charlton & goodroi

Message Too Old, No Replies

How to remove old urls with dynamic parameters?

         

arthur22

9:01 pm on Jan 19, 2012 (gmt 0)

10+ Year Member



Way back in the mists of time, for reasons passing understanding, I set up a group of links in my left-hand navigation area so that they used a dropdown menu form. Kinda like this:

<form name="form1" action="">
Choose a page:
<select style="font-size:12px;name="menu">
<option value="pageone.htm">Page 1</option>
<option value="pagetwo.htm">Page 2</option>

All was well until I got eaten by the google panda bear, at which point I checked my indexing, and there were lots of URLs that looked like this:

http://www.example.com/pageone.htm?menu=pagetwo.htm

I have now removed the dropdown menu and would like the urls with "?menu" in them to disappear.

I have added canonical tags to pageone.htm and every other page to say that www.example.com/pageone.htm is the only page that matters. However, we're now about three months on and plenty of the ?menu urls still exist.

Is there anything else I can do? I know there's a paramater section in webmaster tools but I'm scared of it. But is that the answer? Do I block off access to the menu parameter somehow?

lucy24

11:30 pm on Jan 19, 2012 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



Do not be alarmed by the "parameters" areas. (Bing has one too, just called by a different name.) Lots of people have used them without ill effects. It's exactly for situations like yours, where a particular parameter has no effect on the page content.

By "still exist" do you mean that they're cropping up in SERPs? Make sure none of them have sneaked into your explicit site code or you'll never be rid of them.

aakk9999

11:41 pm on Jan 19, 2012 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



It will take the time for Google to pick up on canonical. Since these URLs are not interlinked in the site any more, Google will crawl them less often. But when it crawls each, it will pick up the canonical link element and will eventually drop these URLs from its index.

g1smd

12:40 am on Jan 20, 2012 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



You could return 410 Gone for those, or 301 redirect requests for those to the canonical URL.

enigma1

10:17 am on Jan 20, 2012 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



You don't need to block access. The point is not to display links that you don't want spiders to index from within your pages. You could setup the drop-down to be a posted form. Or you could use some javascript to process the drop-down. I doubt any of the generated URLs with the menu parameters have rank (although you could verify it) but if not just ignore them.

arthur22

2:45 pm on Jan 20, 2012 (gmt 0)

10+ Year Member



The urls aren't cropping up in serps, just in a site:example.com check on google. They're not indexed on yahoo and bing. I've double-checked the site code and none of the urls still exist in there.

I've changed the drop-down to a simple list of a hrefs styled in css so the problem shouldn't occur again.

I'll have a think about 301ing. Is it the case that google will still try to crawl urls like this even if they are no longer linked to my from site or anywhere else? And so they'll get to see the 301s?

arthur22

3:28 pm on Jan 20, 2012 (gmt 0)

10+ Year Member



Hmm, can't get the 301 redirect to work, I guess because the redirects look like this:

Redirect 301 /pageone.htm?menu=pagetwo.htm http://example.com/pageone.htm

and they have two .htm extensions in the old url. Darn.

enigma1

4:32 pm on Jan 20, 2012 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



The duplicate links should disappear from Google also given a bit of time. I don't think you need the 301s in this case.

g1smd

7:33 pm on Jan 20, 2012 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



can't get the 301 redirect to work

Don't use the
Redirect
directive. It cannot test query string data.

Use a
RewriteRule
to test the path and a preceding
RewriteCond
to test the
QUERY_STRING
data.

The WebmasterWorld Apache forum has thousands of code examples to get you started.