When I tried curl --head
on your desktop page (URL in your screenshot), your server returns a 308
(permanent redirect) to the www
version.
The desktop version of the URL that you are checking on Search Console is without www
.
Google has no idea about what content could have existed in non-www
page (if at all) before you placed a redirect to the www
page. Hence, the redirect will be treated as a one to non-equivalent page. Thus you are receiving a soft 404.
Regarding mobile issues, I am unable to spot any serious issue other than having canonical client rendered (If I observed it correctly). The rendered source shows the correct canonical. The server-side rendered page (that Google sees at first) shows "undefined" in canonical. If that is the case, probably you should wait longer. (Ref: A similar issue is being discussed here: Google showing static title instead of dynamically set javascript title). Nevertheless, please make sure the canonical points to the www
version.
Note: Why don't you have a single sitemap, thus making things easier for Google.
Reference: https://developers.google.com/search/mobile-sites/mobile-seo/separate-urls#annotation-in-sitemaps
UPDATE
In the search console, just make sure that your property is (or includes) www
version of your website. While checking URLs in the inspection bar, you would be checking www.
prefixed ones.
In sitemaps, update all desktop URLs with www.
prefix.
Regarding sitemap location, one in the desktop folder alone will be sufficient. (For details, please check the reference URL I have posted above)
UPDATE:
In addition to the www
issue (please check the first part of this answer), there seem to be more problems. Now soft 404 is thrown for the www
version (where technically a 200 is returned). .
Here are my observations: (These points should apply to the mobile version's soft 404 issues as well)
The main part of the content is rendered client-side. To check the same, I turned off JavaScript and refreshed the
URL. (I blocked JS for the site in chrome://settings/content/javascript). Now all I can see are the menu and footer (general template content).
Google can treat pages with minimal elements/content as soft 404s. Reference: https://developers.google.com/search/docs/advanced/crawling/soft-404-errors#pageother
I know Googlebot can process JavaScript, but the process can take time (sometimes in the order of weeks to months). Reference: What are the SEO implications of an established website shifting from server-side rendering to client side?
Solution
Either you can wait or turn your implementation server-side (the most preferable solution in my view). Based on what I read, Next JS supports SSR - Server Side Rendering.
My Doubt
Though I know Google takes a lot of time to process client-side rendered pages, I am unaware of whether Google will go to the extreme of treating the pages with minimal content at the initial crawl as soft 404s till its rendering process is complete. But from your case, it looks likely. If you have the same doubt, you may post that as a separate question (important if you stick with client-side rendering).