Category Archives for "FAQ"

Troubleshooting Welcome Email Delivery

Problem: Someone buys a product from your site, and you can see in the DAP  “Manage Users”  page that they have been added as a user, but that user never gets an email with their login/password. All they get is the confirmation email from the payment processor.

You want to know: “How can I get my users to automatically receive a “welcome” email with their Id/password” from DAP?”

If the users got added and the user status is “A” in the DAP manage users page, but the user did not receive welcome email with their ID/Password, it could because:

No Thank-You Email Setup

[NOTE: In newer versions of DAP, “Thank-You Email” is now being called as “Welcome Email”. So wherever you see “Thank-You” below, please note that it’s the same as “Welcome”]

For that product, you did not set the ‘thank-you’ email subject/body in the DAP Products Page.

Select the product in DAP products page and set the thank-you message content as shown below.

Thank-You Email Setup, But Still No Email

You have set up the thank-you email message, but the email still did not get delivered.

Solution 1

The only time the Welcome Email is sent, is when a user is given access to a Product for the very first time. If you are trying to add a user to a product, and the user already has been given access to the product, then it won’t send out the welcome email the second (or subsequent) time(s). So make sure the user you’re testing with does not already have access to that Product. If she does, then remove access to the product before testing again.

Solution 2

Go to DAP Setup > Config > Basic and make sure the “Admin Email” is set to an ’email address that resides on your domain/hosting account where DAP is installed’ instead of say a gmail or hotmail or yahoo email address. Now, if you have done everything in terms of making sure there’s no reverse DNS lookup issues with your host but if there are still users who do not receive emails (and the email is not in their spam folder) :

Here’s what you can do:
1) Setup dap to generate default password (dap setup -> config -> advanced) and instruct users to change their password right after they log in.
2) Set up an autoresponder email in DAP to drip day 1 with the merge tag for login id/password. So even if the thank-you email is not delivered right after purchase, when the cron runs at the top of the hour, it will send out the id/password again.. in case they did not receive it the first time.

You can have dap connect to 3rd party smtp service like to send out all autoresponder/broadcast emails for better email deliverability.

BTW, if you have tried everything and still the emails are not getting delivered or is landing in the SPAM folder, then please checkout our documentation on troubleshooting email delivery here:



Troubleshooting Paypal Hosted Button Integration

1) I got an e-mail with this subject:
[DAP] dap-paypal: Invalid IPN Coming In

This can happen if you click on this URL in a browser. (replace with the name of your site).

This is a backend script and should not be called directly via browser. But if you click on this accidently, this error can be ignored.  Just make sure that the DAP and Paypal are integrated and purchases via Paypal are getting registered in dap correctly.

2) DAP Paypal IPN Error (Rejected): IPN Product Name = does not match any DAP Product Name.
But REJECTING MISMATCH it because of your Config settings (Product Mismatch)

Make sure that the item_name in Paypal button is set to eXactly match a DAP product name otherwise DAP cannot process the payment notifications. If the notification is for a product that you sell outside of DAP, then DAP will reject it with this error message and no action is needed.

If you want DAP to process Paypal notifications even if the product name in DAP does not match the Paypal item_name, then enable this setting in DAP :

DAP Setup -> Config -> Payment Processing -> Should DAP process Customer Emails even when the Product names don`t match ->
Set this to “Y” if you want DAP to process non-dap defined product purchase notification from Paypal.

3) Paypal failing with “Check Product and Price(Reprocessible)” in DAP Orders page

Note: DAP Orders page moved under Payment/Coupons menu in DAP 4.0

This could be due to a problem with the CURL library on your site.
With DAP 4.0, you can easily switch your site to use FOPEN instead of CURL.

DAP Setup -> Config -> Payment Processing -> How DAP connects to Paypal -> Select FOPEN

4) Can I use my Paypal account to sell products outside of DAP even if the global IPN points to a DAP script?

Sure. Paypal has 2 IPN settings:

a) Local button level IPN
This one needs to point to the DAP script ( on your site so for all sales via this button,
Paypal can send a notification to DAP.

b) Global IPN – under your Paypal profile -> instant payment notification preferences
This one is used by Paypal ONLY if button level IPN is not set. If the button level IPN is set, then Paypal ignores the global IPN.

We recommend that you set both button level and global IPN to point to the same dap script –
(NOTE: replace with the name of your site)

Now, if you are selling other products outside of DAP using Paypal and for those Paypal buttons, if there is no button level IPN notification defined, then Paypal will look at the global IPN setting (which also points to dap) and send notifications to dap. But dap will reject that message because the product is not defined in DAP.
That is when you receive these ‘IPN rejected’ messages and you can ignore them.

5) I have integrated DAP and Paypal per your documentation but it still does not work.

Three key things to watch out for when you integrate DAP and Paypal are:
a) Make sure that the Paypal button has the item_name set to exactly match a DAP product name  otherwise DAP cannot process the payment notifications.

b) Button-level IPN must point to DAP script ( – replace with the name of your site).

In Paypal button creation page, under “Step 3: Customize advanced features (optional)” tab, within the “Advanced Variables” text box,
enter the following (change the text below to your domain name).

Note: replace with the name of your site

c) Global IPN must be enabled and pointed to the DAP script as descrbed in step 1 of this document.

6) What config items in DAP are required if I use Paypal HOSTED button?

If you want to use sandbox for testing, then
DAP Setup -> Config -> Payment Processing -> Use Paypal Sanbox For Testing -> Set to “Y”.

If your site has trouble connecting to Paypal via CURL and you see this error in DAP orders page – Check Product and Price(Reprocessible), then update the config to use FOPEN.

DAP Setup -> Config -> Payment Processing -> How DAP connects to Paypal> Set to “Y”.

NOTE: In the DAP Products page, you ONLY need to set the Product Price, Trial Amount and Recurring Count if you use the DAP hosted/generated buttons for Paypal.  Not needed if you use Paypal hosted buttons. You can leave it empty if you use Paypal hosted buttons.  Even if you populate it, it will not be used.

If you use the Paypal hosted buttons, then you DO NOT need to set the following in DAP Setup -> Config -> Payment Processing ->

Paypal API Username – Only needed if you use the DAP upsell tree plugins for Paypal Payments Pro or Paypal Standard.
Paypal API Password – Only needed if you use the DAP upsell tree plugins for Paypal Payments Pro or Paypal Standard.
Paypal API Signature – Only needed if you use the DAP upsell tree plugins for Paypal Payments Pro or Paypal Standard.
Paypal API Endpoint – Only needed if you use the DAP upsell tree plugins for Paypal Payments Pro or Paypal Standard.

Paypal Business Email ID – Only needed if you use the DAP generated button for Paypal (DAP Payments/Coupons -> Generate paypal button)

Merchant’s Payment Gateway API Login ID
– Only needed if you use e-junkie or the DAP upsell tree plugin for
Merchant’s Payment Gateway Transaction Key – Only needed if you use e-junkie or the DAP upsell tree plugin for

Please check all of the steps at the link below…

Especially check the “notify_url” part towards the end.

If you are absolutely sure that you have followed all of the steps above, and DAP is still not creating an account for the new user, it is possible that your host is not allowing your server and Paypal to communicate correctly. You can confirm if this is an issue, by going to the “Orders” page, searching for all orders, and see if your test purchase in question has been recorded by DAP (even if DAP didn’t give access to the user).

If you find the order in DAP, but the user has not been created, then check with your host and make sure “fopen” or “curl” is enabled for your web site.

If they say it is enabled, and it still doesn’t work, please do the following:

1) Go to Setup > Config > Dap Log Level and set it to “5”.

2) Completely delete test user from DAP

3) Repeat test purchase

3) Go to System > Logs and copy/paste the information there into a support ticket

4) And then please update the ticket with…

* Domain name where DAP is installed
* FTP info
* DAP admin info

And we’ll investigate this asap.

5) Go to Setup > Config > Dap Log Level and set it back to “1”.


Partial Content Protection Using Sneak-Peek

DAP has a feature called “Sneak-Peek” where you can show a part of your blog post or page to casual visitors (as well as to search engines like Google) and then when they click on the “Read more…” link, the protection will kick in for the rest of the post, and DAP will say something to the effect of “Sorry, you must be logged in to access this content. Please login below or click here to get access”.

And that error page will contain both the login form, as well as a link to your sales page. Of course, you can customize this error page to say whatever you want, but that’s another topic altogether.

Advantages of Sneak-Peek

Sneak-Peek allows you to show “teaser” content to potential members, instead of fully locking it up and showing just an error page. Using Sneak-Peek allows you to show some content to casual visitors in order to get them to subscribe to see the rest of the content, as well as keep some content open so that search engines like Google will have some content to index in their search databases, so that the open part of the content can show up in search results for potentially matching keywords, and bring you some free organic search traffic to your site.

How this works

WordPress has a feature called the “more” tag. Basically it is a bunch of text (<!–more–>) that you insert into your posts or pages. And WP will then break up your post right at the point where you inserted the more tag, and replace that tag (and everything that follows) with a “Read more…” link

Fig A: “More” icon in WP. Click to enlarge.

You can also insert the more tag in to your post or page, by clicking on the icon shown in the image above – that looks like two rectangles separated by a dotted line – on the WordPress page/post edit screen.

Of course, exactly what that “Read more” link will say (it could say, for eg., “Click here to read the rest of this post”) is determined by your actual WP theme.

Regardless of what it says, when you have a protected post, by default (when sneak peek is off) that post will completely disappear from your blog for non-members and those who are logged in, but don’t have access to it yet. And even to Google.

But if you insert the “More” tag in to all of your pages and posts, then on your blog’s summary page (which lists all of your posts), all posts with the more tag (protected and un-protected will show up to the more tag, and when someone clicks on the “Read more’ link, that’s when DAP’s security kicks in and if the user has access to that content, it will show her the rest of the post. But if the user is either not logged in, or is logged in and does not have access to that content (either access is yet to come because of the drip, or content has already expired), then it will show the appropriate error message.

Enabling Sneak-Peek

In your DAP Admin Dashboard, go to…

DAP Admin > Setup > Config > WordPress Sneak Peek: Show snippets of post (upto the `More` break) even for protected posts?

… and set the above setting to “Y” (for ‘yes’),

Update on 09/07/2014

To protect your content, if you turn on “Sneak-Peek” in DAP, and you inadvertently (or intentionally) don’t insert the “more” tag into a post, then the entire post will get hidden and protected by default, and nothing will be shown except the error message.


Troubleshooting 1ShoppingCart Integration

There are a few different reasons why this may not be working.

1. Check if Cron is running

The DAP email-processing cron that processes the 1SC emails may not be running. Check your webhost control panel -> Cron job settings. Make sure dap-emailorder.php is setup to run once every 10 minutes.

2. Incorrect Setup of Billing Email Id

The billing email id you have entered in DAP at Setup > Config > Payment Processing , should be entered into the “Order Notice Email – Primary Destination” field in your 1SiteAutomation/1Shoppingcart account, on the Setup > Orders > Notifications section. If by chance you enter it into the “Order Notice Email – Primary Destination” field, it WILL NOT WORK.

3. No Notification Emails from 1SC

The DAP cron is running but 1SC payment notification emails are not reaching your mail server. Check the email account where you expect to receive your 1SC payment notification emails and see if the order notification email from 1SC is in that mail box.

4. Incorrect Mail Server Settings

The cron is running and the 1SC order notification email is reaching your mail server – but you did not configure the mail server settings correctly in DAP Dashboard -> Setup -> Config -> Payment Processing.

Email Server Where Order Emails Come In
Email Server User Name
Email Server Password

5.”Read” Or Deleted Emails

DAP only processes order notification emails that are in the “Unread” status, to prevent previously processed emails and other non-DAP emails from being repeatedly processed.

Also, if you “pop” off the emails from that mail box (means, your email client like Outlook or Thunderbird or Gmail is “removing” your emails from the server when it retrieves them), it means that when DAP logs in to that billing email address, there are no emails there to be processed – the mailbox is empty, or the 1SC payment notification emails have somehow gotten deleted from that mailbox.

So it is possible that DAP is able to connect to your email server, but DAP is not finding any “unread” emails. Please login to your email server and mark all the payment emails that you want DAP to process… as “unread”. And also make sure that your email client does not remove the emails from that mail box.

6.Product Name Mismatch

There might be a “Product Name” mismatch. The product name has to be EXACTLY the same (including case, spaces, etc) in both DAP as well as in 1ShoppingCart. So if you have created a product by name “Widget A”, make sure your 1shoppingcart product also has the exact same name “Widget A”.

If everything is setup correctly, DAP cron will run every 10 minutes and try to process all 1SC emails.

The next time the DAP cron will run (every 10 minutes), it will pick up all the unread payment emails from 1SC.

7. Empty “Thankyou-Email Body/Subject”

Welcome email is not getting sent.

Select the product, and make sure there is some text in the “Thankyou-Email Subject” and “Thankyou-Email Body”. Whatever is in these fields is what gets sent immediately after someone purchases that product (or right after you give them access from the backend).

Now go to DAP Dashboard -> Users -> Add .

Select the product and manually add user. Now see if the thankyou email gets sent to that email id. If it got sent, then your product setup is correct.

Also check the DAP Dashboard -> Orders . Search for all orders, look up the order for the particular user in question by email.

Check the payment status and make sure there is no error there.

If you did all this and things are still not working, please do this:

1. Set DAP Dashboard > setup -> Config -> Log Level -> Log All activity
2. Re-run the 1SC test purchase
3. Check the DAP Logs (DAP Dashboard > System > Logs) and send us the log text in there for troubleshooting by pasting it into a new support ticket.

8. Sending Email & Password To Buyer

Make sure you have set the thank-you message with the right merge tags for Email and Password.

9. Manually Running Cron

First set DAP Dashboard > setup -> Config -> Log Level -> Log All activity

If you feel that the orders were not processed in dap, then just login to the 1SC email account where the sales/payment notification emails are sitting, and mark those orders/emails as UNREAD that you want dap to process.

Then manually run the cron script dap-emailorder.php cron by visiting the following link in the browser.

Replace with the name of your site.

It will just display an empty screen when complete.

Then check “Users > Manage” to see if user has been created.

Veena Prashanth


Protecting Videos

There are many ways in which you can protect videos.

Case 1: The video file is stored on your web site

By default, DAP can only protect files that are stored on the same web site where DAP is installed.

So if you install DAP on , then your files must also be located on DAP installed on cannot protect files (.mp4, .mp3, .html, .pdf, .doc) that are stored on

So assuming the files are stored on the same site as DAP, you can (and should) protect both the actual video file, as well as the blog post or page in which the embed-code for your video is published, by adding both to a Product.

This gives you 2 levels of protection for your videos:

Level 1: The blog post or page containing the video player code, itself is accessible only by authorized members.
Level 2: When an authorized user gets legitimate access to the page where the video is published (because they’re a paying member, say), even if they try to do a view source and figure out the location of the video (eg., , and pass it around by email to their friends (or post the link in an online forum), their friends still can’t view the video, because the video link itself is protected by DAP.

If you have some text that you want the casual visitor (and Google) to read, but wish to protect only the video, then you could turn Sneak-Peek on (in Setup > Config > Advanced), insert a WordPress more tag (<!–more–>) into your post just where you want the content to start being protected, and put the video player’s embed code after the more tag.

Case 2: Video file is stored on Amazon S3

The only 3rd-party-stored video files that DAP can protect at this time are videos (and other files) that are stored on Amazon S3. DAP cannot do this by itself, but uses a special WordPress plugin called , which is a plugin we developed specifically to make Amazon S3 videos play in your WordPress blog posts/pages. So again you get 2 levels of protection for your videos…

Level 1: DAP protects the post/page where the special S3MV video player code is embedded
Level 2: The S3MediaVault plugin makes sure that even if someone tried to do a view source and figure out the actual link to your Amazon S3 video, they still won’t be able to view the video.

WARNING: Video stored on other 3rd party video sites

DAP cannot protect, say, videos that are embedded from other 3rd party web sites like YouTube or Hulu. Of course, DAP can always protect the blog post or page itself that contains the video, but once an authorized user gets valid access to that blog page, they can see that it is a YouTube video (say), and then pass that YouTube video link to their friends, in which case DAP cannot protect that external YouTube video link.

Check out my podcast episode at which goes into detail about video hosting for your membership site.


Minimum Requirements To Run DAP

Minimum Basic Requirements

  • Your own domain name (
  • Your own web hosting account

Minimum Web Hosting Requirements

  • PHP version 5.6.x+
  • MySQL 5+
  • PDO for MySQL
  • JSON support
  • MBSTRING support
  • FOPEN/CURL support
  • Ability to run CRON JOBS (scheduled jobs – very useful for sending out autoresponder & broadcast emails, managing the affiliate program and processing affiliate commissions)
  • Some flavor of Unix server operating system (eg., Linux)
  • Apache web server
  • Support for PHP Sessions

Just copy/paste the above list, or the link to this page, which is…

…into a support ticket with your web host, and ask them to confirm if they support all of the above.

Please note that as a DAP user, you don’t have to know what any of this means. These are commonly available on almost all decent web hosts.

Also, if your current host does not have any of these features, we’ve seen that most web hosts enable these for your web site by request, at no additional cost.

So please check with your web host. If they can’t help, then here are a couple of recommended, DAP-Certified web hosts. vs.

DAP does not work on You must install WordPress (downloaded from on your own domain on your own web hosting account. Most web hosts have a 1-click option in their control panel (or cPanel) to install WordPress on your site. That’s the one DAP will work with. The web site that you get for free at, will not allow installation of 3rd party plugins like DAP. So you must have your own hosting account at a web host like liquid web. See our recommendations for web hosts.

Windows vs. Linux

DAP works right out of the box, flawlessly, on all flavors of Unix/Linux. But when it comes to Windows servers, while DAP has been found to work on some installations, it all depends on the kind of Windows setup. We have spent way too much time troubleshooting Windows installations, so we do not recommend Windows-based servers. If you must use DAP on a Windows-based server, unfortunately, you’re on your own. We’re unable to support such installations.


WordPress User Sync

NOTE: This content is for advanced users only, who understand the concept of user tables, database, etc. If you don’t understand any of this, then just ignore this – you don’t really need to know this in order to use DAP. This is only an explanation for those who wish to go under the hood of DAP and its integration with WordPress.

As you probably already know, WordPress has its own user database.

DAP has its own User database, and doesn’t use the WordPress database – for many reasons, not limited to the following…

1) Ability to store more user information than what WordPress allows

2) More powerful user search, profile updates, affiliate information, etc.

So, if you want to use any WordPress based plugins – like WordPress Forums or Subscribe2Blog – these forums are looking at WordPress’ native user database.

Now comes the necessity of “syncing” the DAP user data and your WordPress user data.

In the DAP Dashboard, in “Setup > Config > Advanced“, you will see two settings for syncing DAP & WP user data.

(1) Sync DAP User data and WP User data

If you turn this to “Y” (for “Yes”), then every time someone logs into DAP, their DAP user data (just name and email) is automatically “synced” with WordPress user data. If you set this to “N”, then no data will be transferred from DAP to WordPress.

(2) Sync WP data only for PAID users

This one matters only if you have set (1) above to “Y”.

If you want only your “PAID” members to be synced with WordPress, then set this to “Y“.

If you want both “FREE” and “PAID” members synced with WordPress, then set this to “N“.

Here’s how it actually works:

  1. For the sync to work, you must first setup and save the above 2 config settings
  2. After you save the above two config settings, make sure you log out of DAP and re-log in (if you are/were logged in and testing as a regular user), because only then, the Config settings above will take effect.
  3. Your user must log in through a DAP login form (not the WP login form).
  4. Make sure the user is redirected to any part of your WordPress blog after log in. This can be done via “Logged In URL” setting in DAP Config.
  5. The user can be redirected to any WP page, WP post or even your blog home page – that’s the only time the ‘syncing’ kicks in.
  6. When user lands on any page/post of your WP blog, then the DAP LiveLinks plugin (which you have already installed & enabled) kicks of the “sync”, copies the logged in member’s name and email over to the WordPress user table, and also automatically logs him into your WordPress blog.

That’s all there is to it.

Also see: Forum Integration


Troubleshooting Content Access

User Can’t Access Content

By far, this is the most frequently asked support question. So let’s start by addressing that real quick…

If a User can’t access a piece of content (blog Post, Page, File, etc), then there are only a very few reasons for that…

  1. User doesn’t have any access to the DAP Product (where the content in question is protected as part of).
  2. User is a FREE user having FREE access to this specific Product, but the content within the Product itself has been marked as being available to PAID users ONLY.
  3. User does have access, but access has expired
  4. User account status is Inactive because they’ve not yet double-opted in
  5. User account status is Locked (because they reached the IP login limit, and got locked out of their account)

In all cases, the main place to start troubleshooting is with the Users > Manage page. Search for the user’s email id (who is reporting or experiencing the content-access issue). See what Products they have access to, check their Access Start & End dates, check their account status, etc.

So let’s go over some of the basics, and some more detailed solutions for such issues.

Important Basics

Use two different browsers for testing. Not two different browser tabs, but 2 completely different browsers – like Chrome and FireFox, or FireFox and Internet Explorer. Log in as DAP admin using one browser, and then as a regular user in another browser. That way, you keep the access separate, and your testing will be clean and easy.

If you are using, say, Firefox, you are logged in to DAP admin, and are browsing your blog or trying to access content on your blog, then you will only have access to the content that the admin user has access to. You, as the DAP Admin, DO NOT have automatic access to every product by default. You will have to manually give yourself access to every product you create. And if you want yourself to have “PAID” access, then you have to mark yourself as “PAID”.

That is because, if DAP gave you automatic access to all products, then you will go ahead and protect a blog post, try to access that blog post, and DAP will give you access to that content because you as admin have automatic access to the product. And then you will wonder “Hey, I protected a blog post, but I’m still seeing it.

It’s Probably Not DAP

We realize that your first gut reaction is to blame DAP :-). That’s what we would’ve done too, if we hadn’t developed DAP.

But please note that whatever issue it is, you can be 99% sure that it’s not a bug. Because access-related bugs are extremely rare. We also do a lot of pre-release testing, then we release a beta version, then we get hundreds, if not thousands of people to try the beta, iron out the issues, and then release the final version to everyone else. So if there were a bug, it would’ve been caught a long time before it gets to you.

So we request you to approach things with an open mind, and try to think through calmly (and logically 🙂 why a certain user does not have access to a certain piece of content.

Now, on to more specific issues and specific answers…

1) I have protected a blog post as part of a Product. But I can still access it.

Short Answer: If you have protected a post/page/file, try to access it, and are able to do it, then it means you DO have access to it. Now let’s troubleshoot so that you understand the “how” and the “why”.

  • Have you protected the page/post by adding it to a Product? If you don’t add it to a DAP Product, the post/page/file won’t be protected.
  • Who are you logged in as? As DAP Admin? Or as a regular member?
  • Now by logging in as DAP Admin, if you search for this logged-in user by email id or last name on the “Users > Manage” page, you will see that the user probably does have access to the product to which the post belongs
  • Are you already logged in a a user who has access to that link?
  • Maybe logged in as DAP Admin, who maybe already has access to the Product, which is why you are able to access the link? If so, either log out of DAP, or visit your blog in a completely new browser (if you’re logged in as DAP Admin in FireFox, then visit your blog using Internet Explorer).

2) I have protected a blog post as part of a Product. The User’s account shows as having access to it when I look him up in the DAP Dashboard, but the actual user cannot access it in their browser.

Short Answer: If you have protected a post/page/file, try to access it, and are able to do it, then it means you DO NOT have access to it. Now let’s troubleshoot so that you understand the “how” and the “why”.

  • Who are you logged in as? As DAP Admin? Or as a regular member?
  • Whoever you are logged in as, make sure that user (admin user or regular user) has access to the product to which the post belongs
  • Have you added the post as a “PAID” or as “FREE”?
  • If you have marked the post as “PAID”, make sure the user also is a “PAID” user (either there must have been a real transaction, or you must have manually marked him as “PAID”). Because free users cannot access content that has been marked as “PAID”.
  • Maybe the user’s access to the product has expired. Check the user’s “Access Start Date” and “Access End Date” for that product. The start date should be current (not be in the future) and the end date should be current (shouldn’t be in the past, which means his access to the product has expired)

3) Free user can’t see protected content

You’ve created a free product with pages or posts that are only accessible to this membership type. The problem is that the users can’t actually access this content.

1. Log into your DAP system and go to the Products/Levels > Manage page.
2. Select your product in the General Settings tab, then click the ContentResponder tab.
3. In the Content Responder tab, you’ll see “edit” hyperlinks beside each of the pages/posts you’ve protected. Click the one for the page that’s causing the problems.
4. The “Drip Settings” popup will open now. In that popup, set “Is Free? (i.e., Accessible toFree users too?” to “YES”.
5. Click Save/Update resource.

4) I don’t want the links to all my protected blog posts showing up on my blog’s home page

Make sure you have “Sneak-Peek” turned off in the DAP Admin Config section. Once you do that, posts that are protected will not be displayed on the home page as well as if someone tried to visit the link directly.

5) Why do I see the “Lock” symbol on my blog’s home page?

It’s possible that you have no published posts (it’s a new blog), or you have probably protected all of the posts by adding them all to a DAP Product.

6) I have protected a blog post, but the entire blog post shows up, with the lock image at the very bottom

This is probably because you have turned on “Sneak-Peek”, but have not inserted the “More” tag into the post/page in question.

  • Do you want a part of the protected content (like a “snippet”) to show even for users who are not eligible to access the post or page? If yes, then go to “Setup > Config > Advanced > WordPress Sneak Peek: Show snippets of post (upto the `More` break) even for protected posts?” and change the setting to “Y”, and save.
  • If you turn on Sneak-Peek, then you *must* insert the WordPress “More” tag into every single blog post and page that you currently have protected.

So for the above issue, do one of the following…

1) Turn Sneak-Peek to off (set it to “N”)

– OR-

2) Insert the WordPress “More” tag into the post/page.

Doing either one should resolve this issue.

7) Members getting locked out because access end date is in the past

The only time a member’s access end date goes into the past, if their recurring payments are no longer coming in.

Which means, either they have canceled (or gotten a refund), or your membership level’s lifecycle has ended (like, if your Product/Level was a micro-continuity subscription program that lasts only for 6 months).

If the payments are still coming in, their end dates should keep getting extended by DAP automatically.

If payments are coming in, but the dates are not getting extended, then the payment link between DAP and your Payment Processor somehow broke, and you need to visit the Payment Processor integration documentation for your specific payment processor, and troubleshoot why the payments are coming in fine, but DAP is not processing them.

To ensure members’ access does not stop, make sure that their payments do not stop, and the recurring cycles in the product match that of your payment processor. Say, if your payment processor is processing recurring payments every 30 days, then DAP’s recurring cycles (on the Product page) should also be 30. If it’s 31, then DAP’s should also be 31.

Tip: It’s not a bad idea to set DAP’s recurring cycle day to 1 more than your payment processor’s recurring cycle, just in case your payment processor takes an extra day to process the actual payments. So in that case, if you have set your Payment processor to charge every 30 days, you could set DAP’s recurring cycle to 31 (one extra day grace period, just in case the recurring payment does not get processed on time).

8) I have newly setup DAP. Protected a blog post as part of a Product. But I can still access it, and I am not logged in.

If this is a new site that has just setup DAP, it is possible that the DAP changes that need to go into your .htaccess file at the main folder of your blog in question, didn’t go in correctly.

  • Step AA: Open the .htaccess file at the root of your blog, then see if there’s text that looks like this:
    #—– START DAP —–
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !(.*)(\.php|\.css|\.js|\.jpg|\.gif|\.png|\.txt)$
    RewriteCond %{REQUEST_FILENAME} (.*)/wp-content/uploads/(.*)
    RewriteRule (.*) /dap/client/website/dapclient.php?dapref=%{REQUEST_URI}&plug=wp&%{QUERY_STRING}  [L] #—– END DAP —–If you see it, then simply open a ticket, and we’ll troubleshoot.
  • Step BB: If you don’t see it, then log in as WP Admin, go to “Settings > Permalinks”. Then pick a permalink structure OTHER than “default”. Then save the setting. Even if something other than “default” is already picked, simply hit the save button anyway. That’s when the .htaccess gets updated. Now go to Step AA above and verify the text in the .htaccess file. If it’s still not there, just open a ticket.

9) After a member logs in, they’re unable to view the member page – they get a “Sorry, cannot access” type error.

Some questions to ask that will hopefully lead you to the answer…

  • Did you log in as them in a fresh browser and was your experience the same problem? Or is it a user-error on their behalf?
  • What product did they purchase?
  • Do they have valid “non-expired” access to the product?
  • What is the “Logged-In URL” field of that Product in DAP? Is that the right URL to which they should be going to after they log in?
  • If so, then is the “Logged-In URL” page or post actually protected as part of that same product that they actually purchased?
  • If that field is empty, what is the value of the global setting under “Setup > Config > URL to which user is redirected to, right after log in” field?
  • What is the actual URL that they’re “Supposed” to see after they login? If you went there directly, what do you see?



1)  DAP Admin does not have access to content by default. You need to give access to the DAP admin to the products in the DAP Manage Users Page.

2)  If a user reports they cannot access content, it could be because their access has expired. So…

a) Login as DAP Admin, go to DAP Users > Manage page, search for user by email id (or other).

b) Make sure they have “valid” access to the product

c) Look at their access start and end dates. If access end date is earlier than the current date then you can manually extend access for legitimate users by clicking on the ‘Modify link’ under ‘Product Access’ in DAP manage users page.

d) Make sure that if it’s a PAID USER, then the user record is marked as ‘Paid or has a transaction Id’ under the ‘Trans Id’ column in DAP manage users page.

Users marked as “FREE” can only access content that is marked as “Free” in the DAP products page -> Content Protection area.


Modify Content Under Padlock

When your visitor encounters a “Sorry, you’re unable to access this content” page that has the DAP Padlock image on it, you can customize the text that shows up below the padlock by doing this:


1) Open the file error.php that is stored in the /dap/inc/ folder.

2) RENAME it as (or COPY it as) customerror.php.

3) You can put ANY kind of HTML content within this. Images, javascript, css,, buttons, text, whatever. Any HTML can be used in this file.

4) Upload this new file customerror.php back to same folder /dap/inc/

5) error.php doesn’t matter any more. Whether you delete it, or just leave it alone, the fact that there is a customerror.php file in the same directory means that DAP won’t even bother about error.php any more.

6) Future updates of DAP will not touch your customerror.php file. So updates or upgrades will not mess with your custom error page copy.


DAP Certified Web Hosts

Last updated: 12/01/2019

DAP works off-the-shelf on almost all web hosts.

But as in any industry, some hosts are just outdated, some run old and outdated software, or do not offer a choice to upgrade to the latest server software (like a recent version of PHP or MySQL). Some are just not helpful at all. And some just don’t have a clue!

So, if you had the choice of picking a new web host, then here are the web hosts we use ourselves, and highly recommend, and they have everything readily available that DAP needs to run smoothly.

Recommended Web Hosts

1) LiquidWeb

2) SiteGround

 VPS Hosting

If keeping your site(s) running almost all the time, and having insanely great support from your web host, are both important to you, then you should go with a VPS server from LiquidWeb or SiteGround. For about $50 a month, you can get yourself a great server, with terrific up-time and support. And did we say support is crazy good?

Shared Hosting

If you can’t afford the $50 a month for a VPS server, or don’t (yet) see the value of high site availability and great support, then the next best option is shared hosting, where you share a server with other business owners. Not all shared hosts are made equal. And that’s why we still recommend Siteground as our #1 choice for shared hosting as well.

Managed WordPress Hosting

DAP also works on “Managed WordPress Hosting” accounts like WP Engine,, etc. You’ll have to work with the hosting team to help you setup DAP hourly cron.

Hosts Not Recommended

DAP works fine on all of the following web hosts – unless we specifically mention that it won’t.

But just because DAP works fine on these hosts, doesn’t mean their service or support is good enough for the long term.

So if you are already hosting with one of these hosts below, then you already know how well they work (or don’t), but if you’re happy with them, then there’s no further issue.


GoDaddy is great for registering your domain names. For hosting? Not so much.

We do have a large number of DAP users who use Godaddy for hosting, and they all either totally love it, or hate it. More hate it than love it. No middle ground.

We’ve ourselves have witnessed many issues with some GoDaddy-hosted sites. Their email systems don’t always work consistently on all servers. It works great for some, while some of our other users have reported that even simple admin notification emails from DAP don’t get sent correctly. To compound the issue, Godaddy queues up even real-time emails on their end, and only send them out as batches. Which means even instant “Thank You” emails sent to your buyers with their membership login info, may not get sent for a couple of hours, even though DAP has actually sent them out, but are being intercepted and put on a queue by Godaddy to be sent out “later” in a “batch”.

And then there are the random blank pages and “internal server errors” (500 error). If you search Google for “Godaddy internal server error”, you will see enough folks to form a small nation, complaining about it. And most them aren’t even using DAP (we wish!).

These guys are still stuck in the 90’s, and provide you with some really primitive admin tools.

For instance, the process for setting up a cron job on 99.99% of the other hosts takes about 2 minutes, because it’s point-and-click-and-type. On 1and1, if you see the tutorial they’ve provided ( ), they’ve made it very complicated, that it would take us too much time just to setup a simple cron job!

And spending 20 minutes for something that normally takes 2 minutes on other hosts, is simply not worth our time. So if you’re on 1and1, we won’t be able to set up cron jobs for you for free. We would have to charge you to set it up for you, so just be aware of that.

And for some reason, their servers always seem to give us a lot of grief with installation & support. So we do not recommend them.

Windows-based hosts

Make sure your server is running some for of Unix (Linux/BSD/etc). DAP and plugins do not work well on Windows-hosted servers. Please see this post for more details.

What Does It Mean If Your Host Is Not Listed Here?

If your host is not shown here, then don’t worry – it doesn’t necessarily mean that DAP won’t work on your host. DAP works well on most hosting platforms.

We just recommend that we use ourselves or have done countless installations on, for our DAP users, and highly recommend (or recommend against, in some cases) if you have the option of picking a new web host.

This is exactly why we offer a 30-day money-back guarantee when you purchase DAP – so that you can make sure DAP can run on your current web site, and also help you decide if DAP will work for you.

So there’s no risk to you, regardless of who you are hosting with.

Disclaimer: We only recommend products and services that we absolutely love and believe in. When recommending such third-party products or services, we may sometimes use affiliate links, which means if you go on to purchase the product or service recommended, we may earn a commission from those purchases.