SEO, что означает Search Engine Optimization, - это набор методов, используемых для улучшения видимости и ранжирования веб-сайтов и веб-страниц на страницах результатов поисковых систем (SERP), таких как Google, Bing и Yahoo.
NEXTJS поставляется со встроенными функциями и оптимизациями, которые могут помочь улучшить SEO вашего сайта. Вот некоторые способы использования NEXTJS для улучшения SEO:
Давайте рассмотрим, как традиционно задавались метаданные в NEXTJS, прежде чем мы изучим новый API метаданных.
В NEXTJS вы можете установить статические метаданные в компоненте Head, определив метаданные непосредственно в JSX-коде компонента. Вот как установить статические метаданные в NEXTJS:
import Head from 'next/head'; function MyPage() { return ( <> <Head> <title>My Page Title</title> <meta name="description" content="My page description" /> </Head> {/* page content */} </> ); } export default MyPage;
В NEXTJS вы можете динамически устанавливать метаданные, передавая реквизиты компоненту Head. Вот как динамически установить метаданные в NEXTJS:
export async function getStaticProps() { const pageTitle="My Page Title"; const pageDescription="My page description"; return { props: { pageTitle, pageDescription } } } function MyPage({pageTitle, pageDescription}) { return ( <> <Head> <title>{pageTitle}</title> <meta name="description" content = {pageDescription} /> </Head> {/* page content */} </> ); } export default MyPage;
В NEXTJS вы можете динамически устанавливать метаданные с помощью нового API Metadata, позволяющего определять метаданные (например, теги title, meta и link внутри элемента HTML head) путем экспорта объекта Metadata из макета или страницы.
// either Static metadata export const metadata = { title: 'Page title', }; // Output: // <head> // <title>Page title</title> // </head> // or Dynamic metadata export async function generateMetadata({ params, searchParams }) { const details = await getPageDetails(params.id); return { title: details.title }; } // Output: // <head> // <title>My Unique Page title</title> // </head> function MyPage() { return ( <> {/* page content */} </> ); } export default MyPage;
API метаданных в NEXTJS 13.2 поддерживает новое соглашение на основе файлов в дополнение к метаданным на основе конфигурации. Это позволяет легче настраивать веб-страницы для улучшения их SEO и возможностей обмена.
В качестве примера использования метаданных на основе файлов, вы можете использовать его для включения фавикона для вашего приложения и изображения открытого графа для вашей /home страницы.
src -> pages -> contact-us -> index.js -> home -> index.js -> opengraph-image.svg
При использовании метаданных на основе файлов в NEXTJS файлы будут автоматически передаваться с хэшированными именами файлов для целей кэширования в продакшене. Кроме того, Next.js будет обновлять соответствующие элементы заголовка с соответствующими метаданными, такими как URL актива, тип файла и размер изображения.
// Visiting "/contact-us" <link rel="icon" href="<computedUrl>"/> // Visiting "/home" <link rel="icon" href="<computedUrl>"/> <meta property="og:image" content="<computedUrl>" type="<computedType>" ... />
API метаданных теперь предлагает варианты как на основе конфигурации, так и на основе файлов, обеспечивая полное решение для управления как статическими, так и динамическими метаданными.
Вы можете получить дополнительную информацию о метаданных на основе файлов и ознакомиться со справочником API, чтобы понять, как использовать эту функцию в вашем приложении. Обратите внимание, что доступность API метаданных может отличаться в зависимости от используемой платформы или приложения.
20.08.2023 18:21
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2023-2024 годах? Или это полная лажа?".
20.08.2023 17:46
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
19.08.2023 18:39
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.
19.08.2023 17:22
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!
18.08.2023 20:33
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий их языку и культуре.
14.08.2023 14:49
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.