gitpod-io / retired-gatsby-website

Gitpod website and documentation
https://www.gitpod.io/
MIT License
68 stars 73 forks source link

SEO Improvements #842

Open chrifro opened 4 years ago

chrifro commented 4 years ago

This is an addition to #821 Most tips relate to the suggestions of Sistrix optimizer.

Note: This issue should be addressed in several smaller PRs, please create a PR for each topic.

Page not found:

Page not found -external links

Missing alt-tag

meta description is too short Google only crawls pages that have a certain length of meta description. 60-160 characters are recommended

Generally we should watch out that the meta description for new blog posts is not too short

Search Engine Result Pages (SERP)

Pages with too few words we should either add more words or a robots.txt file so that these pages won't be crawled

Too big images

Duplicated headlines H1 headlines shouldn't be copied and always differentiate otherwise Google sees the page as duplicated content

chrifro commented 4 years ago

Additional errors reported by ryte.com

[ ] add a sitemap.xml why? it makes it easier for search engines to index dynamic content and the sitemap can help the search engine robots find files that are more difficult to access, such as images, faster and more easily. See here for more details Edit: www.gitpod.io already has a sitemap.xml. The issue seem to address gitpod.io, please skip the issue for now

- [ ] add redirect: if the URL is accessed without the "www" it will not redirect to the page. This might cause frustrated users or duplicate content. E.g. https://www.gitpod.io/gitpod-vs-codespaces/ this issue is addressed in https://github.com/gitpod-io/gitpod/issues/2659

- [ ] move all inline CSS to a central CSS-File: The page (www.gitpod.io) loads 2 css files and uses 30 inline css blocks EDIT: "This is something done automatically by Gatsby and the use of emotion for styling. I don't think we can do something about it but maybe I'm wrong." https://github.com/gitpod-io/website/issues/842#issuecomment-739054146

nisarhassan12 commented 3 years ago
  • [ ] meta description for gitpod.io needs to be updated. Currently One-click ready-to-code development environments for GitHub

@ChristinFrohne The current description for gitpod.io i.e the dashboard is Describe your dev environment as code and get fully prebuilt, ready-to-code development environments for any GitLab, GitHub, and Bitbucket project.

I tried searching in the repo.

nisarhassan12 commented 3 years ago

I'm un-able to optimize maybe two or three gifs i.e I tried many online gif optimizers but none of them seems to do the job.

see https://www.gitpod.io/f09a4d869c446fa2e6ad937346717421/scala-debug.gif for example. May the reason is that it's already optimized/compressed.

nisarhassan12 commented 3 years ago

image

Thanks, @ChristinFrohne I agree with you on this but it is something that has to be done on the Gitpod side i.e probably on the server which hosts gitpod.io

nisarhassan12 commented 3 years ago
  • [ ] move all inline CSS to a central CSS-File why? This increases file size, increases maintainability of CSS and forces Browsers to do more Render-Cycles. -> The page loads 2 css files and uses 27 inline css blocks

This is something done automatically by Gatsby and the use of emotion for styling. I don't think we can do something about it but maybe I'm wrong. @svenefftinge What do you think? Thanks

nisarhassan12 commented 3 years ago

merge JavaScript into one file to improve page speed: The page loads 9 javascript files and uses 6 inline script blocks

If all the 9 JS files are merged into one file it would make the site even slower. The site does ship more JavaScript then it has to and that is due to the use of Gatsby which uses React, ReactDOM and Reach Router for hydrating, there isn't much we could do about this unless we use something other than Gatsby.

Let's say a user visiting only https://www.gitpod.io/imprint/ a page containing some text and in terms of "The more then what you need is a burden." philosophy he should only be served only some HTML and CSS i.e things that are required for the User Experience but currently, the user landing on the imprint page would be served about 8 JS files which are not required for the User Experience/Goals.

chrifro commented 3 years ago

The current description for gitpod.io i.e the dashboard is Describe your dev environment as code and get fully prebuilt, ready-to-code development environments for any GitLab, GitHub, and Bitbucket project.

Somewhere there still seems to be the outdated description. See screenshot. Any idea how to find and fix it @nisarhassan12 ?

Bildschirmfoto 2020-12-08 um 11 15 45
nisarhassan12 commented 3 years ago
  • [ ] the w3c validator found 61 error(s) and 7 warning(s)

@ChristinFrohne A vast amount of errors reported by the W3C validator are due to the inlining of CSS done by emotion and we can't do anything about that i.e the solution would be to not use emotion(or any other CSS-in-JS library) for styling and that would be a lot of effort. Not sure how much of an impact do these errors have on SEO?

image

There are some other errors and warnings as well. I'll try to address most of them in #932

chrifro commented 3 years ago

A vast amount of errors reported by the W3C validator are due to the inlining of CSS done by emotion and we can't do anything about that i.e the solution would be to not use emotion(or any other CSS-in-JS library) for styling and that would be a lot of effort. Not sure how much of an impact do these errors have on SEO?

@nisarhassan12 Google says “Although we do recommend using valid HTML, it’s not likely to be a factor in how Google crawls and indexes your site.” As the impact doesn't seem that high and as you said that it takes quite a lot of time to fix it, we can ignore this issue for now.

ghuntley commented 3 years ago

📝 for future iteration lifted from https://github.com/gitpod-io/website/pull/864#issue-532674495

The client.sh script shown in the screenshot has moved in Chocobozzz/PeerTube@c026a2e#diff-f170b9f2b1dbb022fc6aa6f450eb06693d96ab14ddd2711d75585ad4e2bd3751 to /scripts/dev/client.sh.

suggestion: We can update the link to point to the new path or even better link using the permalink to a specific commit to avoid introducing such broken links in the future.