Skip to content

Commit

Permalink
Add prerender.io to Static doc (#491)
Browse files Browse the repository at this point in the history
## Describe your PR

Some client may want to prerender there SPA application to have better
SEO. One of the way to do it is by using prerender.io
Added a part in the documentation to talk about how to do it on Clever
Cloud.

You can check if prerender.io work correctly on your app by using this
guide.

https://docs.prerender.io/docs/how-to-test-your-site-after-you-have-successfully-validated-your-prerender-integration

## Checklist

- [x] My PR is related to an opened issue : #
- [x] I've read the [contributing
guidelines](/CleverCloud/documentation/blob/main/CONTRIBUTING.md)


## Reviewers
_Who should review these changes?_ @CleverCloud/reviewers

---------

Co-authored-by: Julia March <101819212+juliamrch@users.noreply.github.com>
Co-authored-by: Pierre L. / Peyo <166715564+PLhuillery@users.noreply.github.com>
  • Loading branch information
3 people authored Jan 28, 2025
1 parent bbc0c09 commit c88aa1b
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions content/doc/applications/static/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,36 @@ RewriteRule ^ - [L]
RewriteRule ^ /index.html
```

## Prerendering with Prerender.io

When you use a SPA framework, you are using Client side rendering.
One of the problem with this method is a poor SEO as search engine crawlers have more difficulty reading the content of this type of application.
To minimize this issue, prerendering can be a solution.

If you want to Prerender your application on Clever Cloud, one solution is to use [Prerender.io](https://prerender.io/).
To use it with our static applications, you need a `.htaccess` file like this at the root of your project:

```ApacheConf
<IfModule mod_headers.c>
RequestHeader set X-Prerender-Token "<PRERENDER_TOKEN>"
RequestHeader set X-Prerender-Version "prerender-apache@2.0.0"
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
<IfModule mod_proxy_http.c>
RewriteCond %{HTTP_USER_AGENT} googlebot|bingbot|yandex|baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest\/0\.|pinterestbot|slackbot|vkShare|W3C_Validator|whatsapp|redditbot|applebot|flipboard|tumblr|bitlybot|skypeuripreview|nuzzel|discordbot|google\ page\ speed|qwantify|bitrix\ link\ preview|xing-contenttabreceiver|google-inspectiontool|chrome-lighthouse|telegrambot [NC,OR]
RewriteCond %{QUERY_STRING} _escaped_fragment_
RewriteCond %{REQUEST_URI} ^(?!.*?(\.js|\.css|\.xml|\.less|\.png|\.jpg|\.jpeg|\.gif|\.pdf|\.doc|\.txt|\.ico|\.rss|\.zip|\.mp3|\.rar|\.exe|\.wmv|\.doc|\.avi|\.ppt|\.mpg|\.mpeg|\.tif|\.wav|\.mov|\.psd|\.ai|\.xls|\.mp4|\.m4a|\.swf|\.dat|\.dmg|\.iso|\.flv|\.m4v|\.torrent|\.ttf|\.woff|\.svg))
RewriteRule ^(index\.html|index\.php)?(.*) http://service.prerender.io/%{REQUEST_SCHEME}://%{HTTP_HOST}$2 [P,END]
</IfModule>
</IfModule>
```
You can find your `PRERENDER_TOKEN` on your [Prerender.io account](https://prerender.io/).

You can verify your configuration work using [this guide](https://docs.prerender.io/docs/how-to-test-your-site-after-you-have-successfully-validated-your-prerender-integration).
## Apache Configuration with `CC_WEBROOT`

If you set the `CC_WEBROOT = /<web-folder>` environment variable, make sure you put your `.htaccess` file at the root of your `/<web-folder>`. This is where Apache will look for directives when you deploy an application in a Static runtime.
Expand Down

0 comments on commit c88aa1b

Please sign in to comment.