All the things that help you do awesome things
Contributors to your site don’t need to publish their content to be able to view what they’ve created. Clicking on preview will generate a representation of the page for them giving the contributor the chance to tweak and change the content before publishing it to the world.
Tables are difficult to use within normal WYSIWYG rich-text editors. In Wagtail you can use a table block within StreamField to allow your users to neatly enter tabulated information in an intuitive, easy-to-use spreadsheet-style interface.
While revisions are never going to win the prize for most interesting feature they’re pretty essential to any content workflow strategy. This allows content producers, editors and managers the peace of mind that their content is version managed and that they can always go back in time to retrieve the version they need.
Image cropping and upload
Wagtail implements smart facial recognition and helpful image cropping to try and ensure your images always look amazing. We used the OpenCV library to build feature detection into the image upload process: when you upload and image Wagtail detects gestures and faces (single or multiple) and stores their coordinates.
You can also optionally override the default, detected focal point and define your own by drawing a marquee over the region of the image you want to make sure Wagtail never crops out.
Multiple image upload
When you’re adding images you can now upload multiple images in one go, with a slick user experience and solid workflow.
Drag your images into the browser or choose them from your local filesystem; Wagtail displays individual file upload progress for you and when the upload is complete you can then easily add the key metadata for each image from a single screen.
Intelligent copy and paste
Wagtail's Rich Text field will accept any valid HTML input but without the cruft of inline styles. It means you can copy across linked text, or nested bullets from other sites, email, or documents without having to worry about pesky spans or styling that other systems might have.
Using Wagtail’s form module allows you to create a single page form on your site. Submissions from the form are stored for later retrieval through a new ‘Forms’ section within the Wagtail admin interface. Find out more about the form builder.
Simple, configurable permissions
Out of the box Wagtail allows you to add users to different groups with different permissions. You can control who has permissions over different images, documents or pages all through a straightforward user-interface within the admin area of the site. Since Wagtail is just a Django app developers can augment the complexity around permissions as necessary to the project.
Wagtail uses Elastic for finding content within the admin interface. It provides quick and fluent access to pages, images and documents.
We use Elastic because it’s open source, gives great performance and offers a straightforward integration with Wagtail.
Content owners and editors can implement refined content workflows for contributions. Authors can submit content for moderation, and editors can apply changes, or return the content to the original author for amendments.
Wagtail allows you to run multiple sites via the same admin. It means that, for example, you could run your main website, intranet and satellite sites through the same Wagtail instance allowing you to maintain permission groups across the different sites and a single point where your content producers would need to login.
With the site settings module you can implement editable site content areas to give editors more control. No longer does the address in the footer, or the link to Instagram need to be hardcoded into the template, but can be editable, where it should be, within the CMS. Read more information on the site settings module.
With the Wagtail API module you can receive a read-only JSON-based API of your site’s content.
Integrate with existing Django apps
Wagtail is, at its heart, a Django app, and it'll play nicely with any other Django app in your tech stack.
Fast out of the box
Wagtail is lightweight by design, using resources sparingly. It means that it can run on almost any server and give good performance.
Wagtail will play nicely with almost any cache you care to use. Torchbox, the creators of Wagtail, have used it with Redis, Varnish and Squid in production.
Many sites implement caches to improve performance, and reduce server load. The problem is that sometimes this means that updates take time to become visible. Wagtail’s cache invalidator module helps to solve this problem by allowing individual pages to expire the cache when published or deleted, ensuring your content is always up-to-date, while still getting all the benefits of a cache.
Flexible page URL patterns
With Wagtail's Routable Page Mixin module you can provide different views of content via different URLs. For example a blog index page could show a date view of the content at /blog/2013/06/, an author's content view at /blog/authors/bob/, and a tag view at /blog/tagged/python/
Wagtail supports the creation of sitemaps via our sitemap generator module. This helps Google Search Tools to fully crawl your site and supporting any SEO strategies that you have in place for your site.
Wagtail also allows you to implement promoted search, to allow editors more control about what to display to end users when they search for content. If you’re interested in implementing the promoted search module for your site you can visit our documentation.
Community created modules
Want FontAwesome within the admin? Want a different admin layout? A Wordpress to Wagtail importer? A starter site kit? And more… Wagtail has an active community contributing back with solutions to common problems they’ve found. We’re working on a site where they can all be collated but in the meantime you can view the most popular Wagtail modules on Github.
Excellent test coverage
Wagtail has over 85% test coverage. We’re committed to following a test driven development pattern where all new code contributed to the project must include tests. You can see more details about our test coverage history at Codecov.