Half-Elf on Tech

Thoughts From a Professional Lesbian

Author: Ipstenu (Mika Epstein)

  • On Site Advertising: WordAds

    On Site Advertising: WordAds

    This is part of a series of reviewing on-site advertising I have used: Project Wonderful, Google Adsense, WordAds.

    My experience with WordAds has been a little spotty. In terms of revenue, it’s far superior to ProjectWonderful. That said ProjectWonderful (and Google Adsense) have some aspects that make WordAds less than attractive.

    I used WordAds for about 13 months, and while I loved the plugin they made, and I loved the support, the problems I have are with the system and the quality of ads. I want to stress that this is a ‘review’ of their beta product. I knew what I was getting into with a beta, but there were issues with the system that went beyond what I’d normally accept for a beta.

    A beta is expected to be functional and usable if buggy. WordAds was functional, but I had no control and no information, which made it unusable.

    I had no control over ad placement, which normally I would say is the ‘fault’ of the plugin, but in reality it’s clearly the decision of the service. It provides two ads: one below the first post on an archive page and one below the post content itself on a single post. The ads are exactly the same shape. Most of the time this is fine. On some of my sites, which use ‘non traditional’ layouts, it made them very, very janky.

    Additionally I have no control over what ads show. The default ads tended to lean towards ClickBait. I don’t like that, but it’s pretty minor since default ads always kinda suck no matter what system you use. Still, I couldn’t pick and close ads I found offensive. The winner for this service is Project Wonderful. For WordAds I had to right click, get the information of what had loaded, and send that in to get it blocked. Given that most users just say “Did you know you had a Rand Paul ad on your site?” this was impossible to manage for me.

    When I combine this with the lack of information … Here’s the ultimate reason I called it quits. There’s no dashboard. There is no way for a user to see analytics. I had no way see what ads are doing well and where which means I could never evaluate the impact of them on my layout. Like many professionals, I review SEO impact and ad displays. I couldn’t do that at all on WordAds to the point that they had to email me a report of my earnings.

    I was told the manual emailing of revenue was a temporary stop-gap while the new system was put in place. Six months later, not only was I still getting emails, but I actually didn’t get one for a month and had to politely ask someone on staff. They were, as always, totally awesome about it, but I felt the underlying current was they too were feeling the strain of a lack of automation. It felt like there was no managerial and resource investment in what should be a killer product.

    Having earnings be a black box is a crappy user experience. Having analytics be a ‘just trust us…’ world is useless if I want to improve my site quality and revenue. I’m all for set-it-and-forget-it (which is ironically why I love the plugin), but the user experience for the service itself was disheartening.

    Review

    • Ease of Registration: 4/5
    • Ease of use (on WordPress): 5/5
    • Ease of use (non WordPress): 0/5
    • Customizable: 0/5
    • Control: 1/5
    • Analytics: 0/5
    • Revenue: 3/5

    When they get out of beta, I may check them out again, but right now I don’t feel comfortable having my eggs in an invisible basket.

  • On Site Advertising: Google Adsense

    On Site Advertising: Google Adsense

    This is part of a series of reviewing on-site advertising I have used: Project Wonderful, Google Adsense, WordAds.

    Google Adsense is the grand daddy of ad systems, and if you can use it, it’s got the highest rewards. In the last 3 years, they’ve streamlined and upgraded and made the system incredibly nice to work with.

    I stopped using Adsense for the 3 years prior to this experience because I was frustrated with the lack of control. That’s far less the case today. You can now allow and block ads far more granularly than before. You can blacklist specific domains or specific types of ads. While it’s a little derpy to get the URLs, I was able to blacklist some anti-gay sites right away.

    Even though I still wish they’d just blacklist those people from making money in the first place (not Rand Paul, the hate sites), Google’s doing a much better job than they used to, and I feel morally better about it.

    Of course, while there are a bajillion WordPress plugins for it, there’s no official Google Plugin and because of that, I don’t use any plugin. The same code I wrote up for Project Wonderful is easily applied to how I want to use Google Adsense.

    Also Adsense remains the highest earner of any revenue stream I’ve used. Their current system even includes a scorecard, updating regularly, that explains how your site is doing:

    My scores are 5/5 mostly

    That ‘Site Health’ score being a 4 is due to WordPress putting ‘render blocking javascript‘ in the header. I’ll live. Everything else is fine.

    The interesting thing about Adsense is that Google’s rolling out something new. Google Contributor. And if you have adsense then it’s already on:

    Google Contributor is active

    I’m not entirely sure how it works, and I kind of want to see it be such that people can pick a site to sponsor, but the idea is a game changer I’m excited for. This alone was why I went back to Adsense.

    Review:

    • Ease of Registration: 4/5
    • Ease of use (on WordPress): 3/5
    • Ease of use (non WordPress): 3/5
    • Customizable: 5/5
    • Control: 3/5
    • Analytics: 5/5
    • Revenue: 4/5

    Adsense is old, but it’s aged well and Google’s treating it with love. It makes money, they appreciate that, and it shows.

  • Mailbag: Headers Already Sent

    Mailbag: Headers Already Sent

    Yasha from Russia asks for guidance!

    Hi I was searching on ways to resolve get header error in WP and saw your posts, which helped a chap with his website. I am a total beginner and having a nightmare with a divi template I am trying to upload. I have tried a ton of solutions on line and nothing worked. I would be grateful if you could provide me with some guidance. Unfortunately I am not in a position to pay you, but should our path cross I would be happy to offer you a few fine Belgian beers. Thank you in advance

    I don’t drink beer (I can’t stand fizzy drinks, I know, it’s tragic).

    I have to preface this with the honest truth. I hate Divi Templates. I’ve reached out to them under my company hat a couple times, never heard back, but I cannot stand their theme because of the first line in header.php for every single theme I’ve ever seen from them.

    <?php if ( ! isset( $_SESSION ) ) session_start(); ?>
    

    Pardon me while I rage flip a table.

    Why do I hate this? Sessions aren’t friends with caching. A session is used to store information for a user and have it accessible across all the pages of your website. Cool, right? The problem is a session is also saying “This user gets unique content and should have a unique experience.”

    Which kinda tells caching, and specifically Varnish caching, to take a long walk. WPEngine doesn’t allow you to use them because of that.

    But all that aside, how do you debug that Headers Already Sent?

    1. Turn on wp_debug
    2. Read the error
    3. Kill the plugin (or theme) causing it

    I hate to say it’s that simple, but it usually is.

    Warning: Cannot modify header information - headers already sent by (output started at /example.com/wp-content/themes/applesororanges/functions.php:60) in /example.com/wp-includes/pluggable.php on line 962
    

    That error means the problem is in the theme applesororanges and you check by swapping themes.

    When you get around to these, it’s a bit messier:

    Warning: Cannot modify header information - headers already sent by (output started at /example.com/wp-includes/functions.php:3560) in /example.com/wp-includes/pluggable.php on line 962
    

    The bit in ‘output started at…’ is a wp-includes folder! It’s unlikely core has bad code, so here you have to turn off all the plugins and switch to a default theme. There’s a reason that’s the way we debug, by the way. It’s hands down the fastest way to see if it’s you or not.

    If turning off all the plugins fixed it, great. Now turn them back on, one at a time, until you break it again.

    Remember! Sometimes it’s the combination of the plugins and theme that caused the problem, so be ready to pick a second best theme or plugin.

  • On Site Advertising: Project Wonderful

    On Site Advertising: Project Wonderful

    This is part of a series of reviewing on-site advertising I have used: Project Wonderful, Google Adsense, WordAds.

    I found Project Wonderful by accident. It was linked to on some comic book and fan sites I visit. For the most part, Project Wonderful is Project Pretty Good. It’s goofy, it’s silly, and most of the ads you get are for webcomics or ebooks.

    Revenue from it is also chancy at best. I average pennies a day, but I have a lot of control and I like that which is part of why my revenue was so low. I set it up so I have to approve every single ad and ad change, which is exceptionally time consuming. This also causes lower revenue, but the primary reason I like it is that control.

    I can block users, I can report them for scams or bait-and-switch, and I have a very wonderful rapport with the staff there. They’ve told me before that they appreciate my reports. If I change my mind about an ad, it’s a little tricky but I can go and find it and reject it after the fact.

    There’s no plugin for this ad network. You have two bits of code to put on your site, the basic Project Wonderful JS that loads their commands and then the code for each ad-block. It’s pretty trivial to make a plugin for it, and in fact I made a shortcode that allows me to run [pwads id=name], where name is the name of the adbox. It’s a very basic switch check and sanitize and it works fine for me.

    This code is also accessible outside of WordPress because the shortcode is calling a separate file (like /secret/ads/projectwonderful.php ) which I can then use with sneaky includes. But that’s another post. What must be known here is that I have it working in and out of WordPress with the same code base.

    The biggest problem with Project Wonderful is that it feels like 1999. The site is old and dated. The interface is clunky and has a crappy UX if you’re on a tablet. Don’t bother with a phone.

    The welcome page is pretty nice:

    Project Wonderful's welcome page

    You have links to all your ads, you can click on them for more ads:

    Project Wonderful's Admin Interface

    It’s not bad, it’s just dated. Also they have downtime a little more than I’d like to see. It used to be bad but now it’s once in a while. The real problem with the downtime is it makes my site slow.

    Review

    • Ease of Registration: 4/5
    • Ease of use (on WordPress): 3/5
    • Ease of use (non WordPress): 3/5
    • Customizable: 5/5
    • Control: 5/5
    • Analytics: 3/5
    • Modernity: 2/5
    • Revenue: 1/5

    I’m still using Project Wonderful, but the revenue certainly is something hard to accept. I stick with it, mostly, because it’s ethically pleasing.

  • On Site Advertising

    On Site Advertising

    I made a passing reference to having ethics when it came to advertising a few days ago, and scared a friend of mine. This was probably because I was using his ad network. I’m not anymore, but that has nothing to do with ethics.

    The ethics comment stemmed from why the link to DreamHost on my site is not an affiliate link. Could it be? Probably, but I get free hosting by working here.

    In the last decade, I’ve used three main sources for ad revenue on sites. Originally I used Google Adsense because, like everyone else, I used Google. At a certain point, I got upset because I couldn’t remove ads I didn’t like without having my revenue bottom out. I don’t like having ads for things I find to be distasteful on my site. This is actually a pretty big deal to me. I don’t like not being able to say “Rand Paul is evil, get him off my site.” At that point I moved to Project Wonderful, and then in the last year I was able to opt in to the Beta project for WordAds on self-hosted WordPress sites.

    I’m going to ‘review’ all three on a scale of zero to five, where zero is ‘not at all’ and five is ‘the winner.’

    • Ease of Registration: How easy it is to sign up and get added to the system?
    • Ease of use (on WordPress): Getting it added to WordPress. Is there a plugin? Is
    • Ease of use (non WordPress): What about outside of WordPress? Is this available for any CMS?
    • Customizable: Can I decide what ads show when and where?
    • Control: Can I reject specific ads and block certain advertisers?
    • Analytics: What does the tracking look like? Can I see how my ads are performing?
    • Modernity: How do the ads and the interface feel? Do they keep up with mobile and design trends?
    • Revenue: How profitable is it?

    Those are the items that are important to me, in no real order.

    If you want to know what I’m using, it’s currently a mix of Project Wonderful and Google Adsense. This is not a full measure of the worth of any of these products. I’m using them in a non-WordPress only world, which colors things differently than one might think.

    In additional to advertising networks, I’ve used a number of affiliate programs from StudioPress to Amazon, and had interesting results with those.

    By no means is this an exhaustive set of reviews. It’s just my experiences with them.

  • Mailbag: Delete A New Page In Multisite

    Mailbag: Delete A New Page In Multisite

    From Brige:

    If u can, could u tell me how I can get rid of a new page that created in a subfolder from multisite ? out of my admin reach now. What would be the fastest way ? Should I restore completely to get rid of all WP remnants in order not to fall into this multisite hooking error : “page not found”?

    To be honest, I’m guessing here.

    I’m going to assume that Brige means he wants to auto-delete the ‘Sample Page’ page that WordPress generates when you make a new site.

    WordPress creates a default post (id #1 – Hello World) and a page (id #2 – Sample Page) when a new WP site is created, be it Multisite or not.

    Probably the simplest way would be to hook into wpmu_new_blog() which runs for all new blogs and run this:

    wp_delete_post(2, true);

    That force deletes the post with the ID 2. And since that’s always the sample page, that should work.