jonathanbossenger / stand-with-ukraine

Stand with Ukraine
https://github.com/jonathanbossenger/stand-with-ukraine/archive/refs/tags/1.0.0.zip
1 stars 4 forks source link

Ideas for not showing the banner to bots #16

Open erikyo opened 2 years ago

erikyo commented 2 years ago

I think it might be a good idea to show the banner only to the real visitors of the site and not to the bots that usually do not "see the page" but download the code with curl and analyse the content.

There would be ways to hide the plugin completely, for example creating a javascript bundle with html and css packed (the most of the bots don't have time to run js) with an hashed name like 564516843.js

jonathanbossenger commented 2 years ago

@bueltge @rosswintle Any suggestions/ideas here.

bueltge commented 2 years ago

Not really. You mean cloaking - https://developers.google.com/search/docs/advanced/guidelines/cloaking?hl=en&ref_topic=6001971&visit_id=637825130549234230-1958163629&rd=1 Maybe the recommendation on the site helps you.

The content is minimal, loading also minimal, but in case of SEO visible.

erikyo commented 2 years ago

that's no cloaking because it will not replace the content but only add something, many plugins do this, including cookie banners. For this i guess there are no google webmaster guideline violation.

ps. we need to take in consideration also the translations added into the footer

<script id="stand-with-ukraine-js-extra">
var swu_options = {"text":"Stand With Ukraine","hashtag":"#StandWithUkraine","url":"https:\/\/war.ukraine.ua\/"};
</script>

this is something like what I mean. will load the whole banner without anything else (but there is a solution to be found for translations)

var div  = document.createElement('div');
div.id = 'stand_with_ukraine_overlay';
div.style.cssText = "border: 10px solid #0057B8; padding: 5px; text-align: center; text-combine: #0057B8; background-color: #FFD700;";
var a  = document.createElement('a');
a.style.cssText = "display: inline-block; padding: 3px 6px; color: #0057B8; border: 2px transparent dashed; text-decoration: underline;";
a.textContent = 'Stand With Ukraine';
a.href = 'https://war.ukraine.ua/';
div.appendChild(a);
document.body.insertAdjacentElement('afterbegin', div);