Vue закрыть от индексирования одну страницу с # в url
Нужно скрыть раздел сайта www.site-name.com/#/en/terms от индексации поисковиками, остальные оставить доступными. Как можно это сделать и проверить результат?
Сайт на Vue3 (Options API), используется vue-router, в url присутствует #. Пробовал плагины vue-meta, vue-head, @vueuse/head но они все не работают. Выдаёт разные типы ошибок и сайт локально вообще не запускается (yarn run dev). В robots.txt знак # это начало комментария, поэтому не получится прописать правила для одной страницы.
В App.vue добавлен код, но не знаю будет ли он работать:
watch: {
$route: {
immediate: true,
handler(to, from) {
const meta = document.querySelector('meta[name="robots"]');
const isNoindexPage = this.$route.fullPath.includes('terms');
const tagValue = isNoindexPage ? 'noindex' : 'all';
meta.setAttribute("content", tagValue);
}
},
}
Какие есть варианты скрыть от индексации одну страницу и протестировать это?
Ответы (1 шт):
Можно попробовать закрыть в robots.txt от индексирования двумя способами:
Disallow: */en/term
или через UTF код символа # (если у вас используется отличная от UTF кодировка, то и код может быть другой)
Disallow: /%23/en/term