vuepress / core

Vue-Powered Static Site Generator
https://vuepress.vuejs.org
MIT License
2.29k stars 925 forks source link

[Feature request] Different Pages and Image Indexing #353

Closed ramesh-dada closed 3 years ago

ramesh-dada commented 3 years ago

Feature request

Description

  1. I tested out the sitemap extension good work but there is a must have feature that sitemap should be divided into different pages after a pages limit see how properly it's divided in WP

  2. Index Image also automatically get the first image and it's data.

    
    <url>
    <loc>https://example.com/test.html</loc>
    <lastmod>2021-06-20T14:24:12+00:00</lastmod>
    <image:image>
    <image:loc>https://example.com/image.png</image:loc>
     <image:title><![CDATA[Example]]></image:title>
    <image:caption><![CDATA[Example]]></image:caption>
    </image:image>
    </url>
meteorlxy commented 3 years ago

The sitemap plugin has not been merged yet. For now you'd better leave a comment to #277

github-actions[bot] commented 3 years ago

This issue is marked as stale because it has not had recent activity. Issues marked with stale will be closed if they have no activity within 3 days.

ramesh-dada commented 3 years ago

ok I think @Mister-Hope will take a look

Mister-Hope commented 3 years ago

Hi there, I would like to share some ideas.


The second one is good, and I will support it after the sitemap plugin is merged as an enhancement.

Edited: I don't think this should be supported because this is not a standard sitemap tag definition.

And actually this feature is not important at all.

Why?

Please notice not all the search engines are supporting that.

Most search engines are just regarding sitemps as url maps, and they claw the html content themself, Google is just doing that. Infomation in <meta> tags are much more important and do have a higher preority than sitemaps info. So if you are using an seo plugin like @mr-hope/vuepress-plugin-seo, as long as you are providing all the information you wanna provide to search engine in meta tags, you should better not put it in sitemaps for size consideration.


For the first one, it's definately unneeded with VuePress.

Why?

You can provide multiple Sitemap files, but each Sitemap file that you provide must have no more than 50,000 URLs and must be no larger than 50MB (52,428,800 bytes). See here

It's unpossible for a VuePress project to reach this limit. In my test, a over 1000 pages project already fails on Github Actions using vuepress2 (becuase action machines has 8 GB rams). So the time and memory cost of a project with more than 50000 pages in vuepress is unpossible. So we should leave things simple. One single sitemap files should be enough in most situations.

If you are planing for a project more than 1000 pages. vuepress is probably not something you want. You should use tools like WordPress based on server and database, which you can easily add pages, rather than tools like vuepress which need you to compile and deploy files every time.

ramesh-dada commented 3 years ago

Hello @Mister-Hope Thanks for the reply ok then I no longer need first one but still need second one as I am using VuePress as a site other than documentation, However you are also right that this feature is not that useful so if you want feel free to close this issue.

Mister-Hope commented 3 years ago

Hello @Mister-Hope Thanks for the reply ok then I no longer need first one but still need second one as I am using VuePress as a site other than documentation, However you are also right that this feature is not that useful so if you want feel free to close this issue.

Have you check what search engines are actually reading <image:image>? I am pretty sure google do not support it, because I made some investigation when I am building sitemaps plugin for v1 last year. Why do you actully needs this none standard item?

Actually I am not getting why images are needed in sitemaps. They are just maps describing urls for search engines telling them which pages they need to visit and claw and if they had updates since last visit.

Mister-Hope commented 3 years ago

Oh sorry, you need to sperate sitemaps?

If you are holding large sites, you should probably sperate them to several VuePress projects, so that you won't need to rebuild them all when you have little changes, so you can just generate a sitemap group by yourself referencing to each sitemap files in your vuepress projects.

ramesh-dada commented 3 years ago

Oh sorry, you need to sperate sitemaps?

If you are holding large sites, you should probably sperate them to several VuePress projects, so that you won't need to rebuild them all when you have little changes, so you can just generate a sitemap group by yourself referencing to each sitemap files in your vuepress projects.

Sorry I dont need images feature I just need separate sitemap features I am not using different vuepress installations as my site is once loaded user will have to navigate to several pages and I don't want to reload the browser page with normal link that's the reason.

Mister-Hope commented 3 years ago

I am curious how much pages does your site have?

Here is my sitemap: https://mrhope.site/sitemap.xml (in VuePress V1 with my plugin) 700+ pages with 118kb size.

ramesh-dada commented 3 years ago

I am curious how much pages does your site have?

For now it's 40 - 60 only but as it's a tutorial type website it will be having too much pages, categories and different things.

Mister-Hope commented 3 years ago

I am not sure if you understand what I am expressing.

You have to rebuild every time your content change, and for a 1000 pages site, the time is already around 10min. You will absolutely take more than 6 hours to build a site (with probably 32GB+ mermory and GBs output) if your site is around 5w pages. You will not be able to build on tools netify, github actions because their machine do not have enough memory, and you will not beable to finish building before the max build time.

Vuepress is probably not the tool you should use under this situation. You should use tools based on server with database, where each your page is stored in database, and the server generate pages for you if you do needs lots of pages.

You will never reach a single file limit if you are in normal condition usage of VuePress.

P.S.: What I need is something resonable why a single sitemap do not fit you needs. But obviously you are not providing one while insist asking for this feature.

ramesh-dada commented 3 years ago

I was using wordpress and many other things but I don't like the delay in page load in static site it's instant and in with database server generates site and then it works I like vuepress too much so I am planning to use it and do you mean 30 gb ram or rom ?? Also I am closing this issue I think that no one will make vuepress site like me

Mister-Hope commented 3 years ago

RAM, I am not tested that much, but 700 pages is already taking 7.2GB ln Ubuntu 20

(790 pages with lots of content BTW)

ramesh-dada commented 3 years ago

RAM, I am not tested that much, but 700 pages is already taking 7.2GB ln Ubuntu 20

(790 pages with lots of content BTW)

OK Then A bit off topic but do you know something that has theme similar to vuepress and navigates to different pages in realtime and it can be easily used without this problems that we are having and it can handle more than 50000 pages