Push Vs. Pull – The Battle for the Best CMS

Share this article

A content management system (CMS) provides the necessary infrastructure for multiple parties to effectively contribute content and collaborate throughout the information lifecycle.

From a technical point of view, there are fundamental differences between a Push CMS and a Pull CMS. This article outlines and compares the two, explaining why a Push CMS is advantageous to a Pull CMS.

What is a Push CMS?

A Push CMS is characterized by the caching and delivery of content as flat files (files that stand alone, independent of a database) in a Web server-neutral format. In a Push CMS, content is aggregated from the repository and “baked” into a standard file which is then pushed, via open standards, to the appropriate Web server(s). A Push CMS typically exists inside the corporate firewall, as illustrated below.

1458_pushcms

What is a Pull CMS?

In a Pull CMS, special delivery software is installed directly on the live Web server(s). When a request is made for a Web page on the Pull CMS, the necessary content pieces are pulled from the database and assembled into a single page. A Pull CMS typically exists outside the corporate firewall.

1458_pullcms

Both Push CMSs and Pull CMSs provide users the ability to update and manage information in a distributed manner. However, the two types of systems are fundamentally different when considered from a technical architecture and publishing perspective.

Advantanges of a Push CMS

  1. Search Engine Index-Friendly URLs

    When content is pushed out to the Web server(s) in flat file format, that content is inherently search engine-friendly, as search engines were designed to index file-based Websites. For example, a URL produced by a Push CMS looks like this:

    http://www.site.com/company/about.asp

    Alternatively, a URL produced by a Pull CMS may look like this:

    http://www.site.com/default.asp?ID=123

    The key problem with the Pull CMS URL is that search engines have a more difficult time following links that contain variables. Many search engines ignore everything after the “?” in the URL and thus do not index all the pages on the site. This is not an issue with a Push CMS. Additionally, in a Push CMS, search keywords found in the URL help contribute to higher search result rankings.

    Search engine-friendly URLs are also important when using site analysis and click-through software. With a Push CMS, a product like Web Trends, for example, will work without additional configuration. Integrating a program like this to work with the custom dynamic URLs generated by a Pull CMS can be difficult if, indeed, it’s possible at all.

  2. Multi-Server Content Publication

    The publication of content to multiple servers is easy with a Push CMS. In order to publish to an additional server, an administrator adds the server access information to the central repository, and the content is pushed out via open standards (such as FTP, SFTP, VPN, mapped network drives, or local file systems). The same process applies to the maintenance of a mirrored backup of a live Website on a second machine.

    With a Pull CMS, the delivery of content is tied to the edge servers, so the CMS delivery engine must be installed on each live server that will serve content. To add another machine, the server must be configured specifically for the Pull CMS software. The maintenance overhead may grow dramatically with each addition of a Pull CMS edge server.

  3. Content Independence from the CMS

    When a Push CMS delivers content, the files are in a fully self-contained format. Making content available this way provides three major benefits:

    1. These files can be archived or moved around without administrators having to worry that such movement might cause the information in those files to become inaccessible. For a Pull CMS, the delivery of content is tied to the method of implementation of the delivery engine (typically, proprietary methods are used). If the Pull CMS stops working or the database goes down, the entire site goes down with it. The Pull CMS delivery engine is inextricably tied to the availability of the site.
    2. Content independence from the CMS, as provided by a Push CMS architecture, makes it easy to migrate the content to other applications, or to an entirely new system, as all the information is in open standards format files. Typically, with Pull CMSs it is difficult to retrieve system data and make it available in a new CMS or other program through a file format, as all the data is locked in a proprietary database layout.
    3. Upgrades or maintenance patches for a Push CMS need only be applied to one server. Administrators of a Pull CMS must apply the needed upgrades and maintenance patches to every server, which creates additional management costs.

  4. Web Server Optimization

    Web servers are optimized to serve file-based content. Different caching mechanisms and routines designed to enhance the performance of the site are driven around the concept of serving files. Since a Push CMS pushes out content that is already optimized for the Web server, the site is going to be able to support more visitors than a Pull CMS that relies on its own implementation to serve pages for visitors. Building and caching a Pull CMS page from a database is hardware-intensive and up to the Pull CMS delivery engine to manage.

    A Push CMS, on the other hand, does the “heavy lifting” ahead of time and gives the Web server content in the format around which the server was designed and optimized. If the site needs to have database-oriented content, a Push CMS easily accommodates that need. The files that call on special database content in real-time are just assets within the Push CMS.

  5. Infrastructure Integration

    A Push CMS, existing behind the corporate firewall, integrates more securely with infrastructure like LDAP/Active Directory and existing database servers. Being behind the corporate firewall enables the Push CMS to directly use and interact with existing components. A Pull CMS, installed on the edge Web server to run an Internet site, is outside the corporate firewall and therefore requires special access to LDAP/Active Directory, and its own database server that also exists outside the corporate firewall. This creates security problems and requires additional management time from administrators. Some Pull CMS applications do have administrative tools that exist behind the corporate firewall.

Conclusion

A Push CMS provides many unique benefits when compared to a Pull CMS. These benefits are not always readily apparent when evaluating different CMS products as the products “seem” to work the same on the surface. The business user experience with both a Push CMS and Pull CMS is the same. The real difference between the two technological approaches is evident from a management and administrative vantage point. A Push CMS provides many advantages over a Pull CMS.

Frequently Asked Questions about Push-Pull CMS

What is a Push-Pull CMS and how does it work?

A Push-Pull Content Management System (CMS) is a type of CMS that uses a combination of push and pull technologies to manage and distribute content. The ‘push’ aspect involves the CMS sending updates directly to the user’s device, while the ‘pull’ aspect involves the user requesting or ‘pulling’ information from the CMS. This dual approach allows for a more dynamic and interactive user experience, as content can be updated in real-time and users can access the information they need when they need it.

What are the benefits of using a Push-Pull CMS?

A Push-Pull CMS offers several benefits. Firstly, it allows for real-time updates, which can be crucial for websites that need to provide timely information. Secondly, it gives users more control over the content they receive, as they can request or ‘pull’ the information they need. Lastly, a Push-Pull CMS can potentially reduce server load, as content is only sent or ‘pushed’ when there’s a change, rather than continuously.

How does a Push-Pull CMS compare to other types of CMS?

Compared to traditional CMS, a Push-Pull CMS can offer a more dynamic and interactive user experience. While traditional CMS typically rely on the ‘pull’ method, where users request information, a Push-Pull CMS also incorporates the ‘push’ method, where updates are sent directly to the user’s device. This can result in a more engaging user experience, as content can be updated in real-time.

What are some examples of Push-Pull CMS?

Examples of Push-Pull CMS include WordPress, Joomla, and Drupal. These CMS platforms offer a range of features that support the push-pull model, such as real-time updates, user-requested content, and reduced server load.

How can I implement a Push-Pull CMS for my website?

Implementing a Push-Pull CMS for your website involves several steps. Firstly, you’ll need to choose a CMS platform that supports the push-pull model. Next, you’ll need to configure the CMS to send updates directly to the user’s device and allow users to request content. This may involve setting up server-side scripts and configuring user permissions.

What are the potential challenges of using a Push-Pull CMS?

While a Push-Pull CMS offers many benefits, it can also present some challenges. For example, real-time updates can potentially lead to increased server load, especially for websites with a large number of users. Additionally, allowing users to request content can present security risks if not properly managed.

How can I overcome the challenges of using a Push-Pull CMS?

Overcoming the challenges of using a Push-Pull CMS involves careful planning and management. To manage server load, you may need to implement load balancing techniques or upgrade your server capacity. To mitigate security risks, you should ensure that user permissions are properly configured and that your CMS is regularly updated to protect against vulnerabilities.

Can a Push-Pull CMS improve my website’s SEO?

Yes, a Push-Pull CMS can potentially improve your website’s SEO. By providing real-time updates and allowing users to request content, a Push-Pull CMS can increase user engagement and dwell time, both of which are positive signals for SEO. Additionally, a Push-Pull CMS can help ensure that your website’s content is always up-to-date, which can also benefit SEO.

Is a Push-Pull CMS suitable for all types of websites?

A Push-Pull CMS can be suitable for many types of websites, but it may not be the best choice for all. For example, websites that require frequent real-time updates, such as news sites or social media platforms, may benefit from a Push-Pull CMS. However, websites that don’t require real-time updates or user-requested content may be better served by a traditional CMS.

How can I decide if a Push-Pull CMS is right for my website?

Deciding if a Push-Pull CMS is right for your website involves considering your website’s needs and goals. If your website requires real-time updates or user-requested content, a Push-Pull CMS may be a good choice. However, you should also consider the potential challenges, such as increased server load and security risks, and whether you have the resources to manage these.

David CummingsDavid Cummings
View Author

David is the founder of Hannon Hill Content Management Software, a growing software company that develops award-winning content management software for enterprises of all sizes.

Share this article
Read Next
Get the freshest news and resources for developers, designers and digital creators in your inbox each week