Our company is growing and we want to rebuild our website from scratch. Right now we're somewhere deep down in the SERPs and this has to change in order to drive traffic and get new customers.
How do we go about building a super-fast, SEO-friendly website? Should we buy a VPS or a dedicated server? What config will be enough? Is the data center location (IP) important, if we want to target a specific country? What tech stack to use on the server itself? Nginx, Apache, or something else? Any middleware? Is it a good idea to use an HTML template from Theme Forest? Which framework is the fastest, the best? We will probably keep away from WordPress, as it's quite difficult to optimize heavy themes for loading speed. Should we use a CDN? Any other obvious things that we're not thinking about?
Phew! Any suggestions, tutorials, blogs, or people who do that for a living? Where can we get some knowledge and follow best practices for 2023 and beyond? Thanks a lot!
This is what I did for Zlappo last year that finally stopped the massive churns:
Cache generously
Minify static files, compress HTML, use gzip
Refactor, especially database calls (so much inefficiencies/expensive calls here)
Fewer dependencies if possible (e.g. vanilla JS instead of framework/JQuery)
Use async/fetch for ancillary features
I worked as a platform/software engineer for several years, and currently building a small saas.
I am using AWS for all the infrastructure. 100% serverless so far, except the postgres instace.
I am paying around 5 - 10 USD a month for all of that.
I expect once the site gets more hits, pricing would go up.
I am also considering using S3 compatible storage from cloudflare called R2.
Pretty fast so far, as since I can cache the content at the CDN.
I used the AWS cdk for deployment and currently running multiple accounts in AWS for testing and production environments.
You are a software based company, so I decided to go a bit technical in my answer.
Given that I already have all the infrastructure as a code in place, I can create any other site with same features in a few minutes.
I cannot give unfortunately one single blog or source of information, as to get to this point was an accumulation of knowledge of several years working with these tools and building applications.
However, hope it gives you some help to see what a fully scalable infrastructure entails.
Thanks a lot, very valuable info, Dario.
Its not clear what the requirements for the site are, but if it's a landing page or similar then a static site built using something like Hugo would be an option. Then you can look at simple hosting options such as netlify or cloudflare pages.
GitHub pages can host it for free and you could add your custom domain to it too.
In general, it's a software house website.
I know you have been asking about core tech but it would still need a learning curve.
Some good nocode options would be using
Carrd.co , Dorik.com for single page sites and Webflow.com, Flezr.com (built by me) for dynamic content.
The advantage with most of these tools would be you don't have to worry about any scaling issue and if you want complex routing logic, you can leverage solutions like Cloudflare on top of these builders.
Thanks, I don't think I'll be using any website builders though. We're a software house, the learning curve won't be a steep one.
I feel you know little about building websites if you ask that many basic questions, which you could google.
In this case, I do recommend looking for a no-code website builder, which will help you build a simple website and even host it on their servers.
Strongly suggest going for the static site generator route. It simply allows you to control all your SEO needs in a way more granular way.
Yes, there are amazing web builders out there that will make you a beautiful site, but once you only want to do something slightly out of the ordinary, you're out of luck.
Hey Voy!
That was cool in the 90s ;-)
Unfortunately I don't know how much experience you have in dev, ops, IT-Architecture. And I don't want to sell you anything either... I've been doing this for over 15 years now - building websites and SaaS, large portals. You can host your SaaS for $0 and get the best metrics you can imagine (google speed index, ddos protection, WAF, etc..).
Start with static websites frontend framework like: VueJS, React. Host backend as serverless. With this you pay per request. I set up my SaaS the same way. I have a highly available, fault tolerance backend and frontend with AWS (CloudFront + Lambda, Api Gateway) and CDN with DDoS protection and WAF, DNS at CloudFlare.
Unfortunately, to set this up you need years of experience or someone who is really familiar with it. But hey, if you know how to - you can host your SaaS for basically 0 $.
https://aws.amazon.com/lambda/pricing/
https://www.cloudflare.com/plans/
Disclaimer: don't choose my path if you're unfamiliar with these technologies and just want to move your SaaS (fast) forward.
I hope I could help you somehow.
So, in general the fastest thing you can do is put a server inside everyone's local ISP. However this is probably not an option for normal folks like us :)
Next best solution is to use a CDN. These things usually keep a cached copy of data on their servers which should be geographically close to your users.
Then build with a static site generator.
You can't get much faster than that.
CDN - yes, definitely, down the road.
To build a super-fast, SEO-friendly website, you can consider the following steps:
Choose a lightweight framework or CMS: Select a framework or content management system (CMS) that is designed to be lightweight and fast, such as React or Gatsby. Avoid using heavy CMSs like WordPress if possible, as they can be difficult to optimize for speed.
Optimize images: Use tools like TinyPNG or Kraken.io to compress and optimize images, which can help reduce page load times and improve SEO.
Enable caching: Use caching plugins or tools like Cloudflare to enable caching on your website, which can help improve performance by storing frequently-accessed resources in the cache.
Use a CDN: A content delivery network (CDN) can help distribute your website's content across multiple servers, which can help reduce load times for users around the world and improve SEO.
Minimize HTTP requests: Reduce the number of HTTP requests your website makes by combining multiple files into one, or by using tools like async or defer to load resources in the background.
Choose a fast web host: Select a web host that has fast server speeds and a strong track record of uptime to ensure that your website loads quickly and consistently. The location of the data center (IP) can be important if you want to target a specific country, as the closer the server is to the user, the faster the website will load.
Use a fast web server: Consider using a web server like Nginx or Apache, as they are known for their speed and reliability. You may also want to consider using middleware like FastCGI or Node.js to further improve performance.
Avoid using HTML templates from Theme Forest: These templates can be heavy and difficult to optimize for speed and SEO, so it's generally better to create a custom website from scratch using a lightweight framework.
Follow best practices: There are many tutorials, blogs, and experts who can help you build a fast, SEO-friendly website. Some good resources to consider include the Google Webmaster Guidelines, the Web Performance Optimization (WPO) Foundation, and the performance section of the Mozilla Developer Network.
stop with the AI responses people :((
I apologize for posting AI generated content. I will make sure to be more mindful of the content I post in the future.