Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve SEO for the KG book #48

Open
Antoine-Zimmermann opened this issue Apr 12, 2023 · 10 comments
Open

Improve SEO for the KG book #48

Antoine-Zimmermann opened this issue Apr 12, 2023 · 10 comments

Comments

@Antoine-Zimmermann
Copy link
Contributor

Antoine-Zimmermann commented Apr 12, 2023

The book is not visible enough in search engines. When I type "knowledge graphs", with or without quotes, with or without capital "K" and "G", in a search engine on a fresh, cookie-free browser, the book only comes very low in the result list. It's much worse when I use singular.

@Antoine-Zimmermann
Copy link
Contributor Author

I think one reason is that the main title of the page (the <h1> is embedded in a <header> element, and the title is split into a structure <span>K</span>nowledge <span>G</span>raphs that may confuse web crawlers when indexing this. We should consider changing the structure of the title.

@aidhog
Copy link
Collaborator

aidhog commented May 31, 2023

Huge +1 to this, and I think it's of relatively high priority.

(Another probably more minor issue is that it is commonly believed that Google uses the site's loading times as a metric in ranking. But not sure there's much to be done there.)

@Antoine-Zimmermann
Copy link
Contributor Author

For the loading time issue, one solution would be to split the book in pieces. Loading one chapter at a time is very fast.

@Antoine-Zimmermann
Copy link
Contributor Author

The first letter of an element can be rendered differently in CSS using pseudo-element ::first-letter, but it is not possible to change the first letter of every words. A possibility to keep the same rendering would be:

<h1><span>Knowledge</span> <span>Graphs</span></h1>

and use CSS:

h1 span::first-letter {
    /* make letter large */
}

@Antoine-Zimmermann
Copy link
Contributor Author

In fact, ::first-letter does not work on inline elements like span.

@Antoine-Zimmermann
Copy link
Contributor Author

We can use the title that appears on the book cover as the main h1 title.

@aidhog
Copy link
Collaborator

aidhog commented Jun 5, 2023

I like the current rendering, but if it's affecting people finding the book, I would prioritise the SEO and just have "Knowledge Graphs" in the h1 without tags.

I guess the issue is we have no idea if it matters for SEO or not, just a suspicion that it might?

@Antoine-Zimmermann
Copy link
Contributor Author

I think the SEO is not good not only because of the span element on the first letter, but also because the h1 is inside the header element. There can be multiple h1s as long as they are in different sections, but the main title should be at the root of the document, I suppose. We can use the text that is on top of the cover picture and move it to a h1, then turn the title with big majuscules into a normal div:

 <h1 id="booktitle">Knowledge Graphs</h1>  <!-- CSS to render it as the book title on top of the cover -->
 ...
 <div id="title"><div>Knowledge</div> <div>Graphs</div></div>  <!-- CSS such that the first letters of the `div`s look big -->

I will submit this in a pull request later today.

Antoine-Zimmermann added a commit that referenced this issue Jun 6, 2023
A few more things changed in order to address issue #48
@Antoine-Zimmermann
Copy link
Contributor Author

I made the changes and put merged in the main branch

@Antoine-Zimmermann
Copy link
Contributor Author

The SEO is still extremely bad with Google. I can't find any result pointing to kgbook.org when I use knowledge graphs as a query. It's better in other search engines, but not good. I'm sure the overly long webpage is a big issue. In comparison, the multipage version that I created on my very low-page-ranked personal web space appears higher in the result list on Google.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants