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 шт):

Автор решения: Mike

Можно попробовать закрыть в robots.txt от индексирования двумя способами:

Disallow: */en/term

или через UTF код символа # (если у вас используется отличная от UTF кодировка, то и код может быть другой)

Disallow: /%23/en/term

→ Ссылка