Forum Moderators: open
I maintain a website that uses frames…. The client won’t budge on the frames. I have tried…
The pages in question:
default.html - the main frameset page PR=0
indexmain.html - The home page that loads in the main frame. PR=5
menu.html - the menu page that loads in the menu frame. PR=5
Here is the frameset part of default.html
---
<frameset cols="134,*" frameborder="NO" border="0" framespacing="0">
<frame name="menu" scrolling="NO" noresize src="menu.html">
<frame name="main" noresize src="indexmain.html">
</frameset>
---
How does Google handle this?
99% of our 100+ incoming links are to www.ourdomain.c0m. Since default.html has 0 PR and the pages that it loads each have PR 5 is it safe to assume that the PR for what would be our home page is being split between indexmain.html and menu.html?
If so, is there a way that I can stop the PR from being split and have it only go to the indexmain.html page using JavaScript or some other means? It does not seem like robots.txt is the way to go here... or is it? Can I just exclude menu.html in robots.txt?
My main concern would be that I don't want to exclude menu.html and have the PR for our home page just drain off to nowhere...
I have searched the forums and Google and can’t find a clear answer to this.
For PR purpose there is no difference between a frameset as described and a non-frame page with two links on it (to menu.html and indexmain.html), i.e. the PR is distributed from the default.html to the other pages.
To answer your question, I would like to know what PR is shown for your URL without default.html (PR5 or PR6) and if you are redirected (if yes, what kind of redirect is used) to the default page?
Most likely your have a PR5/PR6 main page and the PR is distributed to the sub-pages as normal. PR might only displayed for www.yourdomain.com (and not for www.yourdomain.com/default.html) because Google doesn't know about the default.html page because there is no (neither internal nor external) direct link to this page.
Some things to do...
Do a javascript rewrite for all of the frame pages.
example...
if (top.location == self.location) {
top.location = 'http://widget.com/default.html'
}
Also, make use of the <noframes> tag. I write my default pages using the following template (minus metas)....
<HTML>
<HEAD>
<title>Title</title>
</head>
<frameset cols="210,*" FRAMEBORDER="no" BORDER="0" FRAMESPACING="0">
<NOFRAMES>
<BODY>
Put some links and text here for noframes that the G can crawl. I would make it useful content and view just this in browser to make sure it makes sense.
I have 3 sites like this that are consistantly on the 1st page of the SERPs.
just my 2 cents
I agree that likely in Google’s eyes the frameset page is simply a page with two links on it and there lies the problem. I am stuck with this format, but the way the site is laid out I do not need/want any PR to be transferred to menu.html. The PR would do more good being all channeled through indexmain.html which links to a sitemap and other key areas. I do have a link on menu.html that leads to indexmain.html, but I would prefer that no PR go to main.html at all.
Now I will try to answer your questions:
The URL (www.ourdomain.c0m) shows PR 5.
There is no redirect. The domain defaults to default.html, which is the frameset that loads menu.html and indexmain.html. Because of internal links pointing to default.html, it used to have PR 5 (brought the domain down to PR 4), but since taking over this site I have changed the links to point to the domain or indexmain.html. You are correct that there are now no internal or external links pointing to default.html. I think that if I can stop PR from being distributed to menu.html it will all go to indexmain.html and flow from there in the proper direction.
The site ranks well for all of its words/phrases, but I hate to see a completely worthless page with a PR of 5 when I could use that juice in other ways.
I have a few ideas, but would love to have some input from the beautiful minds here.
Since the site has MANY deep pages that rank #1 for their keys I do use JavaScript to reload the pages into the frameset like this:
if (top == self) self.location.href = "default.html?Form=framedpage.html";
This seems to work well with only minimal side effects.
I also make use of the noframes tag for some optimized text. It has helped a lot although I have removed "most" links in that area and instead use a sitemap that is linked from indexmain.html. Google really likes the sitemap and hits it several times a day. Prior to taking over this site no SE could get past the frameset so the site was never crawled. Talk about a dramatic change!
What I am looking for is a simple way to stop Google from seeing menu.html in the frameset as a URL and spreading out the PR to it without completely redesigning the site.
Any ideas anyone?
The PR would do more good being all channeled through indexmain.html which links to a sitemap and other key areas. I do have a link on menu.html that leads to indexmain.html, but I would prefer that no PR go to main.html at all.
Having a link on menu.html that leads to indexmain.html is the best you can do. Most of PR is transferred to indexmain.html and I wouldn't worry about the small amout which is used for the menu. To change the PR distribution you have to change the (linking) structure, but I wouldn't do this just for PR reasons. Because of the anchor text for the target pages there is also an advantage in the fact that the menu is spidered.
...that there are now no internal or external links pointing to default.html
Therefore, you don't see any PR for the default page, but this shouldn't be a problem.
Having a link on menu.html that leads to indexmain.html is the best you can do. Most of PR is transferred to indexmain.html and I wouldn't worry about the small amount, which is used for the menu. To change the PR distribution you have to change the (linking) structure, but I wouldn't do this just for PR reasons. Because of the anchor text for the target pages there is also an advantage in the fact that the menu is spidered.
Why do you say most is transferred to indexmain.html? Both indexmain and menu have PR5 and it would seem logical that the PR is evenly distributed between the two. As for anchor text on the menu page, unfortunately there is no helpful text or links on the page so I would rather exclude it from receiving PR.
I am leaning towards recreating the look of the default frameset on one page and using that as default.html (the current frameset page), naming the frameset page something else and using it to reload all pages under the home page into the frameset, so www.ourdomain.c0m will load the single page recreation of the frameset, but everything beyond that will load into the old frameset. Besides having to update many pages to accommodate this it seems to be a possible solution. Right? Since the home page easily fits in an 800x600 window with no scrolling, I doubt anyone would even notice the change.
That works but this is betterif (top == self) self.location.replace("default.html?Form=framedpage.html");
This has the advantage that the back button will work correctly.
Beautiful! Thanks Kaled!
most of the PR is transferred to indexmain and the content pages, respectively, because PR is passed from the menu to these pages. (Of course, the links in the frameset are equivalent for PR calculation.) The advantage in passing all PR to indexmain isn't that much (in units of toolbarPR) scale because it is a logarithmic scale with a large base. Also, the damping factor for passing PR is close to one.
I am leaning towards recreating the look of the default frameset on one page and using that as default.html (the current frameset page), naming the frameset page something else and using it to reload all pages under the home page into the frameset
This would work, but you might get a problem with users which have disabled JavaScript.