Solved

How to restrict access to pages but still have my content indexed by Google?

Posted on 2016-10-17
4
139 Views
Last Modified: 2016-10-18
I am building a guitar instructional website. It will have lessons, and quizzes to make sure you understand the lesson. I won't let someone move onto the next lesson until they have demonstrated that they understand the concepts that will be important later on, as music theory is cumulative.

How do I restrict their access to future lessons they haven't achieved access to yet while still allowing Google to index the page?
0
Comment
Question by:burnedfaceless
  • 2
4 Comments
 
LVL 109

Accepted Solution

by:
Ray Paseur earned 500 total points
ID: 41847401
The question is a bit of an oxymoron, since Google does not "understand" pages - it simply indexes them and derives relationships between the content and the visitors.  But that said, why not look at the larger picture through two lenses -- one lens will be the view of the clients who are studying guitar, the other will be the view of Google and (if there are any left) the other search engines.

If you're studying guitar, you will want to know of a predictable path through the lesson plan.  This is well-embodied in Jeffrey Way's excellent Laracasts web site.  Laracasts shows you the lessons by name, and even allows you to take some of them for free.  The lesson names are very skillfully constructed to have a lot of semantic meaning.  Check it out.

If you're Google, you just need to be able to tell searchers that guitar lessons are available "over here."  To see this in the Laracasts analogy, make a Google search for "Learn Laravel" and see what turns up.  Once you start reading the Laravel lessons on Laracasts, you will bookmark the page, and you won't need Google to tell you where to find it any more.

Google will index a page on the basis of the HTML page title tag, the H1 tags, and a few other things, such as relevant text near the top of the page.  If these things are on target, your pages will be indexed and will be shown in response to related keyword searches.

Parenthetically, there is no substitute for buying Google AdWords to bolster your position in the search results!

To restrict access to the pages that should remain behind the firewall, for whatever reason, just password protect the pages.  Your authentication plan can be multi-level.  For example, a paid client automatically gets access to lesson #1.  And a paid client that has completed lesson #1 automatically gets access to lesson #2, etc.  Lather, rinse, repeat as your students move through the collection of lessons.
0
 
LVL 35

Expert Comment

by:Terry Woods
ID: 41847408
There are ways to determine if the viewer of a page is a robot or not, but it is possible for the viewer to provide false information in that regard so you likely can't be completely sure. Given that limitation, will you be satisfied with a technique for robot detection?

There's some code here that does it, though I'm not sure how old it is: http://www.cult-f.net/detect-crawlers-with-php/
0
 

Author Closing Comment

by:burnedfaceless
ID: 41847514
Thanks Ray, I'll learn Laravel when I'm a little better at OOP.

My website will be nonprofit, I'll accept donations to cover hosting costs but I want to be a developer. I was a Jazz Studies major though and I see a lot of problems with some of the guitar lessons that are out there.

Anyways I'm hoping this website will help me get a job.
0
 
LVL 109

Expert Comment

by:Ray Paseur
ID: 41848512
learn Laravel when I'm a little better at OOP
Ha!  Me too.  But more on point for your question, forget about learning Laravel and instead just look at the way Jeffrey Way (no pun) has set up his courses.  It's really a good design and I think it would work well for guitar, too.
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
Developer portfolios can be a bit of an enigma—how do you present yourself to employers without burying them in lines of code?  A modern portfolio is more than just work samples, it’s also a statement of how you work.
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.
The is a quite short video tutorial. In this video, I'm going to show you how to create self-host WordPress blog with free hosting service.

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question