KhronosGroup / OpenXR-Tutorials

OpenXR Tutorials
https://www.openxr-tutorial.com/
Apache License 2.0
72 stars 15 forks source link

Discoverability by the Google spider #86

Closed rbessems closed 7 months ago

rbessems commented 9 months ago

With the OS and GFX selectors at the top doing some javascript magic I am a bit worried about the discoverability for search engines.

Possible solutions are a site map providing links into all the various bits of text. HOWEVER that makes a single URL appear with different text which will confuse the whole indexing.

We have to rethink how the URL appear for OS/GFX for SEO purposes.

.htaccess and some smart redirects might do the trick here. I'll inquire what server we are running.

rvkennedy commented 9 months ago

Hidden text is available to all search spiders and not ranked negatively unless flagged as manipulative, which would not be correct in this case. https://stackoverflow.com/questions/21997663/hidden-text-negative-for-google-spiders#21997688

rbessems commented 9 months ago

while it may be visible, the search engine will not be able to link to the correct page.

rvkennedy commented 9 months ago

Not sure I can conceive of an ideal solution to that, but I'm open to suggestions.

rbessems commented 9 months ago

I think structuring our links as follows:

https://openxr-tutorial.com/<chapter>/<gfx>/<os><#anchor>
https://openxr-tutorial.com/graphics/vulkan/linux

with a site map should do the trick. I've confirmed we are using Apache so modRewrite or rewritemap (https://httpd.apache.org/docs/current/rewrite/rewritemap.html) are options.

rbessems commented 9 months ago

I've put you in touch with the Khronos webmaster to handle the details via email.

rvkennedy commented 9 months ago

Thanks. When you say stucturing links, where would those links go? In the served html? or rewritten when entered in the URL bar? Google will find hidden text regardless of what's in the URL. But you want the spider to be able to intuit a deep link from that which will fill in the path/parameters?

rbessems commented 9 months ago

When you search for "OpenXR Vulkan Android Tutorial" it should have a chance at ending up directly on the correctly selected page. Instead of whatever is the default for graphics.html

rvkennedy commented 9 months ago

Specifically how do you want this to work, and how does rewrite help to achieve this?

rbessems commented 9 months ago

Note: the buttons at the top should probably use the links to the pages

rvkennedy commented 9 months ago

In tutorial/ Added sitemap.xml with all combinations. Added robots.txt to reference sitemap. Added tutorialmap to remap URLs from path to parameter format.

rvkennedy commented 9 months ago

In conf.py, I've added a function that generates a text sitemap. This would then need to be correctly deployed. The output is: sitemap.txt

rvkennedy commented 9 months ago

@rbessems the structure can be changed as follows: By using Sphinx's variant system, we can generate eight versions of the site and put them in appropriate subfolders. At the root would be only a redirect, or possibly a version of the index. We'll need to experiment with this. I have asked an SEO expert for an opinion on whether the current structure or the alternate is best for page discoverability and ranking. But if you have anyone on the Khronos side you want to consult with that will help as well.

rbessems commented 8 months ago

OS / GFX selection

Remove the tabs, uses selects gfx/os on index page. Consider adding a dropdown instead of the tabs with a table of OS/GFX entries.

Add table with

Pages

page_name can be

Breadcrumbs

:house: / OS / GFX / Chapter Name

Creation

The different OS & GFX combination pages should be generated automatically from the single source topics much like is currently done for the cookie workflow. This should happen automatically that can be ran in a github action

rvkennedy commented 8 months ago

I have built an initial version with the new structure at https://openxr-tutorial.simul.co/. There are eight sub-sites, and a root site which contains only the index. The Platform/API is selectable with a dropdown at top-right, or from the main index page.

rbessems commented 8 months ago

Happy new year Roderick,

rvkennedy commented 8 months ago

Happy New Year Ron! I've made the default Android/Vulkan, so the root site displays this and links to its sub-pages on the sidebar. At the moment the only route back to the root site is to click the logo at top-left. However this may be unwanted. The root site's index page contains no content that the subsites don't. So perhaps this link should take us to the index of the current subsite with no loss of functionality.

rvkennedy commented 8 months ago

Additional questions:

rvkennedy commented 7 months ago

Closed as the site reorg is complete.