Features

Adding features and redesigning sections of your site shouldn't be expensive. Wagtail is built by developers for developers. Spend less time on configuration and more on perfecting your new site.

Streamfield

Streamfield

Classy implementation

StreamField allows an editor to build a mixed sequence of content types. These serialise to a single JSON field in the database and provide a straightforward way to output content on a template, using HTML representations.

Simple editing

By handling these block types as equal citizens, rather than shoehorning them into an interface designed primarily for text, we can make the editing controls for each one as simple or as complex as needed: that Google map block could be a simple postcode field, or a drag-and-zoom location picker.

Content economy

Once out of the rich text area mindset, you'll find better ways of organising information. Code snippets needed on your programming blog? Why not create a new block type for that, complete with line numbers and syntax highlighting? Table required on that page? How about a spreadsheet-style editor?

Elasticsearch

search1

Our choice

Elasticsearch is an excellent open source search engine with straightforward integration with Wagtail and great performance. 

Wagtail also collects simple statistics on queries made through the search interface. The admin interface also makes extensive use of search, to provide quick and fluent access to pages, images and documents.

Easy configuration

Developers can enable searchable fields and define the relevance per model/field.Search results can also be manually promoted using the handy Editor's Pick feature. We provide full documentation and example code for setting up search on your site.

Explorer

explorer2

Tree structure

Wagtail organises your content in a tree structure which can have any structure and combination of model objects. 

The parent and child approach means you can drill down deep into your content or reorder pages to generate automatic menus.

Clean organisation

We do a good amount of customisation and tailored development for our clients. We’re always aiming for tools and systems that are easy to extend but at the same time are robustly built from a software development perspective. Wagtail perfectly aligns with this philosophy and divides its features and components in a clean and well-organized modular structure.

Image cropping

Image cropping

Automatic feature detection

Our image focal point allows for intelligent cropping of images - Wagtail can automatically detect faces and features and crop your images.

We used the OpenCV library to build feature detection into the image upload process: when you upload an image Wagtail detects features and faces (single or multiple) and stores their coordinates.

It then uses this information to intelligently crop images when they’re output, respecting the composition of photos and making sure that their subjects are visible and nicely framed.

Custom cropping

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.

Form builder

forms2

Single-page forms

The wagtailforms module allows you to set up single-page forms, such as a ‘Contact us’ form, as pages of a Wagtail site. It provides a set of base models that site implementors can extend to create their own ‘Form’ page type with their own site-specific templates.

Easy configuration

Editors can build forms within the usual page editor, consisting of any number of fields. 

Form submissions are stored for later retrieval through a new ‘Forms’ section within the Wagtail admin interface; in addition, they can be optionally e-mailed to an address specified by the editor.

Additional features

editing features

Preview

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

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.

Revisions

Whilst 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.

Custom cropping

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.

Form builder

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.

Administrative

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.

Easy configuration

Developers can enable searchable fields and define the relevance per model or field.Search results can also be manually promoted using the handy Promoted Search module. If you’re interested in how to implement search for your site you can read our search documentation here.

Elasticsearch

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.

Workflow support

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.

Multi-site support

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.

Site settings

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. There’s more information on the site settings module here.

Wagtail API

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 it's heart, a Django app, and it'll play nicely with any other Django app in your tech stack.

Performance

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.

Expiring caches

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, whilst still getting all the benefits of a cache.

Static site generation

Wagtail will allow you to generate static sites using Django Medusa and Wagtail’s Medusa module. It allows you to easily serve static HTML pages to end-users creating a frighteningly quick site with all the advantages of a content management system. You can read a full guide here.

SEO

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/

Sitemap

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.

Promoted search

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

Communited 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 95% 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 https://coveralls.io/github/torchbox/wagtail