# MarfeelPress incompatibilities

MarfeelPress plugin is incompatible with a certain number of WordPress plugins. Incompatibilities happen when other active plugins have similar responsibilities. For example, only one plugin at a time can render AMP pages.

This article aims at cataloging known incompatibilities, and possible mitigation strategies.

There are two types of incompatibilities, plugin incompatibilities and extraction incompatibilities.

# Plugin incompatibilities

Plugin incompatibilities refer to those that impact the MarfeelPress plugin directly, preventing it to function normally.

# Tag Div theme plugins

All the Tag Div (opens new window) theme plugins like td-composer or td-reports conflict with MarfeelPress. Their combination has unpredictable consequences for the WP admin.

# CDN

Some CDNs (like Cloudflare free version) don’t support server-side device detection. With those CDNs, the same cached content is served to mobile and desktop users, which goes against Marfeel's philosophy.

# CDN incompabilitiy mitigation

If MarfeelPress detects that the website doesn't have server-side device detection (by plugin, CDN, Varnish), Marfeel is served via the garda script for this tenant.

Plugin detection

MarfeelPress tries to automatically configure device detection when it detects one of the following plugins:

  • W3 total cache
  • WP super cache
  • WP rocket

When the automatic configuration is not successful, garda script is used.

# OpCode cache

OpCode cache is a PHP optimization plugin, which caches compiled code for faster execution. MarfeelPress relies on PHPDoc comments for JSON serialization, and when OpCode removes all comments, it breaks the communication between MarfeelPress and Gutenberg.

# OpCode mitigation

Tenants have an option, in their servers (unrelated to MarfeelPress) to exclude comments from the optimization operations.

# AMP

MarfeelPress doesn’t support other AMP plugins to be active at the same time.

All other AMP plugins must be removed before activating the MarfeelPress AMP option.

# Ads.txt

MarfeelPress has a built-in Ads.txt manager.

Existing ads.txt plugins might conflict with MarfeelPress's manager.

# Security

MarfeelPress regularly accesses the tenant's server to update content.

Servers must be configured so that MarfeelPress is not considered an attacker.

# Extraction incompatibilities

Extraction incompatibilities refer to those that impact content extraction. It can affect articles, sections, or both.

They usually happen when a plugin is inserting content that is not visible through the extraction API.

When one of these incompatibilities is met it has to be brought to the chapter. They will decide if the product can be adapted or the affected extractor needs to be switched instead.