24

Survey DN: CMS for clients

4 years ago from

Hi DN Community!

I'm a designer/developer at Code for America working on a team to help make city websites more usable and accessible. We're at a point right now where we want to help make recommendations for CMS's for cities to use.

As a developer/designer who hasn't been focused on client websites for a couple years now, I'm a little behind on what others are using. Obviously, Wordpress and Drupal are reasonable but I would hope there are better options by now. There's a lot to love about static site generators but most of them don't include a very great authoring experience for non-developers (Although I was reading something about using contentful + roots which seems like a promising approach).

Just wanted to get a feeler out there. What do you guys use?

41 comments

  • Jimmy HookerJimmy Hooker, 4 years ago (edited 4 years ago )

    Everyone shits on Wordpress nowadays, but if your site has any kind of complexity (ie it has more than twenty pages outside of the blog), has multiple contributors (especially non-technical contributors), and you are not going to be maintaining it for life (ie you expect that other developers or people will, at some point, be working on it), then it's the right choice.

    A few reasons:

    1. Most people who've worked on websites in any capacity have at least done a little work with Wordpress. If you ever need to have anyone else work on a site built on Wordpress, it will be easy to find people who can do so and will be up to speed quickly.
    2. Most anyone who has had to add content to a website (ie the marketing team, etc) has worked with Wordpress before. You are decreasing onboarding time by an order of magnitude and you can lean on these people in an organization to help their coworkers learn the interface.
    3. There is infinite documentation online about Wordpress. Anything you want to do, or have imagined you should be able, has been documented in-depth. StackExchange has a whole Q/A site specifically dedicated to Wordpress.

    I get it, php blows, it's not static, it's not sexy. But it works really, really well. And you can make it do almost anything you want. It's nearly bulletproof. And if you need other contributors either in development or content, you will find them in spades.

    15 points
    • Dave HawkinsDave Hawkins, 4 years ago

      I have really enjoyed building a wordpress site with timber recently too. With my lacking php skills, it gives you the twig templating language to make development a bit more sane. http://upstatement.com/timber/

      6 points
      • Robert MapleRobert Maple, 4 years ago

        +1 For Timber. Makes working with Wordpress so much nicer, specifically the tangled mess of 'the loop'.

        0 points
      • Giulio MichelonGiulio Michelon, 4 years ago

        Timber is awesome and it should be a Wordpress standard. I built my own agency website (http://belka.us) lately and it's been a breeze to use.

        +1

        0 points
    • Dan CoatesDan Coates, 4 years ago (edited 4 years ago )

      Those are some good points but I do overall disagree, here are some arguments against Wordpress from a developers perspective.

      PHP really doesn't blow these days, it's just the way that Wordpress is coded that sucks. If it was written in a style closer to symfony or laravel then I'd be much more likely to use it.

      It is very hard to work with Wordpress using modern best practices. It lends itself to editing content live without any sort of staging server and has nothing built in to handle migrations.

      It is way too heavily tied to html markup. There is no really separated theming layer. This is particularly a problem with plugins, where many popular plugins output HTML (and pretty bad html at that) and make it very difficult to maintain a consistent styleguide across the site.

      Security is still a major issue with Wordpress, you'll either spend a fair bit of time hacking the default install to make it secure or fixing the install after it has been hacked. Also, to stay secure you've got to be very careful to keep the core and all plugins up to date which adds extra maintenance and testing time to ensure that everything still works after an update.

      I guess all that is to say that while you may save some time on training users on a new system you'll add a lot of development time and frustration that could be avoided by using a more modern CMS.

      4 points
      • Jimmy HookerJimmy Hooker, 4 years ago

        I agree with most everything you've said, but Wordpress is still worth it. You can't ignore the juggernaut.

        I'm not saying you shouldn't consider stuff like Craft. Craft looks sick. But Wordpress is a block of granite, and it's been proven to support sites as big as wordpress.com, which is absolutely enormous.

        It's time tested and battle proven. It holds up.

        1 point
      • Nathan LeeNathan Lee, 4 years ago

        Not to argue the point that Wordpress is written poorly, but there are ways in which you can set up better workflows and hosting.

        WP Engine, Flywheel and Pantheon* come to mind.

        *Note: I work for Pantheon and can talk shop if there's curiousity.

        0 points
      • Andrew MauneyAndrew Mauney, 4 years ago

        The post is CMS for clients, not developers.

        Also. building a CMS in MV* is great for building it but not necessarily for maintaining it by a third-party or handing it off to a client for them to work with. Having built several custom CMS platforms for clients in CI and Laravel, just getting clients to wrap their heads around how the basic wiring works can be a massive pain.

        0 points
    • Rick LanceeRick Lancee, 4 years ago

      People who say php blows don't understand anything about php or programming

      5 points
  • Lauren DormanLauren Dorman, 4 years ago (edited 4 years ago )

    I'd recommend using Craft. It doesn't box you in the way that WordPress does. You can build custom content types with the fields you need, not just what's given to you. It uses Twig for it's templates, which means it is pretty human readable and also easy to build out the front-end. I'd suggest checking out their documentation.

    12 points
    • Jimmy HookerJimmy Hooker, 4 years ago

      Craft looks enormously interesting, especially for complex layouts. This is one thing I usually just give up on and do using a php template in Wordpress. However, one thing that I'd love to dive into is how they do performance optimization. That, and things for SEO like Yoast. For any company that takes SEO seriously, Wordpress works very, very well. I'm afraid to step away from that.

      0 points
      • Roel van HintumRoel van Hintum, 4 years ago

        Anything SEO in wordpress, can be done in craft or any other cms. The important thing is to serve the correct html. Yoast helps a little, but isn't necessary to do that.

        0 points
        • Jimmy HookerJimmy Hooker, 4 years ago

          In regards to SEO, yes, in most cms' you have control over url structure/titles/description/content which is really all you need.

          However, what Yoast does well is it forces you to think about SEO every time you update or publish a page. There's a lot of good 'in your face' usability stuff about that tool, like the red/green/yellow SEO indicator and things like checking your content for use of keyword phrases. Sometimes these seem like small things, but when you're working in a group and you want people to focus on something like SEO that they otherwise might not care about, it makes a big difference. I also think developers and designers tend to relegate things like SEO to scummy territory, but for a business it is enormously helpful to have a good strategy, and Yoast helps you execute on that.

          My intention wasn't to focus on Yoast entirely, I'm just saying that solid plugins like Yoast that make certain things easy to implement aren't necessarily going to be around for something like Craft (although I did find Sprout for Craft SEO stuff while writing this and it seems solid even if it doesn't have all the nice 'in your face' stuff).

          In general, Wordpress is an enormous market, and a ton of development firepower has been thrown at it, for better and for worse (plenty of poorly developed or abandoned plugins/themes, bad advice about development, etc). However, some really good stuff has risen to the top, and it's important to know what you are giving up by using a lesser known platform.

          1 point
  • Gilles BertauxGilles Bertaux, 4 years ago

    Try Kirby CMS. Flat-file CMS as good and flexible as Wordpress.

    10 points
  • Wassim ↬, 4 years ago

    Kirby for small projects and Craft for big ones.

    9 points
  • Floyd WilliamsonFloyd Williamson, 4 years ago (edited 4 years ago )

    Perch is probably the best 'little' CMS (recommended for a site with under 20 pages). It is so easy to integrate Perch tags that you can even make the entire static site first and then make it dynamic later. It's about $50 to start.

    If you want something more complex, I definitely agree with those recommending Craft. As a developer I have had the best time building sites with it and the dashboard is simple and clean for clients. Not only that, but there is a live preview that actually works, so clients can put together some pretty in depth pages without having to code. They have plans ranging from free to $300.

    4 points
  • Per VPer V, 4 years ago

    https://www.designernews.co/stories/58069-grav-is-a-modern-open-source-flatfile-cms

    4 points
  • Anthony WingfieldAnthony Wingfield, 4 years ago

    I think Contentful is the way to go right now and can be integrated in to static sites.

    It's been working for me, check it out.

    2 points
    • Matthew BlodeMatthew Blode, 4 years ago

      I was trying contentful but was unable to get it set up on Middleman. What static site generator do you use?

      1 point
      • Anthony WingfieldAnthony Wingfield, 4 years ago

        Roots

        Has a plugin for Contentful that makes it super easy to use.

        0 points
      • Ed AdamsEd Adams, 4 years ago

        The idea of using a content management system to wrap around a static site seems really awesome to me, but I don't know if I'm quite sold on Contentful (or more specifically on it's $99/mo. pricetag). Does anyone know if any other CMSes can be made to work with static sites? It seems like a great idea.

        3 points
        • Christoph Hochstrasser, 4 years ago (edited 4 years ago )

          I like Prismic.io very much. It’s free for 1 user, or with CC-licensed content for 3 users and paid plans start at 7$/m. It also offers completely custom types and has a great API. There aren’t any prebuilt plugins for any static site generators however. Though it’s not hard to build one yourself.

          Having used both Contentful (briefly) and Prismic (client project), I think that Prismic has the better UI. Content releases and previews on your real site are other great features.

          3 points
        • Matthew CriderMatthew Crider, 4 years ago

          Probably most CMS' will have built-in API functionality or a way to add it on; In that way you can use whatever CMS you want as a content store (what people call 'headless') and then use whatever framework you want for the frontend. As much as I like the idea of Contenful/Prismic, I don't really like their pricing and they don't seem big enough to satisfy me that they won't go out of business one day, bringing down my site. So I use a headless CMS and whatever frontend technology I want (usually a react.js app).

          0 points
  • Keaton TaylorKeaton Taylor, 4 years ago

    Craft or ExpressionEngine would be my recommendations. Extensibility, stability (in the case of EE. Craft is newish and still has some room to grow, but is a great product and will likely overtake most if not all EE diehards in the next 5 years.) and overall ease of use are all huge factors there.

    2 points
  • Chase GiuntaChase Giunta, 4 years ago

    I won't dive too deep into it, but Craft is my go-to from now on. The community is extremely helpful & growing rapidly, there are a tons of plugins now, the support from them is top-notch, and they are about to release a big update, Craft 2.5, which makes their Control Panel even more user-friendly and easier to navigate for non-developers. It's a no-brainer for me going forward... It's also getting some crazy speed updates here with PHP7 releasing soon (it's already compatible) and Craft 3 which will be out next year.

    2 points
  • Mike Neumegen, 4 years ago

    Hi Norris,

    I'm CEO of CloudCannon, a CMS and optimized hosting provider for Jekyll sites. We work with many large organisations to bring all the advantages of static site generators and give non-developers the ability to easily update content. CloudCannon also syncs with GitHub / Bitbucket so you work on the sites locally, rollback changes, branch etc.

    Check it out, would love to hear what you think!

    1 point
  • John QuealyJohn Quealy, 4 years ago

    Siteleaf for something simple or Webhook for something more custom. They are both static site generators in the cloud and come with an api.

    1 point
  • Paul MorelPaul Morel, 4 years ago

    Recently I've grown fond of Kirby CMS for all kinds of client websites. I've been spoiled by its simple nature for both front-end and back-end development.

    The only thing I've noticed is that my clients aren't familiar or comfortable using Markdown for submitting their content. Considering most of them use Word to write their content, they lose their formatting when copy-pasting. There is a WYSIWYG plugin though. Haven't tried it yet.

    1 point
  • Andrew PairmanAndrew Pairman, 4 years ago

    We dabbled with Perch but have ultimately settled on Silverstripe due to its flexibility.

    0 points
  • Daniel WiklundDaniel Wiklund, 4 years ago

    I can highly recommend http://umbraco.com it's .net based and not PHP like Wordpress and drupal, but it is very easy to learn – especially if you have experience from other CMS. The great thing about Umbraco is it's backoffice capabilities, I is very easy to make relative complex layouts and datahandling, and still keeping it userfriendly for editors.

    0 points
  • Dragan Nikolic, 4 years ago

    I recommend ProcessWire: http://processwire.com/

    It's very intuitive to use as an editor. The API is very powerful, and very well documented. It's fast, the templating logic is straightforward, and best of all: The system doesn't "assume" anything (e.g. in WP, everything is based on the assumption you want to build a blog). You don't need to hack a default "theme" to death, until you get exactly the markup you need.

    Also, out of the box, every input field is a "custom field" - no need to install 3rd party plugins or modules. Multilanguage sites? A breeze, due to the in-built features.

    0 points
    • Pierre-Luc Auclair, 4 years ago

      I will vouch for it too. We've used ProcessWire on a lot of medium to large-ish projects, unions, organizations and city work, and some semi-apps. The clients love it and understand it very quickly. It's easily approachable too, and I've thrown juniors into it with little supervision with great results, so you don't have to be scared of finding people with specific experience with it (although it will help, of course, give a better optimized end result).

      It's very maintainable, really fast (even when uncached, server will say thanks) and secure. Plus it's completely object oriented which is a nice bonus and reduces the time needed to get used to it if used with a nice IDE. The "API-oriented" approach to CMS is very refreshing, too. It has the ease of use of WordPress (I'd argue, it's even easier, since you only get the fields you need and nothing more), without the hassle of developing Drupal is often reputed to have. If the project allows for it, there is a plugin (maintained by the project lead itself), that will turn any PW site into a static site in an instant, but without any of the cons of generators. It lends itself well to current best practices, and even more so considering composer, namespacing and other niceties are on their way.

      0 points
  • Kyle MitchellKyle Mitchell, 4 years ago

    I've used Statamic with good luck, and it's pretty fun to develop with as a flat file.

    0 points
  • Saul SutcherSaul Sutcher, 4 years ago

    I work for a small agency and we build a lot of client websites. While it's not pretty/glamorous, wordpress is the way to go. It's easy enough and secure enough for government work and you don't have to worry about it losing support anytime soon.

    Drupal is way overkill and something like squarespace is too limiting.

    Good luck!

    0 points
  • Eric TownsendEric Townsend, 4 years ago

    http://simpla.io/ Simpla integrates with static site generators and even Wordpress. Suuuuper client friendly. I haven't played around with the developer preview yet, but it seems promising.

    0 points
  • Dean HaydenDean Hayden, 4 years ago

    I think recommendations should also be based on their community support. Obviously more established platforms have a bigger community.

    In the past I did a lot with Wordpress but not so much now, I have also had some exposure to Expression Engine and Drupal both of which seemed easy to follow.

    My viewpoint is from a designer who's reasonable at front end development and has had to inherit existing systems in terms of content updates and implementing designs.

    0 points
  • Adam Brenecki, 4 years ago

    I'm a huge fan of Wagtail, a relatively new (but mature enough to use in production) CMS built in Python on top of the Django web framework.

    The editor looks nice and is definitely one of the more usable CMS editors, the developer experience of actually building a site on top of it is top notch, but the killer feature for me is something called StreamField.

    StreamField lets you define a field that has a bunch of blocks - you might have one that contains paragraphs of formatted text, one that's a header, one that's a pullquote with an author, one that's an image with a caption and attribution field, and so on - you define templates for each of them, then your users can assemble them together. With this you can achieve awesome, nearly print-like layouts, and it's much easier than trying to beat CKEditor (or whatever rich text widget people use these days) into submission.

    For me, StreamField gives you a content model that's a happy medium between something like Mezzanine (which just uses simple fields, so you have to yield control of what's inside your rich text fields to CKEditor) and something like DjangoCMS (which is way too flexible in that it allows arbitrary combinations of arbitrary plugins nested arbitrarily deep, which gives users just enough rope to hang themselves with and make their site look like arse) - Wagtail lets you define some fields as StreamFields and others as containing plain text, or a number, or an option chosen from a list, or other simple field types when you need to make that sort of restriction.

    The downside is that you need to have someone that knows Python and Django building the site; there's no getting around that. There's no built-in default page types or anything like that. There's not a lot of code to write, and the code you do write feels nice and clean - see what I said above about DX - so all the building blocks are there, but you need a Python programmer to put them together. Plus, because it's written in Python, you need to host it somewhere that supports Python, which means you can't use shared hosting*, the sole exception being WebFaction.

    * Some shared hosts say they support Python but they almost always don't really. They usually run a really old version, and they usually don't allow long-running processes so you can't use a WSGI server. It's the same story as with Ruby (just replace WSGI with Rack in the previous sentence).

    0 points
  • Matthew KosloskiMatthew Kosloski, 4 years ago

    Commenting for later

    0 points
  • Ari S.Ari S., 4 years ago

    For my clients, I either package Wordpress or hook myself together a custom CMS with Firebase.

    0 points
  • Duncan RussellDuncan Russell, 4 years ago

    ExpressionEngine <3

    0 points