HB's Thoughts

I try to think really hard.

14.05.2024 г.

Премахване на наклонената черта от адресната линия в Nuxt

Всяка страница във Вашия уеб сайт трябва да е с уникално съдържание. Ако имате втора страница с същото съдържание, то тежестта на информацията за търсачките се разделя между двете и това силно намалява шансовете им за по-ранно показване в резултатите от търсенето.

Ако имате страница, която се зарежда на адрес https://example.com/page е много възможно същата страница да се зарежда и на адрес https://example.com/page/. От наша гледна точка, това е една и съща страница, но за търсещите машини, това са два различни адреса. Съответно очакват да има различно съдържание на тях.

Едни от начините да окажем на търсачките, кое съдържание трябва да се отчита, са каноничните адреси на страниците. Аз ще обърна внимание на друг - да кажем на търсачките, че 'грешния' адрес е преместен. Както разбирате, това трябва да стене, още преди обхождащата машина да зареди страницата ни. В Nuxt това може да стане с един малък middleware.

// middleware/remove-trailing-slash.global.ts

export default defineNuxtRouteMiddleware((to) => {
  if (to.path === "/" || !to.path.endsWith("/")) return; // -->

  const removedSlash = to.path.replace(/\/+$/, "") || "/";
  const seoRoute = { path: removedSlash };

  return navigateTo(seoRoute, { redirectCode: 301 });
});

На middleware му добавяме global в името, за да се изпълнява преди зареждането на всяка една страница, без да е необходимо страниците да го викат изрично.


Ако имате мнение или въпроси за статията, не се колебайте да ги споделите.

Влезте в отворената дискусия в GitHub.


Компетентност: Про
Тагове: NuxtSEO