Tech DocsIntegrationWordPress
Frequently asked questions

Frequently asked questions

#What does the plugin do to my site pages?

The plugin does the following:

  • Installs the <script> tag on every page of your WordPress site in the footer section.
  • Maps various content properties from WordPress posts to appropriate fields in metadata. For example, the title of your post goes into the headline field, and the WordPress publication time of your post goes into the datePublished field.
  • Understands your WordPress Category and Tag system, by mapping those to section and keywords, respectively.
  • Not only sends's servers tracking information for your traffic but also makes your pages/posts easily crawlable by the crawler.

#What other advantages does the WordPress plugin have over Google Tag Manager?

In addition to automatically installing metadata on all your site pages, it is one of our most complete, automated, and robust integration options. It is the most popular way our customers integrate We strongly recommend this method over other options.

#Is there a way to validate that the tracker was successfully installed on my site?

Yes, you can enter your site URL in the Validator. You can also open your dashboard, or search in the JavaScript Console of your browser for PARSELY.lastRequest, or in your Network Console for requests.

If your page contains the tracking code, a message is returned in the validator similar to the example shown below:


#Is there a way to validate that the plugin put good metadata on my site pages?

Yes. You can enter your page URL in the Validator. For example, if you enter, you will see the following response for metadata regarding that URL:

metadata results

You can also enter your site URL in the Google Rich Results Test. This test specifically informs you if all the structured data on the page can generate rich results, as a consequence of the metadata structuring by the plugin, as shown:


#How can I edit the values passed to the rendered metadata?

The rendered metadata (JSON-LD or repeated metas, depending on your configuration) can be customized. You can use the wp_parsely_metadata filter, which sends three arguments: the array of metadata, the post object, and the parsely_options array:

add_filter( 'wp_parsely_metadata', 'filter_parsely_metadata', 10, 3 );
function filter_parsely_metadata( $parsely_metadata, $post, $parsely_options ) {
	$parsely_metadata['articleSection'] = '...'; // Whatever values you want's Section to be.
	return $parsely_metadata;

This filter can go anywhere in your codebase, provided it always gets loaded.

If you don't want to manipulate all the generated metadata object and you just want to tweak part of it, the following filters are offered as well:

  • wp_parsely_post_tags
  • wp_parsely_post_type
  • wp_parsely_post_category
  • wp_parsely_pre_authors
  • wp_parsely_post_authors
  • wp_parsely_permalink

If you want to disable automatic metadata insertion completely, you can use the following filter.

add_filter( 'wp_parsely_should_insert_metadata', '__return_false' );

#How can I disable the JavaScript tracker insertion?

If you want to handle the insertion of the tracking script yourself, you will have to disable the automatic insertion of it provided by the plugin.

This can be done with the following filter:

add_filter( 'wp_parsely_load_js_tracker', '__return_false' );

# How can I disable parts of the UI?

The following filters are provided to hide the Open on link on the admin bar and the posts list, respectively. If they return false, they won't be rendered:

  • wp_parsely_enable_admin_bar
  • wp_parsely_enable_row_action_links

#How can I access the JavaScript hooks on the object?

For some advanced integrations, you need to hook custom JavaScript code to some events on the window.PARSELY object. To do so, our plugin supports WordPress JavaScript hooks. For example:

$script = '
window.wpParselyHooks.addAction("wpParselyOnLoad", "wpParsely", testFunc, 10);
function testFunc() {
	console.log("This is a hook");
wp_add_inline_script( 'wp-parsely-loader', $script );

#Can I use the plugin in a WordPress network (multisite)?

The wp-parsely plugin does support WordPress networks. The plugin can be installed individually on each site or installed network-wide. The latter method is recommended to avoid version conflicts and duplications.

Regardless of how the plugin is installed, it must be configured for each site. You must go to each subsite's wp-admin page and set up its individual API key.

#Does wp-parsely support Google Tag Manager? works with Google Tag Manager. If you are using it and want it to handle the script loading, you can still use the plugin (for instance, for metadata rendering). In that case, you have to disable the loading of the script by adding the following WordPress filter to your codebase:

add_filter( 'wp_parsely_load_js_tracker', '__return_false' );

Note that JavaScript can also be disabled through the Settings Page in wp-admin. Disabling it through the UI will have the same effect as the filter above.

It is important that you make sure the tracker script is properly loaded from GTM. Tracking won't work otherwise.

#Is the plugin compatible with AMP, Facebook Instant Articles, and Google Web Stories?

It is! The plugin hooks into Automattic's official plugins for AMP, Facebook Instant Articles, and Google Web Stories.

AMP support is enabled automatically if the Automattic AMP plugin is installed.

For Facebook Instant Articles support, enable "Parsely Analytics" in the "Advanced Settings" menu of the Facebook Instant Articles plugin.

#Is the plugin compatible with the Co-Authors Plus plugin?

Yes! If you have Automattic's Co-Authors Plus plugin installed, wp-parsely will automatically return a list of authors as metadata instead of a single author.

#Cloudflare support

If the site is running behind a Cloudflare DNS, their Rocket Loader technology will alter how JavaScript files are loaded. A JavaScript file can be ignored by Rocket Loader by using data-cfasync="false".

Previous versions of this plugin would mark all scripts with that tag by default. Starting in version 3.0, that behavior has become optional and scripts won't be annotated with data-cfasync="false". The previous behavior can be restored by adding the following filter:

add_filter( 'wp_parsely_enable_cfasync_attribute', '__return_true' );

Ready to get started with



rocket emoji