Lightweight component to hide/show content to clients based on the user agent
As you know, the GDPR is coming (or more likely: is already applicable when you read this). With it, a lot of information banners, consents concerning cookies, privacy policies and so on.
The average user will see those banners once (a year, that's the law), but search engine crawlers will always see it (as they don't have any cookies and won't click on it). On every page. Depending on the screen size they take, this could be annoying and even influence your SEO (negatively).
So stop it now! With VueIfBot.
Having any other cases you need this component? Feel free to share!
- Tiny functional component
- SSR-safe (works with Nuxt.js)
- Well tested and documented
- Compatible with Node 8.0+
- Vue as the only dependency
- Highly customizable
$ npm install vue-if-bot
import VueIfBot from 'vue-if-bot'
export default {
components: {
VueIfBot
}
}
export default {
components: {
VueIfBot: () => import('vue-if-bot')
}
}
UNPKG | jsDelivr (available as window.ifBot)
Vue.component('if-bot', window.ifBot)
// Continue as you wish
By default, all children of the component are not displayed to bots.
VueIfBot detects bots by testing their user agent against the regex /bot|googlebot|crawler|spider|robot|crawling/i
Prop | Type | Comment |
---|---|---|
invert | Boolean | Inverts the behavior (shows content only to bots) |
regex | RegExp | Change the user agent regex to your own (eg /test/i ) |
<vue-if-bot>
<h1>This will not be visible for bots</h1>
</vue-if-bot>
<vue-if-bot
:invert="true">
<h1>This will be visible for bots</h1>
</vue-if-bot>
<vue-if-bot
:regex="/some-custom-browser/">
<h1>This will be visible for users whose user agent contains some-custom-browser</h1>
</vue-if-bot>
Please see our CONTRIBUTING.md
MIT License - Copyright (c) Developmint - Alexander Lichter