Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sitemap Page Exclusions Not Working #92

Open
devonbeard opened this issue Sep 4, 2022 · 3 comments
Open

Sitemap Page Exclusions Not Working #92

devonbeard opened this issue Sep 4, 2022 · 3 comments

Comments

@devonbeard
Copy link

Hey Folks,

I've been trying to exclude paths from our sitemap using this plugin. I'm trying to have these subfolders not show up on the sitemap:

  • /research/briefs
  • /research/notes
  • /research/

Here are examples of paths I've tried with no luck:

Test 1 (didn't work):
​[[plugins]]
package = "@netlify/plugin-sitemap"

[plugins.inputs]
buildDir = "public"
exclude = [
# By Glob pattern
'./research//',
'./research/briefs/'
'./research/notes/
'
]

​Test 2 (didn't work):
​[[plugins]]
package = "@netlify/plugin-sitemap"

[plugins.inputs]
buildDir = "public"
exclude = [
# By Glob pattern
'./public/research//',
'./public/research/briefs/'
'./public/research/notes/
'
]

Test 3

exclude = [
# By Glob pattern
'//briefs/',
'
//notes/',
'/research//**',
]

Any thoughts on how I can get this to work?

@chrishannaby
Copy link

Hey Devon,

I tested this out in a test project using a structure like this:

.
├── netlify.toml
└── public/
    ├── index.html
    ├── blog/
    │   └── index.html
    └── research/
        ├── index.html
        ├── notes/
        │   ├── index.html
        │   └── note-1/
        │       └── index.html
        └── briefs/
            └── index.html

And using the following config

[[plugins]]
package = "@netlify/plugin-sitemap"

  [plugins.inputs]
  buildDir = "public"
  exclude = [
    './public/research/**',
  ]

Gave me a sitemap like this

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
  xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0"
  xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
  xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
  <url>
    <loc>https://addepar-sitemap-test.netlify.app/</loc>
    <lastmod>2022-09-19T23:51:42Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://addepar-sitemap-test.netlify.app/blog</loc>
    <lastmod>2022-09-20T00:02:48Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

i.e. that pattern excludes anything in the research folder. If you wanted to only exclude certain directories in the research folder you could do that like this

Folder structure:

.
├── netlify.toml
└── public/
    ├── index.html
    ├── blog/
    │   └── index.html
    └── research/
        ├── index.html
        ├── notes/
        │   ├── index.html
        │   └── note-1/
        │       └── index.html
        ├── briefs/
        │   └── index.html
        └── public-whitepapers/
            └── index.html

netlify.toml:

[[plugins]]
package = "@netlify/plugin-sitemap"

  [plugins.inputs]
  buildDir = "public"
  exclude = [
    './public/research/*',
    './public/research/briefs/**',
    './public/research/notes/**',
  ]

sitemap.xml:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
  xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0"
  xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
  xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
  <url>
    <loc>https://addepar-sitemap-test.netlify.app/</loc>
    <lastmod>2022-09-19T23:51:42Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://addepar-sitemap-test.netlify.app/blog</loc>
    <lastmod>2022-09-20T00:02:48Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://addepar-sitemap-test.netlify.app/research/public-whitepapers</loc>
    <lastmod>2022-09-20T00:08:22Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

Let me know if that kind of config works for you

@chrishannaby
Copy link

@devonbeard can this be closed after the changes we made yesterday?

@colinrim
Copy link

colinrim commented Aug 17, 2023

Still experiencing this issue:

[[plugins]]
  package = "@netlify/plugin-sitemap"
  [plugins.inputs]
  buildDir = "public"
  changeFreq = "daily"
  prettyURLs = true
  trailingSlash = true
  exclude = [
    '_gatsby/slices/_gatsby-scripts-1/',
    '/_gatsby/slices/_gatsby-scripts-1/',
    './public/_gatsby/slices/_gatsby-scripts-1/', 
    '**/_gatsby/slices/_gatsby-scripts-1/', 
    '**/**/_gatsby/slices/_gatsby-scripts-1/',
]
Where sitmap.xml still references this file.
Also seem strange to point to a framework related library file as such.

UPDATE:
this entry seemed to have fixed the issue:
exclude = [ '**/**/_gatsby/', ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants