Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to limit content for returning visitor without risking angry bots?
    text
    copied!<p>I'm trying to show some content (introduction) to new visitors on some pages on website.com. I wish to "not bother" the user with it again if they've already seen it.</p> <p>Let's say user comes in to website.com/cool-article I then show the user an introduction at the top and when the user then clicks website.com/useful-article-43 that page should now not contain the introduction. Or should I keep the introduction and just scroll down the user on the second page? Also I don't want to show the introduction if the user is a returning visitor. Website is built with PHP.</p> <p>My <strong>concern</strong> is - which of these solutions would you chose to make sure SE bots don't go mad that the content varies? From what I've understood bots never bring along any referrer info.</p> <p><strong>Options:</strong> </p> <p>1) Lookup $_SERVER['HTTP_REFERER'] ($httpReferer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null;)<br> If it's set to mywebsite.com or NULL<br> DO A or B</p> <p>2) Store and check for a cookie that is set when the user visits the page. session_start(); if !$_SESSION['intro']<br> DO A or B<br> $_SESSION['intro']='introSeen';</p> <p>3) Via JS/localStorage?<br> (Unnecessary loading of content?)</p> <p>How would you do it?</p> <p>(A&amp;B)</p> <p><strong>A) don't load introduction to the page at all</strong></p> <ul> <li>+Less loading time when users that click a saved link arrive on the page and also for users.</li> <li>-Risk of confusion </li> <li>-The page doesn't look the same. </li> </ul> <p><strong>B) Scroll user down to the article, keep introduction on top.</strong></p> <ul> <li>+If user scrolls up the page looks the same as previous.</li> <li>+Website always has the same content for all users as well as bots.</li> <li>-Unnecessary loading of content</li> </ul>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload