For the past couple of months, I have been building PDFMonk app using the Flutter platform due to its short learning curve and cross platform capabilities. Flutter web was awesome to start with. we have built few high priority features such as PDF Compressor, PDF Cropper, PDF Merge etc.
Problem: Flutter Web does not support SEO
Since flutter web generates Single Page Application (SPA) using single index.html web page, it was difficult for boost traffic to the website through search engines such as Google and Microsoft Bing. I learnt that Flutter Web was not designed to be SEO friendly. In order to drive traffic through search engines, I was looking at various ready to use solutions such as WordPress, Webflow or framer to build SEO friendly marketing website and blog for PDFMonk.com.
Solution: Jekyll create new and build static SAAS product website
Later came to learn about Jekyll static website generator. Tada! What a moment. Suddenly all became super simple in creating website after some initial learning curves with Jekyll and markdown pages.
We have used the following jekyll plugins to power our website
- jekyll-paginate
- jekyll-sitemap
- jekyll-feed
- jekyll-seo-tag
- jekyll-archives
With Jekyll, I was able to focus in crafting engaging user marketing contents.
How PDFMonk SPA web App, Blog and Website was setup?
Now that I decided to have to create a marketing website and app separate, I was looking at Firebase for its support this usecase as whole of my flutter web app was powered by it. Thankfully, Firebase was supporting multi site hosting for the same project with different apps.
- On the main domain www.pdfmonk.com our jekyll based static marketing website and blog is hosted and served.
- On the subdomain app.pdfmonk.com and linked with firebase project where our flutter web app will be continuously deployed and served to our users.
- Each site can be linked to Firebase hosting site and app with respective google analytics enabled visitor tracking for analytics purposes.
What do you think about this? Was this useful?