Microdata and Schema.org for all your Google rich snippet needs

Jun 25, 2013   //   by Stephan Spencer   //   Search Engines  //  No Comments

I recently shared my insights about Google rich snippets, Schema.org, and microdata at SMX Advanced on the panel session “From Microdata & Schema To Rich Snippets: Markup For The Advanced SEO”, along with Marcus Tober, founder of Searchmetrics, and Julia Gause, Director of SEM at Scripps Network. The session was all about structured data markup, a topic that is fast evolving in the search-marketing world.

Now that you’ve got some background, let me give you the 411 on my portion of the session…

Rich snippets boost click-through on your Google listings using eye-catching attributes like author headshots, video thumbnails, and star ratings to make your product and category pages pop on the SERPs. Another really cool thing that happens with authorship snippets is that additional listings from the author show up if the searcher hits the back button after visiting an author’s article.

AdditionalListings

 

 

 

 

 

 

As cool as it is though, there are misfires with Google authorship. For example, my co-author Eric Enge was being credited by Google as the author of my Search Engine Land articles, despite the fact that the page had rel=author tags pointing to my bio page on SEL and to my Google+ profile. Consequently, searches like “seo myths” that produced my SEL articles displayed Eric’s mugshot next to my article listing instead of my own. Grrr.

One of the best features of rich snippets is the ability to embed a video thumbnail into the SERPs. In order to get a nice thumbnail, you have to add one of the supported formats to the on-page markup. This includes Schema.org VideoObject (the recommended format), Facebook Share, or RDFa markup. In addition to simply adding the markup to your videos, make sure you validate the code using Google’s Structured Data Testing Tool after implementing, and submit a Video XML Sitemap to ensure the indexation of your videos. Don’t neglect to also add mark-up to your page for star ratings, breadcrumbs, product/offer, and events if applicable (more on this below), because Google may display a different kind of rich snippet besides the video thumbnail depending on the search query. That’s right; Google displays different rich snippets for the exact same page — depending on the nature of the search query (star ratings for one query, video markup for another, author headshot for yet another, etc.).

Ratings & Reviews

Ratings and reviews improve visibility, trust and CTR for your search listings, however they are not always shown in the SERPs. It depends on the trust signal your site is sending to Google. Low-trusted websites will not be allowed to benefit. A clever use of reviews microdata is to use Aggregate Reviews on category-level pages:

AggregateReviews

 

 

 

 

Product/Offer:

Product/offer markup gives a lot more product related data to searchers. At this point, the only data from this Schema that are being reflected in the SERP are price and stock availability, but prices in a SERP display can definitely improve CTR, so don’t neglect this.

Breadcrumbs:

Breadcrumbs add breadcrumb-style pagination links to your search listing. This helps your listing stand out and adds more links to your listing in the SERP. This can boost CTR.

Breadcrumb-Examples

 

 

 

 

Events:

Event markup (http://schema.org/Event) is used to mark up future events. It adds date stamps and location text with the potential to boost CTR.

 Some tools worth checking out:

Google Data Highlighter – The data highlighter can be found in Webmaster Tools under “Optimization” and is used to create semantic markup for Google only. It adds no code to the page and your competition can’t see your markup, which makes it good for non-techie clients and sites. However, it is hard to scale for large sites, though you can build “page sets”. The Google Data Highlighter can be used for things like articles, events, local businesses, movies, products, restaurants, software apps, and TV episodes.

Google Structured Mark-up Helper – The structured mark-up helper is found in Webmaster Tools under “Resources”. This tool marks up the same data types as Highlighter, but outputs actual HTML code. This can work for web pages or emails. It can be useful for small sites or building examples of code for developers as it operates on a page-by-page basis.

Open Graph Markup – Open Graph Markup is for marking up your data for Facebook. It offers a cool new feature based around location markup. Specifically, Facebook automatically will create Facebook pages for each location when a location with OG markup is “Liked”. This allows for easy build-out of location pages for Facebook.

Screen shot 2013-06-25 at 9.17.15 AM

 

 

 

 

 

 

So…which type of semantic markup should you use? Schema.org or RDFa?

Schema.org was created by the engines to be search friendly and tends to be easier to understand.  RDFa on the other hand conforms to W3C standards. The newer, RDFa Lite, basically mirrors Schema. Personally I think RDFa Lite is the most compelling choice, but I’m a big proponent of standards. Take a look at this article, and then decide for yourself.

So back to this whole evolving landscape of search thing… I think that as time goes on, more and more data types will be supported in Schema and more semantic data will be integrated into the SERPs. Engines will continue to display more of that data directly into search listings. We will continue to do more and more of the engines’ work for them.  They will “reward” us content creators by serving to the searcher instant answers (aka “Knowledge Graph”), sidestepping our search listings.

For details on how to claim authorship of your content with Google and more information on the topics I covered, view my full slide deck on SlideShare:

How to Restart a Blog When You’ve Been on Hiatus for Three Years

May 10, 2013   //   by Stephan Spencer   //   Blogging  //  1 Comment

I bought the Mac equivalent of Dragon NaturallySpeaking, called Dragon Dictate for Mac. This is the first post I’ve created using an automatic transcription tool. Actually, I’m using my iPhone to create this one. Hopefully this will make things easier to post regularly and not so much of a chore…

I’ve used transcription services on occasion such as CastingWords.com. When I lived in New Zealand I even had an assistant who I dictated blog posts and articles too. She wrote everything down in shorthand and then typed it up later and took a first pass at editing it before sending it to me.

An incredible amount of stuff is happened since my last post announcing the acquisition of Netconcepts. It’s been an amazing ride. More on all that later – I promise.

So back to the original topic for this post – how do you restart a blog where you stopped posting for a very long time?

1. Jump in and write something. No apologies. Or a lengthy explanation or justification for being off the grid.

2. Get some tools or processes in place that will make it as painless as possible to post. Like Dragon – which incidentally is available as an iPhone/iPad app.

3. Hire a virtual assistant if that will help you. (More on using VA’s in a future post).

4. Roll out a site redesign at the same time to let everybody know you’re reengaged and committed.

5. Don’t try to get all your readers all caught up on your life all in one post. You’ve got plenty of fodder for many blog posts – so save it for later.

6. Finally, silence the perfectionist in you. I have this bad habit of pouring over my blog posts – my articles even more so – trying to make them perfect. I put a dozen hours or more into articles on search engine land. That’s crazy. That’s not good use of your time. Much better to freeze all those great ideas and insights stuck in your head – share them with the world. It’s okay if the sentence structure isn’t always on the mark. It’s a blog post for Pete’s sake.

We’ve Been Acquired!

Jan 12, 2010   //   by Stephan Spencer   //   Search Engines, Shameless Self-Promotion  //  14 Comments

I’m very pleased to announce that the company that I founded way back in 1995, Netconcepts, has been acquired by Covario Inc., the leader in search advertising software and services.

It’s exciting to think about what the future holds with the merged company. Netconcepts’ GravityStream technology combined with Covario’s Organic Search Insight promises an end-to-end SEO solution like never before seen. Together we’ll enable the SEO practitioner to scale SEO across large dynamic websites by automating aspects of keyword research, on-page analysis, link building, web content management, and more.

Our mantra at Netconcepts has for a long time been “data-driven decision-making”. Turns out that’s been Covario’s mantra too!

Another bonus… with the merger we also significantly increase our market reach. We’ve really established ourselves in the retail vertical, not as much in other verticals. Covario, on the other hand, services Fortune 500 global brand advertisers across a number of verticals — including media, high tech, consumer electronics, and CPG (consumer packaged goods). So now, those are all our verticals, and our clients, too!

Exciting times ahead!

The Convergence of Nanotech, Biotech, Infotech, Cognitive Science

Jan 8, 2010   //   by Stephan Spencer   //   General  //  4 Comments

Once in a while, I attend a conference that I am not speaking at. It’s a rare occasion, but it is a welcomed one when it happens because I don’t have to be “on” in my presentation mode. I can just sit back, relax and take in the sessions, network and go to the parties– just be myself.

One such conference I got to enjoy like this was Convergence. It’s hard to believe it was over year ago now (wow time flies). This conference had nothing to do with search engine marketing, ecommerce or online marketing. It was named Convergence because it was a conference about the converging of technologies — namely nanotechnology, biotechnology, information technology, and cognitive technology. You know… doubling the human life span, autonomous machines that think and feel, that sort of stuff. It was fascinating. The conference was done in an “unconference” format — like BarCamp and FooCamp — where the agenda isn’t determined until the start of the event and anyone can propose a session. Even though I wasn’t planning on doing so, I ended up co-leading a session on the “future of search” with Powerset co-founder Barney Pell.

I’m not going to elaborate here on that session (refer to my Future of Search post from a few months ago if you want a dose of SEO futurism).

Instead what I’d rather do here is share some of the things I learned about anti-aging and extreme life extension. This topic really appeals to the biology geek side of me (I have a M.S. in Biochemistry). Though “extreme life extension” doesn’t fascinate me enough to the point of wanting my head frozen for future reanimating (you can spare me the Ted Williams treatment, thank you very much). Cryonics is all the rage with Convergence geeks; you could spot them easily enough by looking for their metal “Alcor” bracelets.

The anti-aging/life extension session was run by Dr. Terry Grossman. Dr. Grossman is coauthor of the book Fantastic Voyage: Live Long Enough to Live Forever. His coauthor on the book is none other than the artificial intelligence guru, inventor and futurist, Ray Kurzweil. (I’m a big Kurzweil fan, by the way.)

The premise of the book is to help the reader live long enough until the arrival of molecular nanotechnology (when nanobots will be self-replicating) and of “strong AI” (when AI is no longer “artificial” but “autonomous”). Then we’ll be near to what is known as The Singularity. This is when all the known laws of evolution and evolutionary biology will break down. That means it’s beyond prediction. Who knows what will come of the human race. Will we be obliterated by AIs because we’re a plague? Will we have our consciousness downloaded into some sort of computing “substrate”? Will it be a Dilbert existence for all of us? It’s anybody’s guess!

So anyways, back to this session about extreme life extension. Dr. Grossman focused on ways that you can extend your life through healthy eating, exercise, screenings and proactive testing. Here are some of his recommendations (or at least what I interpreted from re-reading my cryptic notes):

  • Get the following tests regularly: carotid IMT (only costs about $250), ultra-fast CAT scan of your heart (again, only about $250), genomics test (e.g. 23 and me), APO-e blood test ($90), vitamin D levels (you want 40 or above; it’s $50), PSA test, insulin levels, blood pressure (130 over 85 is too high), CRP levels.
  • Supplements : 3-a-day multiple (or 2-a-day; but not 1-a-day). 100mg alpha-lipoic acid. High quality fish oil (such as Carlson brand). Vitamin D. Red yeast rice (e.g. Zymogen brand). Plant sterol pills.
  • Examples of healthier foods: Lentils. Steel-cut oatmeal. If you must drink milk, make it sugar-free. If you must eat omelets, use egg white only.

My cryptic notes above are not meant to be considered medical advice. Standard disclaimers apply.

Go read Terry’s book, and check out his site. Good stuff! Well worth your time.

Also see my post about The China Study for more tips on extending your life so that you can hopefully witness The Singularity in action. This assumes we survive 2012 of course. ;)

Got Time?

Jan 2, 2010   //   by Stephan Spencer   //   General  //  9 Comments

As you dream up your New Year’s Resolutions for 2010, take a moment to think about where you spend your time. You define your life by where you decide to spend your time.

Here are some stats that you may find interesting:

  • 80% of employees do not want to go to work on Monday morning.
  • By Friday, the rate only drops to 60%.
  • The average person uses 13 different methods to control and manage their time.
  • The average person gets 1 interruption every 8 minutes, or approximately 7 an hour, or 50-60 per day.
  • On an average day, there are 17 million meetings in America.
  • The average worker sends and receives 190 messages per day.
  • Over one billion people around the world survive on less than $1 per day.
  • One species becomes extinct every 15 minutes
  • A new McDonald’s franchise opens every four hours.
  • 98% of American homes have at least one television set.
  • The average American sees 200,000 televised acts of violence by the age of 18.
  • The average adult spends 4 minutes a day outside.

More stats here and here.

Creating a Buzz-worthy Blog Contest in 7 Easy Steps

Dec 28, 2009   //   by Stephan Spencer   //   Blogging, Search Engines  //  3 Comments

One way to bait for links is a blog contest. If you do the contest right, even the most un-sexy of products (like stationery) can become sexy, creating a buzz that can drive a torrent of search traffic to your virtual doorstep. Consider for example the contest we (Netconcepts) dreamed up for the overnight printer of stationery and business cards OvernightPrints.com that I mentioned a few posts back (“Hiring a Link Builder“). The contest was to design Internet celebrity and Technorati Top 100 blogger Jeremy Schoemaker’s business card and you could potentially win business cards for life.

Here’s the winner, which is an awesome business card IMO:

Shoemoney's business card

Let’s take a closer look at what made this blog contest a successful link building strategy:

  1. Come up with an impressive prize (or at least one that sounds impressive). In the above, the prize was a lifetime supply of business cards. A “lifetime supply” of anything sounds impressive. You can use the fine print to put some limits on it — like OvernightPrints.com did by capping it at 1000 business cards per year for a maximum of 20 years. That adds up to, well, peanuts. ;-)
  2. Get a partner with some name recognition who’s willing to promote your contest. If you’re a blogger, try to land a partner organization that you can piggyback off of their brand recognition. If you’re a brand, get a well-known blogger to partner with you. Jeremy Schoemaker was great; he has a massive following. Ride on the coattails of that partner’s brand by enlisting their help in spreading the word about the contest. They need to be willing to hawk your contest on their blog and in social media. Jeremy posted multiple blog posts (with good keyword-rich links) and a YouTube video and some tweets on Twitter, for example. (Thanks Shoe!)
  3. Promote the heck out of the contest yourself too. Don’t just rely on your partners to do it for you. With the above contest, we reached out to a bunch of design sites. And they took the bait. They loved the contest and promoted it to their community and linked to our contest page. What a great thing to add to your resume if you’re a designer, that you came up with the winning design of the business card for a famous blogger — out of over 400 entries no less!
  4. Make sure the contest entry pages lives on your site. Not on your partner’s. You want the link juice flowing directly to the site you are looking to promote in the search engines. As you might guess, the contest entry page was on OvernightPrints.com, not on Shoemoney.com or anywhere else.
  5. Keep it simple. There are numerous ways to run(ruin) a blog contest. If you want it to be a success, create a contest that is easy for users to participate in. People online are lazy and impatient — even if they aren’t like that in the real world (Something about being in front of the computer triggers it!). So, the more effort a contest requires, the lower the participation level. OvernightPrints.com kept it simple: “Design ShoeMoney’s business card”.. and win a lifetime supply of business cards.
  6. Make it relevant to your business and to your targeted search term. It wouldn’t have made any sense for OvernightPrints.com to run a contest where you write a letter to the President and win a trip to Washington DC. For Overnight Prints, their money term is “business cards”. Being on page 1 in Google for that term is worth big bucks to Overnight Prints. This contest moved them onto page 1, and in fact, onto the top half of page 1.
  7. Involve the community. Jeremy narrowed it down to 7 finalists and then asked his readers to help him decide. The participation factor is huge. It makes the blog’s readers much more invested in the outcome.

A good contest has synergy — it’s a win-win for all parties (blogger, brand, contestants, readers) and having the right partners means that overall the whole is greater than the sum of the parts (i.e. everyone does much better than if they had embarked on it individually). Yes this contest was a huge success for everybody involved. Of course OvernightPrints was the biggest winner of them all: they got relevant exposure, buzz, links, rankings and traffic. Use the above 7 step formula and hopefully you will have similar success yourself.

Who Is Stephan Spencer: Web Marketer

Dec 3, 2009   //   by Stephan Spencer   //   General  //  2 Comments

Hi, I’m Stephan Spencer. Here’s a little treatise on me.

First off, I’m the President & CEO of Netconcepts, a natural search marketing firm with offices in Madison Wisconsin, Auckland New Zealand, and Beijing in China. In addition to SEO consulting, we have a search engine optimization (SEO) technology platform that helps online retailers optimize landing pages for natural search. Our clients include Gorton’s, Cabela’s, Verizon, REI, InfoSpace, Kohl’s, The Sharper Image, Wella, Hanes Brands (Sara Lee Direct), the American Marketing Association (MarketingPower.com), and MP3.com, to name-drop a few.

We at Netconcepts hold dear to our hearts the principle of ethical business relationships. We are happy to teach clients how to fish, disclosing exactly how to achieve top search engine rankings in extensive audit reports and day-long on-site training workshops.

My passions include search engine marketing & technology, web best practices & standards, web usability, web marketing & strategy, email marketing & strategy, and online retailing.

I started Netconcepts in early 1995 and grew it from a one-person consultancy to a multi-national agency, with its headquarters in Madison, Wisconsin and production offices in New Zealand (a.k.a. “Middle Earth”).

Prior to founding Netconcepts, I was a PhD student in Biochemistry at the University of Wisconsin-Madison (a great school, I might add). In 1994, I decided to ride the Internet wave to riches and early retirement (hmm… I’m still working! What does that say?) and dropped out of my PhD program but stuck it out the few extra months required to walk away with a Master’s. In January 1995, with no capital, a family of five to support, and no formal university training in management or marketing, I struck out on my own. What the hell was I thinking, you might ask? :-) It’s been a wild ride, and in the process I managed to “bootstrap” a pretty cool interactive marketing company.

In 1999 I moved from Wisconsin to New Zealand with my daughters and wife (now ex). Within three months I had the New Zealand production office up and running. After a short stint in downtown Auckland, I decided on Browns Bay on the North Shore for the New Zealand office. Browns Bay featured everything a staff would want in a job location — cafes, retail shops, and of course the beach (which is only one block away). Plus, it eliminates the need to fight the Auckland city traffic.

After residing in New Zealand for nearly eight years, my family and I moved back to Madison. It’s been a fabulous adventure being in New Zealand, but now it’s great to be back in my homeland.

I still rack up the frequent flyer miles, but now it’s mostly domestic flights to present at various conferences. Since 1995, I’ve presented at literally hundreds of Internet conferences and symposia around the world, including London, Berlin, Santiago, Auckland, Toronto, San Francisco, New York, Boston, Atlanta, and yes, even Appleton.

I, along with my co-authors Rand Fishkin, Eric Enge, and Jessie Stricchiola, authored the book The Art of SEO published by O’Reilly (my all-time favorite book publisher!). I authored numerous articles to publications such as Multichannel Merchant, DM News, Catalog Success, Search Engine Land, Catalog Age, MarketingProfs, Building Online Business, Unlimited, and NZ Marketing, which gives me something constructive to do while on the plane. I also co-authored Catalog Age’s research report “State of Search Engine Marketing 1.0″ with my VP of Search, Brian Klais.

VIDEO: Teen AdSense Entrepreneur

Nov 21, 2009   //   by Stephan Spencer   //   Blogging, Online Advertising, Shameless Self-Promotion  //  9 Comments

Yes, teenagers can make passive income from Internet marketing. Here’s living proof:

Isn’t she amazing?!? :) Yes I’m a little biased, since she is my offspring. But still, you have to admit it’s impressive when a kid can start an online business and make it onto the speaking circuit by the age of 16, and have such composure in front of the camera.

I remember when I was a teenager trying out Junior Achievement, going to a couple of meetings, and thinking how incredibly lame it was. The meetings were more like Arts & Crafts class than anything resembling real entrepreneurship and business. I wish I had had the opportunities that Chloe had when I was her age.

Our school systems still don’t adequately prepare kids to be entrepreneurs and business people, as Chloe notes in one of her Huffington Post articles. But for those kids who are motivated, they can find the opportunities elsewhere.

My advice for those doting parents of a budding entrepreneur is to first read the book Rich Dad Poor Dad. It’s not all that well-written, but it has some really important concepts, ones that I instilled in my kids. Such as:

  • Don’t work for a living, have money work for you
  • Build assets that make money for you while you sleep
  • Assets put money in your pocket month after month, liabilities take money out of your pocket month after month (thus a house you own and live in is a liability and NOT an asset)

And for those teens wondering where to start, first step is to pick something you’re passionate about. If it’s only about the money, it won’t be fun and you’ll lose your motivation when the going gets tough. For Chloe it was Neopets, but now she’s an “adult” (as she reminds me all the time) and not that into it anymore, so she’s delegating posting to a ghostwriter she found on oDesk. With her attention turning to film and to becoming a documentary director, my advice to her is to start a site or blog on that topic, perhaps more specifically on homegrown documentary videos by amateur filmmakers.

An Interesting Blog SEO Technique

Nov 14, 2009   //   by Stephan Spencer   //   Blogging, Search Engines  //  4 Comments

Bummer that I missed PubCon this week but I have just been traveling way too much lately. Speaking of traveling, I was in Indianapolis last week visiting the offices of Compendium Blogware. I got a demo of their hosted blog platform — including a look under the hood — and it’s pretty slick. There were features and functionality I had never seen before in blog software. One of the key differentiators, and the reason for the company’s name, is the “compending” capability that their solution does.

A compended blog is comprised of a collection of posts from other blogs, but all from within the same company. A company can have many employees blogging — customer service reps, salespeople, product developers etc. If a manufacturer, then dealers/distributors/retailers could join in on the fun too.

The appeal for companies who want to encourage employee blogging is that it’s dead simple to use, which is critical if you want wide adoption across the company. Here’s how it works: say that Bob from a Ford dealership blogs about the new Ford Mustang after he takes it for his first test drive. There are compended blogs for Mustangs, for sports cars, for pickups, etc. Without Bob having to think about it, his blog post gets compended automatically (using sophisticated content analysis algorithms) to the “Mustangs” and the “Sports Cars” blogs, but not the “Pickups” blog.

Blog posts that have been compended still maintain a canonical URL on the main blog, and that one canonical URL (of the permalink post page) is referenced consistently across all compended blogs on permalink post pages via a canonical link element (i.e. canonical tag). That eliminates duplicate copies of the permalink post page. The content of the post is nonetheless included on the compended blogs — in a fashion not dissimilar to post content being included on category pages, tag pages and date-based archives on WordPress blogs.

Here’s an example of two compended blogs (#1 and #2) and a post that is contained on both.

When considering duplicate content as it relates to SEO, bear in mind it’s not a penalty, but a filter, and that filter works query-time to favor the most relevant and authoritative result for the query entered. Given that, a particular compended blog will be most appropriate to the query, e.g. the query “2010 mustang sports car” would be most relevant to the Sports Cars blog. Note also the compended blogs are in subdirectories, not subdomains. The typical company will have a handful or perhaps dozens of compended blogs, large enterprises may have hundreds. It wouldn’t be unusual that a new post published on a WordPress blog and is in a couple categories and in a dozen tags would be duplicated (16 times including the date-based archives and home page, to be exact) more than a post on a typical Compendium network.

VIDEO: Learn from Shoemoney, my daughter, Duane and Steve (oh, and me too!) how to monetize your blog

Oct 4, 2009   //   by Stephan Spencer   //   Blogging, Conversion, Ecommerce  //  1 Comment

I’m in NYC for SMX East which starts tomorrow and I’m really looking forward it. But I’m also gearing up for Blog World Expo in a couple weeks. That’s because my daughter Chloe Spencer, the Neopets blogger, is going to be speaking there on a panel called “Are You Getting The Most Money Out Of Your Blog As You Can?” along with heavy hitters Dave Taylor, Tim Jones, and Chris Pirillo. The session is scheduled for Friday, October 16 at 11:30am.

Thinking about this panel reminded me of another panel that Chloe was a part of, also on the same topic, last year at DMA08. The session was called “Blog Monetization: From Soup to Nuts” and the heavy hitters that time were: Jeremy Schoemaker, Duane Forrester, Steve Spangler, and me. And thinking about that session reminded me that I had neglected to post the video of the session to this blog. Doh! So here it is…

The order of speakers was:

  1. me, founder of Netconcepts, co-author of The Art of SEO (coming out this month!)
  2. Chloe, teen blogger and AdSense entrepreneur, Huffington Post blogger/contributor
  3. Jeremy, a very successful Internet entrepreneur and Technorati top 100 blogger (Shoemoney.com is his blog)
  4. Duane, author of Making Money with Your Blog and the upcoming book Turn Clicks into Customers
  5. Steve, inventor, successful entrepreneur (founder of a science toy catalog company), science educator, keynote speaker, television personality, blogging CEO… Quite the Renaissance man!

The monetization approaches covered AdSense, affiliate, and much more. Lots of great tips, tricks, tactics, etc. If this video doesn’t help you make more money, I’ll give you a full refund! ;)

A blog can be an asset that benefits you personally. It can supplement your income, provide for your retirement, build up the kids’ college fund, or whatever. So I encourage you to study this video, because this could be your ticket — your ticket out of the rat race and into the world of passive income.

Here is my Powerpoint and Chloe’s.

Now go make some money! Or more specifically, go build yourself a passive income stream!

Pages:1234567...57»