From 94882e1f6074e90da0a9c64c7ec82483e70fd509 Mon Sep 17 00:00:00 2001 From: Votre Nom Date: Tue, 7 Jan 2025 16:24:13 +0100 Subject: [PATCH 1/2] Add prerender.io to Static doc --- content/doc/applications/static/_index.md | 28 +++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/content/doc/applications/static/_index.md b/content/doc/applications/static/_index.md index 51f9c596e..b7c1f9152 100644 --- a/content/doc/applications/static/_index.md +++ b/content/doc/applications/static/_index.md @@ -66,6 +66,34 @@ RewriteRule ^ - [L] RewriteRule ^ /index.html ``` +## Prerendering with Prerender.io + +When you use and SPA framework, you are using Client side rendering. +One of the problem of this method is poor SEO as search engine crawler have more difficulty reading the content of this type of application. +To avoid this problem, you can try to prerender your application. + +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 + + RequestHeader set X-Prerender-Token "" + RequestHeader set X-Prerender-Version "prerender-apache@2.0.0" + + + + RewriteEngine On + + + 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] + + +``` + ## Apache Configuration with `CC_WEBROOT` If you set the `CC_WEBROOT = /` environment variable, make sure you put your `.htaccess` file at the root of your `/`. This is where Apache will look for directives when you deploy an application in a Static runtime. From 174555bdc4b1d4e64a9f718747e4d5947bd7a1ed Mon Sep 17 00:00:00 2001 From: Corentin BARAULT <74433435+Kirbeerus@users.noreply.github.com> Date: Tue, 7 Jan 2025 16:33:26 +0100 Subject: [PATCH 2/2] Update _index.md --- content/doc/applications/static/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/doc/applications/static/_index.md b/content/doc/applications/static/_index.md index b7c1f9152..22eba0dfc 100644 --- a/content/doc/applications/static/_index.md +++ b/content/doc/applications/static/_index.md @@ -68,7 +68,7 @@ RewriteRule ^ /index.html ## Prerendering with Prerender.io -When you use and SPA framework, you are using Client side rendering. +When you use a SPA framework, you are using Client side rendering. One of the problem of this method is poor SEO as search engine crawler have more difficulty reading the content of this type of application. To avoid this problem, you can try to prerender your application.