Files
meteor/docs/client/packages/spiderable.html
David Glasser 72731ddda0 Use jQuery to force all non-#internal links to use target=_blank.
Rewrite <a href> links to use Markdown syntax now that they don't need the <a
href> to get target=_blank.
2012-10-15 11:16:53 -07:00

39 lines
1.5 KiB
HTML

<template name="pkg_spiderable">
{{#better_markdown}}
## `spiderable`
The `spiderable` package is a temporary solution to allow web search engines to
index a Meteor application. It uses the [AJAX Crawling
specification](https://developers.google.com/webmasters/ajax-crawling/)
published by Google to serve HTML to compatible spiders (Google, Bing, Yandex,
and more).
When a spider requests an HTML snapshot of a page the Meteor server runs the
client half of the application inside [phantomjs](http://phantomjs.org/), a
headless browser, and returns the full HTML generated by the client code.
{{#warning}}
This is a temporary approach to allow Meteor applications to be
searchable. Expect significant changes to this package.
{{/warning}}
In order to have links between multiple pages on a site visible to spiders, apps
must use real links (eg `<a href="/about">`) rather than simply re-rendering
portions of the page when an element is clicked. Apps should render their
content based on the URL of the page and can use [HTML5
pushState](https://developer.mozilla.org/en-US/docs/DOM/Manipulating_the_browser_history)
to alter the URL on the client without triggering a page reload. See the [Todos
example](http://meteor.com/examples/todos) for a demonstration.
{{#warning}}
If you deploy your application with `meteor bundle`, you must install
`phantomjs` ([http://phantomjs.org](http://phantomjs.org/)) somewhere in your
`$PATH`. If you use `meteor deploy` this is already taken care of.
{{/warning}}
{{/better_markdown}}
</template>