Gatsby sitemap.xml и rss-канал, использующий неправильное доменное имя

#gatsby #netlify #ghost-blog

#gatsby #netlify #призрак-блог

Вопрос:

Я использую Ghost с gatsby-starter-ghost и сталкиваюсь с проблемой с сгенерированным sitemap.xml из gatsby-plugin-advanced-sitemap, а также URL-адрес RSS-канала.

Мое доменное имя https://www.officehomelife.com / и размещается на https://officehomelife.netlify.app /

Проблема в том https://www.officehomelife.com/sitemap.xml генерирует URL-адреса на основе доменного имени netlify, а не моего доменного имени. Он также использует доменное имя netlify для RSS-канала https://feedly.com/i/subscription/feed/https://officehomelife.netlify.app/rss /

Я считаю, что это значение должно поступать из gatsby-starter-ghostsrcutilssiteConfig.js где я это определил:

     siteUrl: `https://www.officehomelife.com`, // Site domain. Do not include a trailing slash!

    postsPerPage: 12, // Number of posts shown on paginated pages (changes this requires sometimes to delete the cache)

    siteTitleMeta: `Office Home Life`, // This allows an alternative site title for meta data for pages.
    siteDescriptionMeta: `The essential guide to working from home`, // This allows an alternative site description for meta data for pages.

    shareImageWidth: 1000, // Change to the width of your default share image
    shareImageHeight: 523, // Change to the height of your default share image

    shortTitle: `Office`, // Used for App manifest e.g. Mobile Home Screen
    siteIcon: `favicon.png`, // Logo in /static dir used for SEO, RSS, and App manifest
    backgroundColor: `#e9e9e9`, // Used for Offline Manifest
    themeColor: `#15171A`, // Used for Offline Manifest
}

  

Я попытался удалить папку .cache, но это не помогло, есть другие идеи?

Спасибо

Комментарии:

1. Можете ли вы предоставить конфигурацию для gatsby-plugin-advanced-sitemap ?

2. Я добавил полную конфигурацию сайта, которую использует плагин sitemap.

3. Я заметил, что у меня нет этой проблемы в моей локальной сборке Gatsby, так что это как-то связано с Netlify. Я попытался добавить переменную среды SITEURL officehomelife.com Я спрошу на их форумах. Код плагина sitemap содержит siteMetadata: { siteUrl: process.env.SITEURL || config.siteUrl , },

Ответ №1:

Работа с переменными среды это немного сложно, вам нужно добавить к переменным префикс GATSBY_ , чтобы сделать их доступными для сервера (Netlify) на стороне браузера:

В дополнение к этим переменным среды проекта, определенным в .env.* файлах, вы также можете определить переменные среды ОС. Переменные OS Env с префиксом with GATSBY_ станут доступны в JavaScript браузера.

Итак, ваш process.env.SITEURL должен стать:

 siteMetadata: { siteUrl: process.env.GATSBY_SITEURL || config.siteUrl, }
  

И так далее для остальных переменных среды.