Solved

Google unable to index certain (javascript generated) Dynamic pages

Posted on 2004-08-31
8
197 Views
Last Modified: 2010-04-06
Hi,
I use JavaScript to return values from a database to a number of web pages.  The problem is that these pages (and only these pages) do not get indexed by google due to their dynamic nature.  I was wondering what the best solution would be to enabling these pages to be indexed (and still returning certain content from the database).  Cheers,
        everton690
0
Comment
Question by:everton690
  • 3
  • 3
8 Comments
 
LVL 2

Expert Comment

by:Epistemo
ID: 11948058
Google 1 on 1 ...

Javascript generated links wont work ... they just don't.
But you can create an archived link section or have links to the main section within the main page.

Create a stylesheet and put the following style in there.

h1 {display: none;}

Then right after the <body> tag start your page by adding
<h1> put all you links in here. and some info about the site.</h1>

Browsers won't see this at all, yet Google will see this and spiders the links.
Make sure you have at least a little logic in your url's and tada ... within a few weeks you'll see that your site is there with multiple sections.
Another tip ... name your pages! So don't use a generic header without modifying the title.

And ... submit to Google only once if you have a small site ... It will then pick up your site from it's database ....
One more thing. Google does not crawl your whole site in one time ... it keeps coming back to spider more content on a regular basis.

Larger sites that are linked from here and beyond ... don't even bother to submit. Google will pick you up from the links.
The more links towards your site ... the higher the ranking of your site. There are other factors, yet this is the most common one.

Laters and good luck.

Epistemo -> works with stand alone Google Search Appliance.
0
 

Author Comment

by:everton690
ID: 11950122
Cheers Epistemo,
Thamks for the tips.  However I think you misunderstood me slightly.  The links to the pages themselves are not generated by javascript, it is the content on the pages that is returned from the database.  I was wondering if there is any simply way to return results from the database and enable google to see them.  For example we have a page with called 'publications' that contains the names of over 100 people and links to their publications.  From time to time this publications list is updated.  This information is stored in a database and we use javascript to return it to our webpage.  The page basically only contains these names and links (to pdf files etc).  Google is aware of the page but does not index it because of the dynamic nature of its content.  Is it possible to enable google to see these results returned from the database?  Can this be done through some means similar to the method mentioned above (or is there a method for creating a dynamic page and then converting it to a static page) ?.        
 
0
 
LVL 2

Expert Comment

by:Epistemo
ID: 11950218
Only if you can display the links through server side coding.
Googlebot can't read javascript.
You have an example page?
0
Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

 

Author Comment

by:everton690
ID: 11950302
0
 
LVL 2

Accepted Solution

by:
Epistemo earned 150 total points
ID: 11953538
First of all ... these links are not created through javascript on the clientside. So in theory you should not have a problem.
Yet I noticed you use a javascript to do the frames and the data of the actual page is not located on the AE: "http://www.hamilton.ie/people.htm"
because this page will pull it's self inside a frame set. So yes ... then Google can't run a bot and find you links.

You made basicly it to difficult for any robot to even find the links. So I guess your out of luck.
That is .... and what if ...

See the code?
<html>
<head>
<title>Hamilton Institute</title>
</head>

<script>
document.writeln("<frameset rows='36,511*' cols=* frameborder=NO>");
document.writeln("<frame src=navbar.htm name=navbar scrolling=NO frameborder=NO>");
document.writeln("<frameset cols='217,646*' rows=* bordercolor=#003366 frameborder=NO>");
document.writeln("<frame src=leftbar.htm name=leftbar frameborder=NO scrolling=no>");
document.writeln("<frame src="+location.search.substring(1)+'.htm'+" name=main>");
document.writeln(" </frameset></frameset><noframes><body></body></noframes>");
</script>

</html>

That is your frameset ....

What if you throw in the hidden div in here and start creating a list of links in this file?
Googlebot would see them then ...

0
 

Author Comment

by:everton690
ID: 11961658
Epistemo,
This seems like a reasonable solution to the problem.  Before I set about making the changes I would like to clarify the situation as my knowledge of javascrpt to date is limited at best (to be honest nill).  So when I insert the 'hidden div' into the code (after I have researched its function) would I in effect have to 'hard code' the names and links into the script or not?.  Thanks again.
                everton690.
                 
0
 
LVL 14

Assisted Solution

by:ziffgone
ziffgone earned 50 total points
ID: 11987409
Actually everton690, simply place a small static link on your main page: "Site Map". Have this link point to a single static page with links to all of your pages. The search engine bots will follow the site map link to your site map page and then follow each link from there, indexing the pages.

Hope that helps.

Regards...
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

When you work with shopping cart / ecommerce relates web sites, you need to pass the certain form post details to the payment gateway process page with required details for the products items you give to order. Also you may need to track the ordered…
Introduction Knockoutjs (Knockout) is a JavaScript framework (Model View ViewModel or MVVM framework).   The main ideology behind Knockout is to control from JavaScript how a page looks whilst creating an engaging user experience in the least …
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
The viewer will receive an overview of the basics of CSS showing inline styles. In the head tags set up your style tags: (CODE) Reference the nav tag and set your properties.: (CODE) Set the reference for the UL element and styles for it to ensu…

785 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question