Choosing the Right CMS: Comparing WordPress, Sanity, and Netlify CMS Through Real Projects

As a web developer, I would like to share my experience with different CMS types. My choice of CMS is typically based on the customer's needs. Client requirements are usually simple and understandable: affordable (preferably free), user-friendly for non-technical individuals, and fast, especially when it comes to loading times.

Portfolio for a Photographer

Photographers often require portfolios filled with high-resolution images, which can pose a challenge to manage effectively. After some research, I found that a Jamstack solution using React + Netlify CMS + Netlify.com works well for this scenario. Netlify CMS is an open-source content management system based on GitHub. It integrates directly with static site generators like Gatsby and Next.js, making it a decent option for developers and final users. For handling and storing images, I used Cloudinary, which integrates seamlessly with Netlify CMS. It has its own widget with drag-and-drop media uploads, free pricing, fast performance, and web-based intuitive interface made it an excellent choice.

Pluses for Developers:

  • Modern Workflow: Integrates with static site generators, allowing developers to use their preferred tools and workflows.
  • Customizable: Easily tailored to specific project needs through its YAML-based configuration.
  • Version Control: Content is stored in a Git repository, enabling change tracking and collaboration.
  • Open-Source: Developers can contribute to the project or build custom plugins and extensions.

Challenges and Drawbacks:

  • Limited Plugin Ecosystem: Fewer plugins and themes (compared to WordPress).
  • Dependence on Git and Static Site Generators: Requires familiarity with tools like Gatsby or Next.js, adding complexity.

Best For: Developers building modern, fast static websites using Gatsby, Next.js, or Hugo.

Customer feedback on the Netlify CMS interface highlighted its ease of use, logical design, and intuitive functionality. You can see the results and enjoy the photography portfolio at

taranukhina.com

Working with WordPress

Currently, I am working on a project that uses WordPress. This was chosen because the client required WooCommerce integration, making sense to stay within one ecosystem. WordPress powers over 40% of websites globally. Originally designed for blogging, it has evolved into a versatile platform suitable for various types of websites. As a newcomer to WordPress, I was pleasantly surprised by the active community and the wealth of online resources available.

Pluses for Developers:

  • Integration Options: Seamlessly integrates with numerous third-party tools, APIs, and services for complex projects.
  • Developer Tools: Tools like WP-CLI streamline the development process.
  • Extensibility with Plugins and Themes: Enables developers to create custom functionality and designs.
  • Customizable Codebase: Open-source nature allows precise modifications.
  • Large Community Support: Abundant forums, documentation, and tutorials ease troubleshooting and learning.

Challenges and Drawbacks:

  • Security Vulnerabilities: Popularity makes it a target for hackers, requiring regular updates.
  • Performance Issues: Excessive plugins or heavy themes can lead to slow performance.
  • Dependency on Plugins: Feature reliance on plugins can lead to quality and compatibility issues.
  • Learning Curve for Advanced Customization: Advanced features may require knowledge of PHP, CSS, and JavaScript.
  • Maintenance Effort: Regular updates and backups are necessary for smooth performance.

Best For: Bloggers, small business owners, and anyone seeking a customizable and beginner-friendly platform.

Using Sanity CMS

For a data scientist’s portfolio project, I decided to use Sanity CMS. The small scale of the project allowed me to leverage Sanity’s free tier. Sanity Studio is a React application with customizable content, real-time collaboration, and developer-friendly CLI and SDKs. Unlike Netlify CMS, image uploading is straightforward without requiring Cloudinary integration.

Pluses for Developers:

  • Flexibility: Custom schemas allow developers to tailor the CMS to project-specific requirements.
  • Headless Architecture: Content is delivered via APIs, ideal for modern web applications and multi-platform projects.
  • Real-Time Collaboration: Live updates enable simultaneous team collaboration.
  • Scalable: Suitable for projects ranging from small websites to enterprise-level applications.
  • Integration with Modern Tools: Works seamlessly with frameworks like Next.js, React, and Gatsby.

Challenges and Drawbacks:

  • Learning Curve: High customization can be overwhelming for beginners.
  • Dependency on APIs: Reliable API performance is required, adding complexity to debugging.
  • Limited Out-of-the-Box Features: Lacks built-in themes or plugins, requiring more development effort.

Best For: Developers and teams creating highly customized, content-driven applications.

The client provided positive feedback, noting the interface’s usability. However, they mentioned some minor inconveniences of the built-in text editor. Check the results at

elena-medvedeva.vercel.app

Markdown for Personal Portfolio

My personal portfolio doesn’t use a traditional CMS. Instead, it utilizes Next.js with markdown documents acting as the CMS. I chose this approach for its lightweight nature and fast performance. You can check my portfolio, which gets a 100% score in the PageSpeed insights at

elena-aseeva.vercel.app

Pluses for Developers:

  • Lightweight and Fast: Minimalistic tools reduce overhead and improve performance.
  • Seamless Version Control: Content in markdown files stored in Git repositories facilitates collaboration and tracking.
  • Developer-Friendly Workflow: Easily integrates with static site generators and modern tools.
  • Customizable Build Process: Allows developers to define build pipelines for transforming markdown into static websites.

Challenges and Drawbacks:

  • Limited User Interface: Markdown syntax and Git workflows can be challenging for non-technical users.
  • Manual Configuration: Setup often requires developer expertise, deterring beginners.
  • Scalability Issues: Best suited for small to medium projects; large-scale content management can become cumbersome.

Best For: Developers and technical teams creating static websites or documentation projects with minimal overhead.

Conclusion

Choosing the right CMS depends on your project requirements, technical expertise, and client needs. From WordPress’s extensive ecosystem to the modern workflows of Netlify CMS, or the flexibility of Sanity CMS, there is a CMS for every use case. For developers prioritizing lightweight performance, markdown-based CMS solutions are a solid choice. Ultimately, understanding the strengths and limitations of each CMS helps ensure a successful project outcome.