3

I'm developing a single page website that will have all it's content available by scrolling down and showing/hiding various DOM elements.

Most of the discussion I've seen on SO on this topic is related to how to get Google to index content that's loaded after the initial load via AJAX. My situation is different in that all of my content is present after the initial load.

My goal is to get Google to index the different sections of the page (about, contact, etc) individually.

I've read the Making AJAX Applications Crawlable site that Google has put together, and it seems like the best (only?) option.

However, given that all of my __escaped_fragment_ links will render the same content, I'm concerned that I might get penalized by Google for having duplicate content at different URLs.

Is that a reasonable concern is this case?

5
  • 1
    bad seo is your punishment for trying to break the web :)
    – JamesRyan
    Oct 17, 2011 at 13:03
  • Not exactly sure how a long page with anchor links "break" the web. Can you explain your comment?
    – evanmcd
    Oct 17, 2011 at 17:27
  • Because a 'web' of linked pages with content specific to the link is the fundamental basis of it. A long page of everything, regardless of whether it uses ajax to load content or if its all there, is bad for linking and bookmarking, bad for caching, bad for performance, bad for mobile devices, bad for indexing and seo... need I go on? :) IMO it is just about acceptable if it is merely a summary of other pages which individually hold the content but in that case it should be them that are indexed.
    – JamesRyan
    Oct 17, 2011 at 18:43
  • I appreciate your points. How does the increased usability of single-page / AJAX pages factor into your consideration?
    – evanmcd
    Oct 17, 2011 at 19:42
  • Finding the relevant info you are looking for without wading through a whole page of stuff you are not interested in is not my idea of increased usability so you would need to have done a very good job to avoid that. Even where you have been successful it is still going to be very unfriendly to things like screen readers and mobile devices. Also your site will stand out as forcing a different paradigm on people than they have come to use so expect it to put people off and a single generalised page will always rank worse than a collection of specialised pages for seo.
    – JamesRyan
    Oct 18, 2011 at 10:19

1 Answer 1

4

There is no way to get Google to index/rank part of a page. It's either all or nothing. If you use crawlable Ajax it should allow your content to be indexed as separate pages as it is obvious that as the escaped fragment links change the content changes, too (that's kind of the whole point of crawlable Ajax).

Of course that doesn't make it a good idea. In fact it's a bad idea. It's not accessible, your site fails when JavaScript is turned off, and you're essentially blocking your site from every other search engine in the world.

What you should be doing is breaking your content up into multiple pages with each page serving one purpose only. If you need to get content via Ajax then make sure you can get the same content without JavaScript so users can still use your site if they don't have JavaScript enabled (A.K.A. progressive enhancement).

3
  • Perhaps I should clarify a bit. I'm not using AJAX for anything - all of my content is loaded at the initial page load.
    – evanmcd
    Oct 17, 2011 at 17:52
  • I made the comments about ajax powered websites since you mentioned it was an option you were considering. I figured it was better to mention it and (possibly) save you the trouble of implementing it and finding out it has pitfalls, too.
    – John Conde
    Oct 17, 2011 at 18:03
  • Thanks. I referenced the Google article only as it seemed to answer the question of how to get what are essentially page anchors indexed individually. In any case, thanks in part to your urging, I'm looking more into using html5 history, with the History.js library for fallback.
    – evanmcd
    Oct 17, 2011 at 18:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.