Moz Q&A is closed.
After more than 13 years, and tens of thousands of questions, Moz Q&A closed on 12th December 2024. Whilst we’re not completely removing the content - many posts will still be possible to view - we have locked both new posts and new replies. More details here.
301 Redirect with index.asp
-
I am very new to all of this so forgive the newbie questions I will get better. Ok so after starting a campaign I see that I have many issues including where some pages are being deemed as duplicate content.
1. The report says the http://lucid8.com has duplicate content on 2 other pages
2. When I look at them it shows that http://lucid8.com/index.asp and http://www.lucid8.com are duplicates.
3. Really these are the exactly the same page because the default page that is opened for www.lucid8.com http://www.lucid8.com etc always opens the index.asp page.
4. Now I read that I should do permanent redirects and how to do this via IIS and I tried to do a redirect from index.asp to www.lucid8.com but that does not work because www.lucid8.com is pointing to index.asp and so we end up in a circle.
So the question is how do I get rid of these duplicate page references without causing problems.
Thanks
-
Yeah a major pain and went round and round since it was happening on all machines. Once I got a machine that didn't do it it got me thinking..
Anyway hope it helps others in the future
-
That's brutal! I've seen something like that happen watching the HTTP responses via httpfox sometimes, where I've made a change on the server to a redirection and not seeing it in the browser.
-
Hey thought that I would also mention that the issue where it was referring from Lucid8.com to Https://Lucid8.com was actually a bug in firefox. Apparently FF has a bug where IF you ever went to say Https://Lucid8.com in the past, even though you enter lucid8.com it will autocorrect upon submission and send you to Https://Lucid8.com
They say that removing the HTTPS items from history will fix it, but in my case it did not and instead I had to export all my bookmarks, kill off the profile and then import the bookmarks again and now all is well.
-
Good, I'm glad you got this all working. MC
-
ok so I figured out a workaround since it appears that because I am on IIS6 the web.config is a but finicky aka may or may not work for redirection. Anyway I used the information in this link http://johnnycode.com/2012/01/04/in-iis6-http-301-redirect-from-non-www-to-www/ to create a now non-www site and point it to the www site and all seems to be working well, expect if a person puts in a HTTPS within the WWW but that should be a really rare event so I am not going to hassle with it. I also got rid of the relative URLS on the website and made them all explicit.
Fingers crossed that next run will show this issue is cleaned up....
Thanks for all your help and patience
-
Sounds like something in a web.config file. Is there possibly a web.config file in a higher-level folder?
Or, perhaps there's an IIS plugin that you're using that is doing this?
-
Yup something very strange. So it appears that
1. the redirect code in the web.config does not work
2. I may have something else going on because whenever I enter lucid8.com it redirects to https://www.lucid8.com so wondering if you have any ideas as to how I might track down WHAT exactly is making the page change to from Lucid8.com to https://www.lucid8.com???
-
Yes, that looks to me like 2 clues that both say that the web.config isn't being read for some reason.
-
Hmm well no all seems to be working well here, although the code in the web.config doesn't seem to be working for redirects, i.e. I can put in lucid8.com and it does not change to www.lucid8.com so maybe its not picking up the changes in web.config?
-
If your default document is index.asp, and you're redirecting index.asp to /, then I would expect you'd get an infinite redirection loop.
-
Sorry for the delayed response, been buried putting out other fires. That said
1. The web.config has the following in place so it refers to /
<rewritemaps><rewritemap name="Redirect"><add key="/index.asp" value="/"></add></rewritemap></rewritemaps>
2. All of my menu systems and links now reference the home page as www.lucid8.com or as / which I assume should not be an issue?
3. The only issue outstanding is your recommendation to
A: copy index.asp to home.asp
B: then would I strip the entire contents from index.asp and put some type of code within to tell it to look at home.asp? if so any help you have here would be appreciated.
NOTE: I am still a bit lost as to why I would have to do 3.a & b since steps 1 & 2 would seem to resolve the issue, but perhaps I am missing a critical point?
-
Sorry for the delay in response, had another fire to deal with....
Anyway I put this in place and it just doesn't seem to work, i.e.
1. if I put in lucid8.com I would expect it to correct itself to www.lucid8.com or http://www.lucid8.com however instead it just opens the page and keeps lucid8.com in the URL. Any ideas here?
2. I also notice that from that point on when I click to navigate to another place on the site that the URL stays without the www and I am going to guess that is because some of the pages have ABSOLUTE paths, i.e. www.lucid8.com/purchase/login.asp while others are relative, i.e /purchase/login.asp
So I guess two questions here i.e.
A: any idea how to track down why the redirect in the web.config is not working?
B: if we get # 1 working will it solve the # 2 issue or do we need to change all relative paths to absolute?
thanks
-
Excellent Info
thanks
-
You're pretty much on track with this now. The key points are:
- nothing outside of your web config file should be aware of what your home page's file name actually is
- Googlebot, your menu, etc. should all see your home page as /
- any existing links to index.asp should be 301 redirected to / to consolidate the link juice
And, the reason you're renaming index.asp to something else is that otherwise you'd have an infinite redirection loop of index.asp -> / -> gets resolved to index.asp -> / -> ....
-
I'll second Mike's comment about using Screaming Frog to test immediately.
The only thing I'll add is that it's worth doing an httpfox test of one example page to make sure you don't have a chain of redirects from your combinations of rules--Screaming Frog will just show you 1 of the response codes per page (it's unclear to me if it's the first or the the last response code). You'll catch things like one of the redirects in the chain being a 302 not a 301 (for instance, a basic Response.Redirect in the ASP code itself does a 302, not a 301!).
-
MatchAll means that all of the conditions must be met for the rule to process. It has nothing to do with case sensitivity.
Give this a whirl (I added your example of including a purchase folder in the rule):
<system.webserver><rewrite><rewritemaps><rewritemap name="Redirect"><add key="/index.asp" value="/"></add></rewritemap></rewritemaps>
<rules><rule name="CanonicalHostNameRule" enabled="true"><match url="(.)"><conditions logicalgrouping="MatchAll" trackallcaptures="false"><add input="{HTTPS}" pattern="^ON$">
<add input="{HTTP_HOST}" pattern="^www.lucid8.com$" negate="true"></add></add></conditions>
<action type="Redirect" url="<a href=" http:="" www.lucid8.com="" {r:1"="">http://www.lucid8.com/{R:1}" redirectType="Permanent" />
</action></match></rule>
<rule name="AllHTTPexceptSIGNIN" stopprocessing="true"><conditions><add input="{HTTP_HOST}" pattern="<a href=" http:="" (www.)(.)$"="">http://(www.)(.*)$" negate="true" />
<add input="{HTTPS}" pattern="on"><add input="{URL}" pattern="download" negate="true"><add input="{URL}" pattern="purchase" negate="true"></add></add></add></add></conditions>
<action type="Redirect" url="<a href=" http:="" {http_host}="" {r:0"="">http://{HTTP_HOST}/{R:0}" redirectType="Permanent"/>
</action></rule></rules></rewrite></system.webserver> -
ok thats great information since we only have a few sections where HTTPS is enforced and the cleaner I can make things the better.
That said here is what I have now in my web.config file so
1. how would I best integrate what you have above with this?
2. As I add new sections for HTTPS is it a single line for each new pattern, i.e. like "purchase" for example.
3. Am I correct that the "MatchAll" is for non case sensitivity?
<system.webserver><rewrite><rewritemaps><rewritemap name="Redirect"><add key="/index.asp" value="/"></add></rewritemap></rewritemaps>
<rules><rule name="CanonicalHostNameRule" enabled="true"><match url="(.*)"><conditions logicalgrouping="MatchAll" trackallcaptures="false"><add input="{HTTPS}" pattern="^ON$"><add input="{HTTP_HOST}" pattern="^www.lucid8.com$" negate="true"></add></add></conditions>
<action type="Redirect" url="http://www.lucid8.com/{R:1}" redirecttype="Permanent" =""></action></match></rule></rules></rewrite></system.webserver> -
Excellent information and it appears that today is my next crawl date. I will also take a look at screaming frog to see what it is all about. Thanks much for all your help and insight its invaluable. I am stuck trying to do this myself because of budgetary reasons and also my past experience with so called SEO experts was not so great... Lots of posers out there, however tools like this and these message boards make it much better and also easier to find other people to work with in the future.
Thanks again Mike
Troy
-
If you go to your campaign overview page, you will see a little box below the mini overviews that will say something like, "Last Crawl Completed: Apr. 3rd, 2013 Next Crawl Starts: Apr. 10th, 2013"
I personally use SEOmoz PRO tools in combination with Screaming Frog. I verify many of the problems using Screaming Frog, then fix them, then rescan (which is instant), then wait for my SEOmoz PRO tools to reflect my changes. SEOmoz does a great job of warning you and keeping you in the know... where Screaming Frog gives you a lot of information, but you really have to know what you are looking for and would have to keep on top of it... SEOmoz is more automated... if that makes sense.
Mike
-
The only thing that can happen is if Google indexes an http and https version of the same page. It isn't a HUGE deal... just depends on how obsessed you are about the site structure.
You could potentially have visitors start linking to the https version vs the http version, in which case that would be a problem.
Depending on the complexity of your site and code, this rule may be able to help you... where it says, pattern="download" that means that if someone visits the downloads section of your website, it will allow for https. You can continue to add additional folders by just repeating that code and replacing "download" with whatever the folder names are that you want to allow to use HTTPS. I did a Google search of site:lucid8.com inurl:https and noticed that your download section was indexed as using HTTPS, that is why I used it in this example.
If you are just using simple folder structures, this rule is not too bad to implement. I previously just implemented it with pattern matching and that was not fun.
Any way, if it helps great, if not, just try to keep your internal linking as consistent as possible. Sometimes the best way to do this is use absolute paths vs relative.
Mike
<rule name="AllHTTPexceptSIGNIN" stopprocessing="true"><conditions><add input="{HTTP_HOST}" pattern="<a href=" http:="" (www.)(.)$"="">http://(www.)(.)$" negate="true" />
<add input="{HTTPS}" pattern="on"><add input="{URL}" pattern="download" negate="true"></add></add></add></conditions>
<action type="Redirect" url="<a href=" http:="" {http_host}="" {r:0"="">http://{HTTP_HOST}/{R:0}" redirectType="Permanent"/>
</action></rule> -
So the weekly scan from SEOmoz, will that happen one week from the original scan date or? And if so will the campaign show when the scan has been updated or will I get a notification that its been updated or??
Just trying to figure out how to best use the tool and how long to wait for changes to appear in SEOmoz before I can mark an issue internally as being resolved so I can move on to the others
-
ok so I corrected all the internal references by taking out the explicit use of index.asp so moving forward that would seem to be solved.
However that said is the premise here that index.asp is already seen as a separate page from www.lucid8.com and therefore should become the reference page to a copy of itself called home.asp or whatever so that anything out there pointing to index.asp will now get consolidated into the new home.asp file and that when that happens it will resolve any issue with the search engines thinking that www.lucid8.com and www.lucid8.com/index.asp are different?
-
We do use HTTPS in different sections on the site. I played with a few things however it appears that unless you get complex there is no easy way to ensure the proper pages go to HTTP or HTTPS so will leave as the default of HTTPS now since it clearly does no harm in opening a non HTTPS page as HTTPS unless there is something I am missing??
-
You can thoroughly test these your self using the Firefox plugin httpfox.
The advantage this particular tool has over pretty much everything else is that you see not only the LAST http response code, but the entire chain.
I've answered private Q&A questions here from people where Google was seeing one of the response codes in the chain, but other tools were seeing a different one. If I remember correctly, it was a chain of 301s and 302s.
You want (ideally) a SINGLE 301; if you cannot make that happen, then a chain of 301s, with no 302s or 404s in the middle.
-
Cool. Glad to help.
Taking care of https is another rule that you would need to implement. This can be a bit more tricky if your site uses https for other purposes (such as signing in or a checkout process, etc.)
If you do not use https anywhere on your site, I can probably come up with some code that would work for you.
The SEOmoz scan is done on a weekly basis, so there isn't much you can do there. And as for other tools to do these scans, you really cannot get the level of detail in a user-friendly manner that SEOmoz provides - in my opinion.
Mike
-
Mike I think that did the trick, which is awesome!!! I validated the results by entering lucid8.com and it redirected me, however it added HTTPS vs the default of HTTP i.e. i got https://www.lucid8.com/ vs. http://www.lucid8.com/
Therefore;
1. Does the code above need to be modified or do I need to change some other setting
2. Is there a more robust way of validating these resolutions, i.e. if I do a new scan with SEOmoz will it immediately report that the issues have been fixed or ??? OR are there other methods to ensure I fixed these two issues completely?
-
If you are using IIS, then you would want to configure these fixes in your web.config file.
I think you'd want something like this:
<configuration><system.webserver><rewrite><rewritemaps><rewritemap name="Redirect"><add key="/index.asp" value="/"></add></rewritemap></rewritemaps>
<rules><rule name="CanonicalHostNameRule" enabled="true"><match url="(.*)"><conditions logicalgrouping="MatchAll" trackallcaptures="false"><add input="{HTTP_HOST}" pattern="^www.lucid8.com$" negate="true"></add></conditions>
<action type="Redirect" url="http://www.lucid8.com/{R:1}"></action></match></rule></rules></rewrite></system.webserver></configuration>If that does not work, I would recommend breaking it into sections - for example, try doing the redirect code first, then the canonical code second, or vise versa. I always look up examples of web.config configurations on stackoverflow.com.
Hope this helps Troy.
Mike
-
FYI you'll want to rename index.asp to something else, and then change the default document to point to the new filename (e.g. "home.asp"), then 301 redirect index.asp to /. This will consolidate any link juice currently going to index.asp onto your one real home page, "/".
When you think you're all done, then use the Firefox plugin HTTPfox to see your entire HTTP response code stream when you hit index.asp, the non-www version of your site, etc. You're looking to see a single 301 redirect for each.
-
-
BTW I Googled the issue and then poked around IIS on could not find any type of duplicate entry for www vs non www, however perhaps I am missing something simple? The entry that I have for the main site doesn't seem to say whether its for WWW or Non-WWW either so?
Also read an article that said this might be the cause of a duplicate DNS entry, i.e. one for WWW and one for non WWW??
-
Mike sorry for the delay in response....
I am using IIS on a Windows 2003 Server
-
That is a change you will make on your server.
Depending on the backend software you use, the code or setting to implement this type of change will be different.
What software do you use?
Mike
-
Great info thanks guys and
1. I found and corrected the /index.asp issue and am searching to ensure that issue is resolved on all other pages as well
2. Regarding the http://lucid8.com and http://www.lucid8.com I am confused as to where this is set or how to adjust. Can you provide any additional hints as to how I should address this?
Thanks to both of you this has been a great help!
-
excellent catch, Mike. He's absolutely correct about the index.asp page.
these two fixes should really help your site.
-
Hi Troy,
The issue with /index.asp is coming up because of your Home link in your footer. Instead of resolving to home "/" it is being pointed to "/index.asp".
And the reason it is also showing the www-version is because when the crawler is on lucid8.com and it crawls the link to the right of customer/partner login "customers", the crawler is brought to www.lucid8.com/downloadplus/Resource_login.asp Then, from here, if you click on any of the hyperlinks, you are brought to the www-version of the page instead of the non-www you specified as your preferred.
Jesse is correct in saying you need to choose either a www or non-www version; however, you also need to fix the /index.asp issue.
Hope this helps.
Mike
-
i think that because you said "http://lucid8.com/index.asp and http://www.lucid8.com are duplicates" your issue might actually be in the www and non-www canonicalization of your site.
Make sure that you pick one or the other (i recommend www) and in your IIS server settings redirect the non-www to the www. (or vice versa if you must)
This should solve your problem.
**update -- I just went to your site and yes this is happening. You have two sites going, http://lucid8.com and http://www.lucid8.com. The "index.asp" portion of it actually has nothing to do with this. But Google is currently seeing each version as two separate pages, resulting in duplicates of every page on that domain.
Definitely add the 301 redirect in your IIS settings to one or the other. A linkrel=canonical tag wouldn't hurt on each page either, but isn't necessary.
Good luck
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
Delete old blog posts after 301 redirects to new pages?
Hi Moz Community, I've recently created several new pages on my site using much of the same copy from blog posts on the same topics (we did this for design flexibility and a few other reasons). The blogs and pages aren't exactly identical, as the new pages have much more content, but I don't think there's a point to having both and I don't want to have duplicate content, so we've used 301 redirects from the old blog posts to the new pages of the same topic. My question is: can I go ahead and delete the old blog posts? (Or would there be any reasons I shouldn't delete them?) I'm guessing with the 301 redirects, all will be well in the world and I can just delete the old posts, but I wanted to triple check to make sure. Thanks so much for your feedback, I really appreciate it!
Technical SEO | | TaraLP1 -
My old URL's are still indexing when I have redirected all of them, why is this happening?
I have built a new website and have redirected all my old URL's to their new ones but for some reason Google is still indexing the old URL's. Also, the page authority for all of my pages has dropped to 1 (apart from the homepage) but before they were between 12 to 15. Can anyone help me with this?
Technical SEO | | One2OneDigital0 -
Best & easiest way to 301 redirect on IIS
Hi all, What is the best and easiest way to 301 redirect URLs on IIS server? I got access to the FTP and WordPress back office, but no access to the server admin. Is there an easy way to create 301 redirect without having to always annoy the tech in charge of the server? Thanks!
Technical SEO | | 2MSens0 -
Best Practice on 301 Redirect - Images
We have two sites that sell the same products. We have decided to retire one of the sites as we'd like to focus on one property. I know best practice is to redirect apples to apples, which in our case is easily done since the sites sold the same thing. www.SiteABC.com/ProductA can be redirected to www.SiteXYZ.com/ProductA. My question is how far does that thinking go regarding images? Each product has a main product page, of course, and then up to 6 images in some cases. Is it necessary to redirect www.SiteABC.com/ProductA-Image1.jpg to www.SiteXYZ.com/ProductA-Image1.jpg? Or can they all be redirected to just the product page?
Technical SEO | | Natitude0 -
Creating a CSV file for uploading 301 redirect URL map
Hi if i'm bulk uploading 301 redirects whats needed to create a csv file? is it just a case of creating an excel spreadsheet & have the old urls in column A and new urls in column B and then just convert to csv and upload ? or do i need to put in other details or paremeters etc etc ? Cheers Dan
Technical SEO | | Dan-Lawrence0 -
Can you 301 redirect a page to an already existing/old page ?
If you delete a page (say a sub department/category page on an ecommerce store) should you 301 redirect its url to the nearest equivalent page still on the site or just delete and forget about it ? Generally should you try and 301 redirect any old pages your deleting if you can find suitable page with similar content to redirect to. Wont G consider it weird if you say a page has moved permenantly to such and such an address if that page/address existed before ? I presume its fine since say in the scenario of consolidating departments on your store you want to redirect the department page your going to delete to the existing pages/department you are consolidating old departments products into ?
Technical SEO | | Dan-Lawrence0 -
Can you do a 301 redirect without a hosting account?
Trying to retire domain1 and 301 it to domain2 - just don't want to get stuck having to pay the old hosting provider simply to serve a .htaccess file with the redirect rule.
Technical SEO | | TitanDigital0 -
200 Redirects for SEO instead of 301
We are working with a company on re-platforming our website. On a call yesterday they outlined a strategy to use 200 redirects for our top keywords instead of 301s. I am not familiar with this type of redirect and was wondering if anyone could provide some more insight.
Technical SEO | | EvergladesDirect0