intermine / intermine/bluegenes

Improve SEO

Open
#705 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

High priority
Dominant language
Clojure
Stars
75
Forks
59
PR merge metrics
No merged PRs in 30d

Description

This might require extra care due to Bluegenes being a SPA.
https://intermine.readthedocs.io/en/latest/webapp/monitoring-site-usage/search-engines/

*Steps we should take:*
- Generate a sitemap similar to that used in legacy webapp (https://legacy.flymine.org/robots.txt -> https://legacy.flymine.org/sitemap-index.xml -> https://legacy.flymine.org/sitemap0.xml)
- Permanent URLs for a bunch of common report pages
- ~~Best way to implement this would be to track popularity of each report object, and have a web service which returns these~~
- It seems we would rather have **all** the genes and proteins for the main organism be linked in the sitemap - this is currently generated with a [python script](https://github.com/intermine/intermine-sitemaps)
- URLs to all public lists
- URLs to all templates
- Use *Google Search Console URL inspection tool* to see what the crawler sees for each of these page types
- Ideally, we should prerender/SSR
- Homepage
- Specific template page
- Specific list page
- Specific report page

Resources for prerendering:
https://medium.com/@joelsanchezclj/prerendering-a-re-frame-app-with-chrome-headless-bb875de31fd0
https://techascent.com/blog/isomorphic-rendering.html

Remember to ping Google once new sitemap is in place: https://developers.google.com/search/docs/advanced/sitemaps/build-sitemap
(If the sitemap is dynamically generated, we need to ensure to automatically ping Google when it changes.)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the linked monitoring guidance, the legacy robots.txt and sitemap chain, and the intermine-sitemaps Python script. Use Google Search Console URL inspection to compare the homepage, template, list, and report page types; done requires a sitemap covering the requested public URLs and a clear decision on prerendering or SSR.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure, python
Domain
frontend, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.