Skip to main content

Configure Speakup Article with Paywall

Introduction​

If your website uses a paywall to restrict access to premium content, Speakup Article requires specific configuration to:

  1. Allow our servers to access the full article text for audio generation
  2. Properly handle the player display based on content type and user subscription status

This guide walks you through both configurations.


Part 1: Enable Full Content Access for Scraping​

Since Speakup Article analyzes your content server-side, our servers need access to the complete article textβ€”even for paywalled content. Without this, we cannot generate audio for premium articles.

Two methods are available:

Method 1: Custom Query String Bypass​

Agree on a unique query string with your Speakup Account Manager. When our server requests an article with this parameter, your system should return the full content.

Example:

https://www.yoursite.com/premium-article?bypass_token=your_secret_key
Per-Site Configuration

If you manage multiple sites with Speakup Article, you can set a different bypass string for each site. Contact your Account Manager to configure this.

Implementation steps:

  1. Agree on a bypass parameter and value with Speakup (e.g., bypass_token=your_secret_key)
  2. Configure your backend/CMS to serve the full article content when this parameter is present
  3. Ensure this bypass only works for the agreed parameterβ€”do not expose content publicly

Method 2: User-Agent Whitelisting​

Configure your server to return full content when requests come from our scraping service.

Our User-Agent: speakup-article

Implementation steps:

  1. Add speakup-article to your server's User-Agent allowlist
  2. Configure your backend to serve full content for requests with this User-Agent
  3. If you use a WAF, see our WAF Configuration Guide for specific instructions
Which Method to Choose?
  • Query String: Easier to implement, works with most CMS and CDN configurations
  • User-Agent: More flexible for complex architectures, can be combined with WAF rules

Part 2: Script Configuration by Content Type​

The Speakup Article player must be configured differently based on two factors:

FactorDescription
Content typeWhether the article is free (prm=false) or premium (prm=true)
User statusWhether the visitor is a subscriber (subscriber=true) or not (subscriber=false)
Why Subscriber Status Matters for Free Content

Even on free articles, knowing if the user is a subscriber is important. Speakup Article includes a playlist feature that can play content from other articles. If the user is a subscriber, the playlist can include premium articles. If not, only free content will be shown.

Configuration Matrix​

Content TypeUser StatusScript Configuration
FreeNon-subscriberdata-prm="false" + data-subscriber="false"
FreeSubscriberdata-prm="false" + data-subscriber="true"
PremiumSubscriberdata-prm="true" + data-subscriber="true"
PremiumNon-subscriberDo NOT include the script

Scenario 1: Free Content + Non-Subscribed User​

For free articles viewed by non-subscribers:

<script
id="speakup-player-script"
src="https://cdn.speakup.ai/loader.speakup.min.js"
data-lang="en"
data-layout="boxed-small"
data-theme="default"
data-site="your-site-id"
data-prm="false"
data-subscriber="false"
async
></script>
<div id="speakup-player"></div>
Default Values

Since false is the default value for both parameters, they can be omitted in this scenario. However, we recommend including them explicitly for clarity and consistency across all configurations.

Scenario 2: Free Content + Subscribed User​

For free articles viewed by subscribers. The playlist will include premium content:

<script
id="speakup-player-script"
src="https://cdn.speakup.ai/loader.speakup.min.js"
data-lang="en"
data-layout="boxed-small"
data-theme="default"
data-site="your-site-id"
data-prm="false"
data-subscriber="true"
async
></script>
<div id="speakup-player"></div>

Scenario 3: Premium Content + Subscribed User​

For premium articles viewed by subscribers:

<script
id="speakup-player-script"
src="https://cdn.speakup.ai/loader.speakup.min.js"
data-lang="en"
data-layout="boxed-small"
data-theme="default"
data-site="your-site-id"
data-prm="true"
data-subscriber="true"
async
></script>
<div id="speakup-player"></div>

Scenario 4: Premium Content + Non-Subscribed User​

Important

When a non-subscriber visits premium content, do NOT include the Speakup Article script at all.

Since the user cannot access the full article, playing the audio version would bypass your paywall logic.

Your CMS/template logic should prevent the script from being rendered in this scenario.

Example pseudocode:

// Only render player if content is free OR user is subscribed
if (!isPremiumContent || userIsSubscriber) {
renderSpeakupPlayer({
prm: isPremiumContent,
subscriber: userIsSubscriber,
});
}

Implementation Checklist​

Use this checklist to verify your paywall integration:

  • Scraping bypass configured β€” Speakup servers can access full content via query string or User-Agent
  • Free + Non-subscriber β€” Player loads with data-prm="false" and data-subscriber="false"
  • Free + Subscriber β€” Player loads with data-prm="false" and data-subscriber="true"
  • Premium + Subscriber β€” Player loads with data-prm="true" and data-subscriber="true"
  • Premium + Non-subscriber β€” Player script is NOT present on the page
  • Tested all scenarios β€” Verified player and playlist behavior for each content/user combination

Verification​

Once configured, our team can perform test scrapes to verify:

  1. Full article content is accessible through the bypass method
  2. Player displays correctly for each scenario

Contact your Account Manager to schedule verification.


Need Help?​

For questions about paywall configuration, contact us at support@audioboost.com with:

  • Your site URL(s)
  • Current paywall/CMS platform
  • Preferred bypass method (query string or User-Agent)