Archive

Category Archives for "Troubleshooting"
2

Custom Error Page

Problem

You try to visit a protected page that you’re not eligible to view, and don’t see the proper error message you are supposed to see.

Solution

  • Create a custom error page in WP – like http://YourSite.com/error/
  • In the body of that error page, enter something like this:
    Sorry, you do not have access to this content.
    If you are already a member, click here to login.
    If you are not a member yet, then click here to get access.
  • In the above example, link the text “click here to login” to your DAP login page (eg., http://YourSite.com/login/). And link the “get access” text to your sales page.
  • Then take this error page’s URL – which is http://YourSite.com/error/ – and enter it into the “Error Page URL” field of all DAP Products.
  • Also enter this same URL into DAP Admin > Setup > Config > “Error Page URL (Global)”.

Save the changes.

Now, in a different browser, first visit your logout link – http://YourSite.com/dap/logout.php – so that the config changes can be reloaded. Now go back to that original protected page, and you should now be redirected to the above custom error page you created above.

5

Cache Plugin Setup

DAP works great with the WP Super Cache plugin. Probably works with others too – but we have officially tested it with just Super Cache at this time.

And this page below walks you through the full set up of the WP Super Cache plugin.
___________________________________________________________

Go to Settings > WP Super Cache

You are now on the “Easy” tab. Don’t do anything here just yet.

Go to Advanced tab.

Be sure to put a “Check” (or “Select” the radio button) next to each of the following items
Caching

Cache hits to this website for quick access. (Recommended)
Use mod_rewrite to serve cache files. (Recommended)

Miscellaneous

Compress pages so they’re served more quickly to visitors. (Recommended)
Don’t cache pages for known users. (Recommended)
Don’t cache pages with GET parameters. (?x=y at the end of a url)
Cache rebuild. Serve a supercache file to anonymous users while a new file is being generated. (Recommended)

Advanced    

Clear all cache files when a post or page is published or updated.
Extra homepage checks. (Very occasionally stops homepage caching) (Recommended)
Only refresh current page when comments made.
List the newest cached pages on this page.

Click on Update Status button.

Keep scrolling down until you see the Accepted Filenames & Rejected URIs section.

You’ll see a big text area under the text “Add here strings (not a filename) that forces a page not to be cached”. +

There, add the following, one per line.
/dap/
/dap/.*\.php
/dap/admin/
/dap/admin/.*\.php
/login/
/members/
/my-profile/
/my-content/

 

Obviously, your member content page URL’s may be slightly different. So make sure you customize it to suit your own URL’s.

Next to back to Easy tab at the top.

Now you select the “Caching On” option and save.

That’s it for the setup.

Now, on to testing.

Content Organization Tips

If you organize all of your member content under a main parent page, say “members”, then all you need to exclude from caching, is /members/

For example, if your URLs include year and you don’t wish to cache last year posts, it’s enough to specify the year, i.e. /2004/. WP-Cache will search if that string is part of the URI and if so, it will not cache that page.

So basically, excluding just one single URL – /members/ – from caching, will make sure all of the following as well remain UN-CACHED.

/members/login/
/members/home/
/members/my-content/
/members/my-profile/
/members/my-affiliate-info/
/members/course-1/
/members/course-1/module-1/
/members/course-1/module2/
/members/course-2/module-1/
/members/course-2/module2/

You get the idea. When you exclude “/members/”, any URL that starts with that same text, will be excluded.

So here’s how you set up the “hierarchy” of the pages.

First, create the page “members“.

Then, when you create the “login” page, make sure you select the “parent” of the page, to be the “members” page.

So, instead of the login page URL looking like… http://YourSite.com/login/

… because the parent page is “members”, that also gets added to the URL, and the login page URL becomes like this:

http://YourSite.com/members/login/

If you created a page called “example” and made the “login” page as its parent, then the URL for this new page becomes:

http://YourSite.com/members/login/example/

So you see how that hierarchy works. Use that to arrange all of your member content under the main “ancestor”, which is “members”, here in our example.

But if you have already completed creation of all of your content, then you’re just going to have to do a little extra work to identify all of your pages and posts and exclude the member content from the list. DAP makes this a little bit easier as well.

Getting A Full List Of Pages & Posts

If you log in via FTP and go to the “dap” folder, inside, you will see a file called “dap_permalink_dump.php”. If you download that file to your desktop, and open it with any text editor (Notepad, Dreamweaver, etc), inside you will see a full list of URL’s of all posts and pages from your WordPress site. You can just take that list, remove separator text like “Posts” and “Pages”, and trim the list of URL’s down to just your member content, you can take that and paste it right into the WP Super Cache > Advanced tab > Accepted Filenames & Rejected URIs section.

Testing Caching Impact

Now open multiple browsers – like Firefox, Chrome and Internet Explorer (or Safari). Use at least 3 separate browsers.

Next, go to your login page in one of them, and then log in. Then go to same login page in another browser – make sure it doesn’t say “You are already logged in”. It should show you the DAP login form. Same on third browser.

Next go to the profile page while logged in as member. Do the same in other two browsers, while logging in as three different people. Each profile page should you show you different information.

If you crated 3 separate products, with 3 different users, then logging in as those 3 different users on the 3 different browsers, should show you 3 different sets of pages.

All this is just to make sure there’s no caching going on of your membership content, that’s all.

If all of this works, then you’re all set with caching for your non-membership content, and no caching for your dynamic member content.

2

Troubleshooting Hello World Post

Problem:

When you protect a page or post in DAP, and try to test whether the page or post is actually protected…

a) Instead of showing you a “Sorry…” message with the DAP padlock image, you instead see a “Hello World” post – or the content of some post completely irrelevant.

b) The formatting of the page appears messed up with missing menu items or post content.

Solution:

This has something to do with some special feature of either your theme or one of the plugins you are using, which is causing a conflict with the way DAP “replaces” protected content with an in-page error message that says “Sorry, you don’t have access to this content”.

The workaround for this is very simple.

  • Create a new error page in WP – like http://YourSite.com/error/
  • In the body of that error page, enter something like this:
    Sorry, you do not have access to this content.
    If you are already a member, click here to login.
    If you are not a member yet, then click here to get access.
  • In the above example, link the text “click here to login” to your stand-alone DAP login page (eg., http://YourSite.com/login/). And link the text “click here to get access” text to your sales page, or wherever they can purchase your product.
  • Then take this new page’s URL – which is http://YourSite.com/error/ – and enter it into the “Error Page URL” field of all DAP Products. And save all of the products as you make that change.
  • Also enter this same URL into DAP Admin > Setup > Config > “Error Page URL (Global)”. Save changes to Config.

Now, in a new browser where you are not logged in as DAP admin or WordPress Admin, first visit the following logout URL:

http://YourSite.com/dap/logout.php

This is so that any cached URL’s will be flushed, and the DAP config will be reloaded.

Now, in that same browser window, go to any protected page, and you should now be automatically redirected to the above custom error page that you created above.

Troubleshooting Admin Home Page Reports

If you find something not right with the numbers on the admin home page reports, then it’s probably because…

1) You’ve not chosen a wide enough date range at the top of the page. So make sure you select a wider date range and click “Run All Reports” to load all reports on that page for the new date range

-OR-

2) You have manipulated some dates for one or more users, which is making the earnings report not match the member summary report. In that case, keep reading.

On the DAP Admin Home page, the Earnings Report by Product basically reports on all actual orders (payments received) based on transactions listed on the “Payment Processing > Orders” page.

However, the Member Summary report shows a summary of members based on start date, end date, and trans id (free/paid/actual number) of the users on the Users > Manage page.

So let’s a new member joined today.

Normally, on the Admin home page, if you chose the date range for all reports for just today’s date, then the order would show up under Earnings Report by Product for today’s date, and also shows as a new paid member under the Member Summary report.

However, if you went to the Users > Manage page, and manipulated the user’s start date to some date from last month, then the new order will still continue to show under Earnings Report by Product for today’s date, but now under Member Summary, number of new PAID members who joined today, would show as ZERO. That’s because you manipulated the dates such that DAP will now be reporting an extra member joining last month.

So if you truly want the data to match under both reports, then don’t manipulate the user’s data (so user paid today, but you moved his start date back by a few months just to test dripping or just to give him extra access).

2

Troubleshooting OptimizePress Templates

If you’re using OptimizePress as your theme, make sure you’re only using membership templates that have the word “DAP..” in them.

DO NOT USE any template that has the words “WP” or “WP Secured“. That will cause members logging in via DAP, to not be able to access those pages.

Those templates are meant for OP’s own internal membership functionality, or built for other membership plugins. Those will not work with DAP.

Templates that are OK to use with DAP

  • Members 1 Content (Free/DAP/WL)
  • Members 1 DAP Login Page
  • Members 1 DAP/Wishlist Error
  • Members 1 General Page (Free/DAP/WL)
  • Etc.. anything with the word “DAP” in it.

For the other squeeze page/sales page templates, it doesn’t matter which ones you pick.

This restriction applies only to the “Members…” templates.

optimizepress_templates

 

Troubleshooting Amazon SES Integration

DAP’s Amazon SES integration has been heavily tested, and we use it ourselves at DigitalAccessPass.com . So you can rest assured that there are no “bugs” of any kind.

Here are some troubleshooting steps if SES integration is not working even after you’ve followed the documentation exactly.

Troubleshooting SES

  1. MOST COMMON MISTAKE: Have you whitelisted the DAP “From” email in Amazon? And have you used exact same “case” for the email id in both places (DAP and Amazon)? Double-check spelling and case in both DAP and Amazon – they must be EXACTLY the same. For eg., you@yoursite.com is NOT the same as You@YourSite.com as far as Amazon is concerned. So if you’ve set the “From Email” in DAP to be you@yoursite.com, then you must whitelist exactly the same email id you@yoursite.com within your Amazon SES account as well. If you are not sure, delete the whitelisted email in your SES account, then COPY the from-email from DAP config (be sure to copy, and not re-type) and then PASTE the exact from-email into your Amazon SES account and whitelist it again.
  2. IMPORTANT: Have you requested Amazon for “Production Access” to your SES account? Being in “Sandbox” mode has its disadvantages (you can only send “from” and “to” whitelisted” emails ONLY). So your account MUST, MUST, MUST be in “Production” mode before Amazon SES lets you send emails to your customers.
  3. Are you using the exact ports as mentioned in our documentation? Ignore the port #s that Amazon recommends.
  4. IMPORTANT: Double-check with your web host to make sure that they actually allow a plugin like DAP to connect to a third-party server like Amazon SES to send out emails. Some hosts don’t even allow that to begin with (like BlueHost, for eg.)
  5. Turn on the logs by setting DAP > Setup > Config > Log Level to “Log All Activity”.
  6. Then go to System > Logs and clear the logs. Then go to one of your test accounts, and edit the user.
  7. On the “User Edit” page, click on “Resend Login/Password”.
  8. Check the email inbox to see if you got the email. If you didn’t, go to System > Logs and take the entire logs shown there, and paste it into a support ticket, and don’t forget to give us your WP login info and FTP info (and if possible, Amazon login info as well), and we’ll troubleshoot it.

Log In As Member

Starting DAP v4.4, all passwords are encrypted. Previously, one of the main reasons that we had made it open, was because of many DAP admins asking for it to be that way so that they could log in “as” one fo their members to see what they’re seeing, for troubleshooting, etc.

But since the passwords are now encrypted, we have provided an alternate way for DAP admin to log in as a regular user/member.

Log In As Member (LIAM)

  • If your primary browser is say Firefox where you’re normally logged in as WP admin and DAP admin, then open a separate browser window (like in Chrome or Safari)
  • Go to http://YourSite.com/dap/loginAs.php

On that page, you will see 3 form fields as shown in the image below:

1) Email address of user/member that you wish to log in as
2) DAP Admin Email
3) DAP Admin Password

So once DAP verifies that it is indeed the DAP Admin trying to log in as someone else, DAP will log you into the site as that member whose email id you entered in (1) above.

NOTE: The Log In As Member (LIAM) feature does NOT mean that you can use just one browser to log in as both DAP Admin and regular member. You still need to use two separate browsers – one for DAP admin (like Chrome) another for regular member (Firefox). All LIAM does is to give you a workaround for logging in as someone else, because starting 4.4, the DAP Admin can no longer see what the member’s password is in order to log in as them.

OptimizePress Issues

1) OptimizePress 1.x CSS Issue

Problem

You try to visit a protected page that you’re not eligible to view, and see an ugly page full of un-formatted links

Solution

  • Create a custom error page in WP – like http://YourSite.com/error/
  • When creating the above page, select the OptimizePress template “DAP Error Page”
  • In the body of that error page, enter something like this:
    Sorry, you do not have access to this content.
    If you are already a member, click here to login.
    If you are not a member yet, then click here to get access.
  • In the above example, link the text “click here to login” to your stand-alone DAP login page (eg., http://YourSite.com/login/). And link the “get access” text to your sales page.
  • Then take this error page’s URL – which is http://YourSite.com/error/ – and enter it into the “Error Page URL” field of all DAP Products.
  • Also enter this same URL into DAP Admin > Setup > Config > “Error Page URL (Global)”.

Save, and that will no longer display the ugly error page going forward. Instead, it will redirect the user to the above custom error page.

2) OptimizePress 2.x Content Protection Issue

Problem

You try to visit a protected page that you’re not eligible to view, yet you are still able to see all of the content. Or the page appears messed up with missing menu items or formatting issues.

Solution

  • Make sure “Sneak-Peek” is turned OFF – it won’t work with OptimizePress 1.x or 2.x.
  • Follow all of the same steps from Problem 1 and create a custom error page.
2

Merging User Accounts

User ID 111 has been created with email id ABC123@somewhere.com

Same user buys a different product using a completely new (Paypal) email id. and DAP creates User ID 999 with PayPal email XYZ789@anothersite.com

User now has 2 accounts and wants only ABC123@somewhere.com (user ID 111) to be active.

So here’s what you should do:

  1. Place XYZ789@anothersite.com in the PayPal email field of User ID 111 and save.
  2. Give User ID 111 access to all products that User ID 999 currently has active, with matching start and end dates.
  3. Delete User ID 999 fully from the system.

If User ID 111 purchases additional products through Paypal, and her primary Paypal email id is still XYZ789@anothersite.com, then that Paypal email id will be recognized by DAP, and all purchased products will be activated under User ID 111 and no additional User IDs will be created.

However, if User ID 111 has changed their primary Paypal email id to be something else like XYZ123@yetanother.com, then the next time they make a purchase, DAP will not know it’s the same person, and will end up creating a completely new user id for the buyer. Which means, you will have to do the merge again, and replace the old Paypal email id in DAP with the new Paypal email id of the buyer.

5

Optimizing Your WordPress Blog For Speed

If you want to speed up your web site, you must address the core issue, which is — your web site is getting more traffic than your web server (web hosting account) can handle.

So here are a few ways in which you can speed up your web site:

  • The easiest thing you can do is to revisit all of your plugins that you have enabled and see if you still need all of them. Remember that every single additional plugin running on your site, adds some overhead to (basically, “slows down”) your web site or blog. So use only as few plugins as you absolutely must. With so many cool plugins freely available for WordPress, it is very easy to get carried away, and install tens of plugins, most of them adding very little value, but sometimes causing the most overhead in terms of server resources. So keep only a bare minimum of other plugins (some social plugins are a real pain – making calls to third-party web sites to get their information from).
  • Using a “cache” plugin for speeding up your site is like putting band-aid on a gaping wound. It’s only a temporary fix, and not a real long-term solution, but every bit helps. We recommend WP Super Cache, and be sure to whitelist all of your member pages from getting cached.
  • Make sure you are always using the latest version of WordPress, or at worst, one version behind the very latest and greatest (you definitely want to be sure first that there are no conflicts with other critical plugins that you’re using on your site).
  • Make sure you update all of the plugins and themes you’re using to their individual latest versions (get rid of every single plugin and theme that you’re not using).
  • If you are hosting on a shared (a.k.a “cheap”) web host paying just a few dollars a month for hosting, then your web site is basically competing for server resources (like memory and bandwidth and database access) with possibly tens (or even hundreds) of other web sites on that same server (many may not belong to you, but to others with whom you are sharing the server – and hence the name “shared hosting”). Search for the keywords “digg effect” or “slashdot effect” on Google, and you’ll see how many WordPress sites crash when a link to the site appears among the top results in popular social sites like Digg.com, Reddit.com or Slashdot.com.If your traffic levels have outgrown your server, then the best thing you can do is to upgrade to a bigger server, or get a Virtual Private Server, or even get a dedicated host, depending on your budget. See our recommended web hosts list.
1 2 3