Метаданные¶
Метаданные имеют решающее значение для SEO и удобного обмена информацией. В этой главе мы обсудим, как можно добавить метаданные в приложение Next.js.
Вот темы, которые мы рассмотрим
- Что такое метаданные.
- Типы метаданных.
- Как добавить изображение Open Graph с помощью метаданных.
- Как добавить фавикон с помощью метаданных.
Что такое метаданные?¶
В веб-разработке метаданные представляют собой дополнительные сведения о веб-странице. Метаданные не видны пользователям, посещающим страницу. Вместо этого они работают за кулисами, встраиваясь в HTML страницы, обычно в элемент <head>. Эта скрытая информация очень важна для поисковых систем и других систем, которым необходимо лучше понять содержание вашей веб-страницы.
Почему метаданные важны?¶
Метаданные играют важную роль в улучшении SEO-страницы, делая ее более доступной и понятной для поисковых систем и платформ социальных сетей. Правильные метаданные помогают поисковым системам эффективно индексировать веб-страницы, повышая их рейтинг в результатах поиска. Кроме того, такие метаданные, как Open Graph, улучшают внешний вид общих ссылок в социальных сетях, делая контент более привлекательным и информативным для пользователей.
Типы метаданных¶
Существуют различные типы метаданных, каждый из которых служит уникальной цели. Некоторые распространенные типы включают:
Метаданные заголовка: Отвечают за заголовок веб-страницы, который отображается на вкладке браузера. Это очень важно для SEO, так как помогает поисковым системам понять, о чем идет речь на веб-странице.
1 | |
Метаданные Описание: Эти метаданные представляют собой краткий обзор содержимого веб-страницы и часто отображаются в результатах поисковых систем.
1 2 3 4 | |
Метаданные ключевых слов: Эти метаданные включают ключевые слова, связанные с содержанием веб-страницы, что помогает поисковым системам индексировать страницу.
1 2 3 4 | |
Метаданные Open Graph: Эти метаданные улучшают представление веб-страницы, когда ею делятся в социальных сетях, предоставляя такую информацию, как заголовок, описание и изображение для предварительного просмотра.
1 2 3 4 5 6 | |
Метаданные фавикона: Эти метаданные связывают фавикон (маленький значок) с веб-страницей, отображаемой в адресной строке браузера или на вкладке.
1 | |
Добавление метаданных¶
Next.js имеет API метаданных, который можно использовать для определения метаданных вашего приложения. Существует два способа добавления метаданных в приложение:
- На основе конфигурации: Экспорт статического объекта
metadataили динамической функцииgenerateMetadataв файлlayout.jsилиpage.js. - Файл-ориентированные: В Next.js есть ряд специальных файлов, которые специально используются для метаданных:
favicon.ico,apple-icon.jpgиicon.jpg: Используются для фавиконов и иконокopengraph-image.jpgиtwitter-image.jpg: Используются для изображений социальных сетейrobots.txt: Предоставляет инструкции для поисковых системitemap.xml: Предоставляет информацию о структуре сайта.
Вы можете использовать эти файлы для статических метаданных, а можете генерировать их программно в рамках вашего проекта.
В обоих случаях Next.js будет автоматически генерировать соответствующие элементы <head> для ваших страниц.
Фавикон и изображение Open Graph¶
В папке /public вы заметите два изображения: favicon.ico и opengraph-image.jpg.
Переместите эти изображения в корень папки /app.
После этого Next.js автоматически определит и будет использовать эти файлы в качестве фавикона и изображения OG. Вы можете убедиться в этом, проверив элемент <head> вашего приложения в dev tools.
Полезно знать
Вы также можете создавать динамические изображения OG с помощью конструктора ImageResponse.
Заголовок и описание страницы¶
Вы также можете включить объект metadata из любого файла layout.js или page.js, чтобы добавить дополнительную информацию о странице, например, заголовок и описание. Любые метаданные в файле layout.js будут унаследованы всеми страницами, которые его используют.
В корневом макете создайте новый объект metadata со следующими полями:
| /app/layout.tsx | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Next.js автоматически добавит заголовок и метаданные в ваше приложение.
Но что, если вы хотите добавить собственный заголовок для конкретной страницы? Вы можете сделать это, добавив объект metadata к самой странице. Метаданные во вложенных страницах будут переопределять метаданные в родительской.
Например, на странице /dashboard/invoices можно обновить заголовок страницы:
| /app/dashboard/invoices/page.tsx | |
|---|---|
1 2 3 4 5 | |
Это работает, но мы повторяем название приложения на каждой странице. Если что-то изменится, например название компании, вам придется обновлять его на каждой странице.
Вместо этого вы можете использовать поле title.template в объекте metadata, чтобы определить шаблон для заголовков ваших страниц. Этот шаблон может включать в себя заголовок страницы и любую другую информацию, которую вы хотите включить.
В корневом макете обновите объект metadata, чтобы включить в него шаблон:
| /app/layout.tsx | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
%s в шаблоне будет заменен на конкретный заголовок страницы.
Теперь на странице /dashboard/invoices вы можете добавить заголовок страницы:
| /app/dashboard/invoices/page.tsx | |
|---|---|
1 2 3 | |
Перейдите на страницу /dashboard/invoices и проверьте элемент <head>. Вы должны увидеть, что теперь заголовок страницы стал Invoices | Acme Dashboard.
Практика: Добавление метаданных¶
Теперь, когда вы узнали о метаданных, попрактикуйтесь в добавлении заголовков на другие страницы:
/loginстраницу./dashboard/страницу./dashboard/customersстраницу./dashboard/invoices/createстраницу./dashboard/invoices/[id]/editстраницу.
Next.js Metadata API является мощным и гибким, предоставляя вам полный контроль над метаданными вашего приложения. Здесь мы показали, как добавить некоторые базовые метаданные, но вы можете добавить множество полей, включая keywords, robots, canonical и другие. Не стесняйтесь изучать документацию и добавлять любые дополнительные метаданные, которые вы хотите добавить в свое приложение.
Источник — https://nextjs.org/learn/dashboard-app/adding-metadata