-
-
Notifications
You must be signed in to change notification settings - Fork 109
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
docs: add seo guide #1059
Open
CBID2
wants to merge
52
commits into
asyncapi:master
Choose a base branch
from
CBID2:seo-guide
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
docs: add seo guide #1059
Changes from all commits
Commits
Show all changes
52 commits
Select commit
Hold shift + click to select a range
8f17680
docs: add seo guide
CBID2 995f474
feat: finish section on S
CBID2 a59d5e2
feat: add frontmatter
CBID2 30b0dbd
fix: omit heading 1
CBID2 29c82a2
Merge branch 'master' into seo-guide
quetzalliwrites 5b9d282
feat: made improvements in the sections about SEO and headings
CBID2 873c3d7
feat: revise sections about URL and alt text
CBID2 ea636c0
feat: add examples of SEO-friendly URLs
CBID2 02c1621
feat: add section for other ways to make Asyncapi's documentation SEO…
CBID2 b038d16
Merge branch 'master' into seo-guide
CBID2 4dd2cbe
Merge branch 'master' into seo-guide
quetzalliwrites 0ab1ee6
fix: remove addtional suggestions section
CBID2 a290e30
fix: omit bullet point
CBID2 1043e2d
fix: revise typos
CBID2 c5c2cb3
feat: created section for Anchor text
CBID2 e36abe0
feat: add explanation on what makes URL examples SEO-friendly
CBID2 dc7e656
feat add tips on making SEO-friendly anchor texts and a section for e…
CBID2 97ddcac
Merge branch 'master' into seo-guide
CBID2 f69a121
feat: add examples of SEO-friendly anchor texts
CBID2 cd32a5d
Merge branch 'master' into seo-guide
CBID2 91a9ba2
fix: revise meta description
CBID2 4d6a15f
feat: add explanation about what makes the example anchor text SEO-fr…
CBID2 ccbd863
fix: revise Markdown errors
CBID2 67082d4
Merge branch 'master' into seo-guide
CBID2 3810936
Merge branch 'master' into seo-guide
CBID2 a3d1deb
feat: add some comments
CBID2 1dc4c41
feat: finished adding more detail about headings and start another se…
CBID2 ae9d05d
feat: added new sections
CBID2 27225f7
fix: omit comment and revise markdown formatting
CBID2 100f76f
fix: revise headings
CBID2 6385f00
feat: finished section on meta descriptions
CBID2 4a75db2
Merge branch 'master' into seo-guide
CBID2 00944f1
feat: revise structure
CBID2 129986f
fix: remove period
CBID2 0f21cb8
docs: finished adding information about mobile and SEO-friendly techn…
CBID2 93580b4
docs: add Additional resources section
CBID2 8629680
docs: fix formatting issues
CBID2 c9c1068
Merge branch 'master' into seo-guide
CBID2 518fb48
docs: add section on image optimization
CBID2 3f67568
Merge branch 'master' into seo-guide
CBID2 21c7e1c
docs: made edits
CBID2 f551555
docs: fix explanation
CBID2 11a7898
Merge branch 'master' into seo-guide
CBID2 1e90fb7
Merge branch 'master' into seo-guide
CBID2 f3dc224
docs: revise description
CBID2 7bc89d6
Merge branch 'master' into seo-guide
CBID2 7c77e38
docs: change sentence
CBID2 c29c022
Merge branch 'master' into seo-guide
CBID2 8fde226
fix: revise errors
CBID2 8b21d9c
Merge branch 'master' into seo-guide
CBID2 18cb74d
Merge branch 'master' into seo-guide
CBID2 8d26291
Merge branch 'master' into seo-guide
CBID2 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,148 @@ | ||
--- | ||
title: SEO | ||
description: This guide gives advice on how to implement SEO when creating tutorials and other forms of content for Asyncapi. | ||
--- | ||
|
||
## What is SEO? | ||
|
||
SEO (Search Engine Optimization) refers to the methods and strategies used to enhance the visibility of a website's content in search engine results. | ||
|
||
## Why is SEO important in technical documentation? | ||
|
||
Implementing SEO practices would make it easier for users and others to find them, resulting in more contributions and people to the community. | ||
|
||
## SEO best practices | ||
|
||
### What are headings? | ||
|
||
Headings are tags used to make sub titles distinctive from each other. | ||
|
||
#### Strategies for making SEO-friendly headings | ||
|
||
- **Put them in hierarchical order:** Since an `h1` tag tend to be titles, always start with this tag. From there, use `h2` and`h3` tags for the subsections and `h4` and `h5` tags for other sections in Asyncapi's tutorial or other piece of documentation. | ||
- **Use relevant keywords:** Since sites like Google often use keywords to help people's online content appear on the web, adding these terms effectively is helpful in ensuring that the tutorials and other pieces of content created reach a wider audience. It is highly recommended to [implement keywords in the `h1` and`h2` elements because it is where most users start reading"(Stark Visibility, p.16)](https://starkvisibility.com/wp-content/uploads/2022/04/SEO-Copywriting-101-eBook.pdf) | ||
|
||
### Examples of SEO-friendly headings from Asyncapi's documentation | ||
|
||
```md | ||
# Server | ||
## What is Server? | ||
## What is the purpose of servers? | ||
### Client and Server | ||
``` | ||
|
||
### What are URLS? | ||
|
||
URLs are addresses to webpages and other forms of online content. In the context of SEO, they help make it easier for users to gain access content. | ||
|
||
#### Strategies for making SEO-friendly URLs | ||
|
||
- **Make them short:** It'll make the links easier for users to comprehend and find the needed tutorial on Asyncapi's website. | ||
- **Use keywords**: Like alt text, effectively adding keywords in the URL would make it easier for Google to find them. | ||
- **Avoid using special characters and spaces:** Use hyphens (-) instead of underscores (_) to separate words in URLs, as search engines treat hyphens as space. | ||
|
||
Here are some examples of SEO-friendly URLs from Asyncapi's documentation: | ||
|
||
- `https://www.asyncapi.com/docs/concepts/application` | ||
- `https://www.asyncapi.com/docs/concepts/server` | ||
- `https://www.asyncapi.com/docs/concepts/message` | ||
|
||
In addition to being short, these examples clearly mentions the titles for Asyncapi's content buckets, no hyphens nor special characters and spaces. | ||
|
||
### What is Anchor Text? | ||
|
||
Anchor texts are the phrases that describe a webpage's URL. They give users an idea what to expect before actually reading the content. | ||
|
||
#### Strategies for making SEO-friendly anchor texts | ||
|
||
- **Implement SEO keywords:** Be descriptive yet mindful of the amount of keywords being used to avoid overwhelming the search engine. | ||
- **Consider the audience's needs**: Think about what the user might be looking for in Asyncapi's documentation and make sure the anchor text reflects this. | ||
- **Maintain the text**: Asyncapi is constantly evolving so it's crucial to update the anchor text to suit the documentation's updates. | ||
|
||
### Examples of SEO-friendly anchor texts from Asyncapi's documentation | ||
|
||
- [OpenAPI (aka Swagger)](https://github.com/OAI/OpenAPI-Specification) | ||
- [Server Object](https://www.asyncapi.com/docs/reference/specification/latest#serverobject) | ||
- ["The many meanings of Event-Driven Architecture"](https://www.youtube.com/watch?v=STKCRSUsyP0) | ||
|
||
These links include relevant keywords such as "OpenAPI(aka Swagger)", "Server Object", and "the many meanings of Event-Driven Architecture", which accurately describes the content they are linked to. | ||
|
||
### What is Internal Linking? | ||
|
||
Internal linking is the process of enclosing links to certain sections of a blog post or tutorial in brackets and placing them next to the headings and title. This makes it easier for users to navigate through Asyncapi's content. | ||
|
||
#### Strategies for making SEO-friendly internal links | ||
|
||
- **Develop a internal link structure**: Consider deciding the types of internal links to use when writing a blog post or documentation for Asyncapi. Doing so would help increase the chances of the content appear in the search results. To learn more about the different styles of internal links, check out the [Types of Internal Links section in "Internal Links for SEO: An Actionable Guide"](https://ahrefs.com/blog/internal-links-for-seo/#types-of-internal-links). | ||
- **Create unique anchor texts:** It's best to avoid using the same anchor text when linking pages so that users won't be confused as they read the content on Asyncapi's website. | ||
- **Include keywords in your anchor text**: This will ensure that the search engine can view the webpage's content. | ||
|
||
### Examples of SEO-friendly anchor texts from Asyncapi's website | ||
|
||
- "In this case, in your AsyncAPI file, you describe the `server`, and therefore the [Server Object](https://www.asyncapi.com/docs/reference/specification/latest#serverObject) holds information about the actual server, including its physical location." | ||
- "JSON Schema Draft 07 is 100% compatible with AsyncAPI schemas. You can also use other standards to describe payload schema, such as [Avro](https://github.com/asyncapi/avro-schema-parser#usage)." | ||
- "Furthermore, the [Pub/sub](/docs/tutorials/getting-started/event-driven-architectures#publishersubscriber) is appealing for IoT use cases due to two key features: support for flexible coupling between publishers/subscribers and inherent support for point-to-multipoint transmission." | ||
|
||
### What are meta descriptions? | ||
|
||
Meta descriptions are typically ["snippets of HTML code that are placed in a web page's header"](https://www.techtarget.com/whatis/definition/meta-description-tag). They appear under the title in the search results on Google and can significantly impact click-through rates. | ||
|
||
>[!NOTE] | ||
> In the case of Asyncapi's documentation, meta descriptions are written in YAML. | ||
|
||
#### Strategies for making SEO-friendly meta descriptions | ||
|
||
- **Make them unique:** Meta descriptions that are identical to each other would make it difficult for the content to appear in the search results. | ||
- **Be descriptive** Since this information does not appear in webpages, add enough detail to the content's meta descriptions. It is highly recommended "to keep these descriptions within a range of ["150-300 characters"](https://docs.readthedocs.io/en/stable/guides/technical-docs-seo-guide.html). | ||
- **Be accurate**: Ensure that the meta description includes information that correlates to the blog post or tutorial's topic. Doing so helps its meta description appear in the search engine's results. | ||
|
||
### Examples of SEO-friendly meta descriptions from Asyncapi's website | ||
|
||
- `title: Kafka bindings | ||
description: Learn how to configure Kafka bindings in your AsyncAPI document.` | ||
- `title: "Validate AsyncAPI documents" | ||
description: In this guide, you'll learn multiple ways to validate AsyncAPI documents.` | ||
- `title: Generate code | ||
description: In this tutorial, you'll learn how to generate code from your AsyncAPI document.` | ||
|
||
In addition to having information that correlate to the content's topic, these meta descriptions are concise and contain keywords. | ||
|
||
### Why mobile-friendliness important to technical documentation when making it SEO-friendly? | ||
|
||
Whether it's on a tablet, smartphone, or computer, [people consume most online content on these devices](https://blog.google/products/marketingplatform/analytics/mobile-challenge-and-how-measure-it/). Also, making Asyncapi's content mobile-friendly would bring more users to the site as ["users are more likely to return to and have a high opinion of a product if it's website is mobile-friendly"](https://www.webfx.com/blog/web-design/user-experience-matters-marketing/). Lastly, mobile SEO-friendly technical documentation appears more in search results. | ||
|
||
#### Strategies for making mobile and SEO-friendly content | ||
|
||
Here are some ways to make blog posts and documentation for Asyncapi's website mobile and SEO-friendly. | ||
|
||
- **Use smaller images and videos**: Large images and videos can cause the documentation on Asyncapi's website to appear at slower rates, which create an unpleasant user-experience. | ||
|
||
- **Use mobile-friendly fonts**: Some fonts can be hard to read on mobile devices, so it's crucial to picks font styles and sizes that can be adaptable to their screen sizes. It highly recommended to use styles like ["Arial, Tahoma, and Verdana for headings. For text, it is best to use Times New Roman, Georgia, and Bookman"](https://clickhelp.com/clickhelp-technical-writing-blog/choosing-fonts-for-technical-documentation/). For sizes, it's best to use ["14-16 point font for headings and 12-point for body text"](https://clickhelp.com/clickhelp-technical-writing-blog/choosing-fonts-for-technical-documentation/). | ||
- **Give each topic its own page and/or section**: Consider putting a link to the next page or implementing internal links. It'll help users the project's docs and blog post have an easier time navigating the site. | ||
|
||
>[!TIP] | ||
> Need quicker results? Consider using testing tools like [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview/) to ensure that the proposed blog post, tutorial, or update to Aynscapi's documentation is mobile and SEO-friendly. | ||
|
||
### Why is quality important when making technical documentation that is SEO-friendly? | ||
|
||
Search engines tend to favor content that provides value for online users. Therefore, it's important to ensure that the content is high-quality. | ||
|
||
#### Strategies for making high-quality and SEO-friendly content | ||
|
||
When writing a post for Asyncapi's blog or contributing to its documentation, consider asking the following questions to ensure it is high-quality and SEO-friendly: | ||
|
||
- Is the content interactive and engaging? | ||
- Is the information presented accurate? | ||
- Is the content too technical for its intended audience? | ||
|
||
### Images | ||
|
||
The way a technical documentation's images are presented influences how they show up in a search engine's rankings, so it's important to optimize them in the best way possible. | ||
|
||
### Strategies for making images SEO-friendly | ||
|
||
To make SEO-friendly images, it is recommended to the following methods: | ||
|
||
- **Create descriptive alt text**: Ensure that it describes the image's context a purpose. Doing so makes it easier for search engines to understand why it is being used, [especially when the image fails to appear on screen](https://rb.gy/5axft9). | ||
- **Use search-engine supported image formats**: [`JPEG`, `SVG`, and `PNG`](https://developers.google.com/search/docs/appearance/google-images#supported-image-formats) are the common formats that appear in Google's search rankings, so consider saving the images in these formats. | ||
- **Be mindful of the images' file size**: [Large image file sizes can make cause the site to load slowly](https://developers.google.com/search/docs/appearance/google-images#good-quality-photos-optimize-for-speed) so reduce and compress them before adding them to the documentation or blog post. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📣 Feedback for Draft 1
What is SEO?
The definition is accurate but could be slightly rephrased. For example, "SEO (Search Engine Optimization) refers to the methods and strategies used to enhance the visibility of a website's content in search engine results."
Why is it important in our Documentation?
Could you add a sentence about the potential for increased contributions and community growth through effective SEO?
Headings
Alt Text
URLs
asyncapi.com/docs/concepts/server
Additional Suggestions