useRobotsRule()

A reactive way to access and set the robots rule.

Introduction

Type: function useRobotsRule(rule?: MaybeRef<boolean | string>): Ref<string>

View and control the robots rule using a simple reactivity API.

It's recommended to use this composable when you need to dynamically change the robots rule at runtime. For example when a user changes their profile from private to public.

Note: This does not modify the /robots.txt file, only the X-Robots-Tag header and the robots meta tag.

Server Side Behavior

In a server-side context, this can be used to change the rule used for X-Robots-Tag header and the robots meta tag.

Providing a boolean will either enable or disable indexing for the current path using the default rules.

import { useRobotsRule } from '#imports'

const rule = useRobotsRule(true) // modifies the rules

Client Side Behavior

In a client-side context you can only read the value of the rule, modifying it will have no effect. This is due to robots only respecting the initial SSR response.

import { useRobotsRule } from '#imports'

const rule = useRobotsRule(true) // does not do anything, just returns the value

Usage

Accessing the rule:

import { useRobotsRule } from '#imports'

const rule = useRobotsRule()
// Ref<'noindex, nofollow'>

Setting the rule - argument:

import { useRobotsRule } from '#imports'

useRobotsRule('index, nofollow')
// Ref<'index, nofollow'>
useRobotsRule(false)
// Ref<'noindex, nofollow'>

Setting the rule - reactive:

import { useRobotsRule } from '#imports'

const rule = useRobotsRule()
rule.value = 'index, nofollow'
// Ref<'index, nofollow'>
Did this page help you?