forkdelta / nextgen-ui

ForkDelta's Next Generation interface
GNU Affero General Public License v3.0
20 stars 37 forks source link

Make website indexable #9

Closed freeatnet closed 6 years ago

freeatnet commented 6 years ago

Current frontend is entirely unindexable. The problem is mostly that Google (and other search engines) don't index hash navigation URLs. We need to devise a solution that would allow the frontend to be indexed by search engines.

Options off the top of my head:

zaptrem commented 6 years ago

Does react-snapshot run at build time before the push to the production environment?

freeatnet commented 6 years ago

@zaptrem Yeap, it's a build-time tool.

JonathonDunford commented 6 years ago

https://webmasters.googleblog.com/2015/10/deprecating-our-ajax-crawling-scheme.html

Google says they do it automatically.

Probably best to create a sitemap.xml with the hash urls. Also, probably best to change the URLs to "hash bang" urls like so "forkdelta.com/#!/PPT-ETH"

freeatnet commented 6 years ago

Hash URLs are definitely not indexable. Hashbangs appear to be indexable for the moment. Maybe query string arguments would be a better option still.

JonathonDunford commented 6 years ago

After conversation in Discord and research. Google will phase out Hashbangs in summer of 2018.

Probably best to use a structure like so:

forkdelta.github.io/PPP-ETH

HOWEVER, github pages doesn't support .htaccess or index.php

We would need an .htaccess to redirect page requests to an index.php and index.php to handle sending the proper code to JS?

JonathonDunford commented 6 years ago

Short term, probably best to just use something like ?t=PPP-ETH

zaptrem commented 6 years ago

It’s probably best to avoid as much server side logic as possible to ease future IPFS integration, so index.php redirects and push-state are not advisable. On Fri, Jan 19, 2018 at 12:04 PM BigBrother notifications@github.com wrote:

Short term, probably best to just use something like ?t=PPP-ETH

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/forkdelta/nextgen-ui/issues/9#issuecomment-359028248, or mute the thread https://github.com/notifications/unsubscribe-auth/ABiZxq1_awTshkMax4QN5kf8X9xXIhyYks5tMMscgaJpZM4RhKpW .

JonathonDunford commented 6 years ago

Then, the only real solution for google is using a query like ?t=PPP-ETH

freeatnet commented 6 years ago

No server-side logic is required for pushstate support. The only thing needed is for the server at a given origin to serve the same HTML code regardless of the URL path. If that is not possible under IPFS, to options are acceptable:

  1. We find a way to serve from IPFS with readable URLs, or
  2. IPFS will be a secondary channel with a special config, while regular web version has readable URLs.
JonathonDunford commented 6 years ago

Update:

We have implemented a hashbang URL structure with push/popstate.

/#!/trade/PPP-ETH

We have also turned all of the pairs into links on the site to ease with Google indexing. We need a sitemap now.

JonathonDunford commented 6 years ago

Sitemap created and submitted.

JonathonDunford commented 6 years ago

711 web pages submitted to Google for indexing. :+1: