A tag is a word or phrase that describes the topic of the question. Tags are a means of connecting experts with questions they will be able to answer by sorting questions into specific, well-defined categories.
Tags can also be used to help you identify questions that are interesting or relevant to you.
Clicking on a tag below a question brings you to a page that shows all questions within that tag. You also see a description of what the tag is and how it should be applied on Solana Stack Exchange (since sometimes the tag name is a common word that has a broad meaning in the real world but a very particular, narrow meaning on this site.) These descriptions comprise the tag wiki, which is editable by the community like any other post.
As a general rule, you should avoid creating new tags if possible, and new users are not allowed to create new tags. Even if you have sufficient reputation, you should only create new tags when you feel you can make a strong case that your question covers a new topic that nobody else has asked about before on this site.
Each question may only contain 5 tags at a maximum, so choose the ones that best describe your question. Spaces are not allowed in tags – create compound tags using hyphens rather than spaces (like [visual-studio]
) rather than multiple tags separated by spaces ([visual]
[studio]
).
How to format tags
- Use all lower case
- Replace spaces with hyphens (-) to combine multiple words into a single word (e.g., tag "unit testing" as
unit-testing
) - Avoid punctuation (which can make it difficult to use the tag in a URL)
- When naming a tag, think about how someone would search for that subject. In most cases this means typing out the full name, but you may also want to use the abbreviation. For example,
[css]
is probably more appropriate than[cascading-style-sheets]
Re-tagging
As part of the editing process, users may suggest edits or directly edit the tags of a question if they feel a certain tag was used inappropriately or that the question is missing a tag.
You should re-tag questions when:
- You are adding valuable information to the question by doing so
- You are replacing obscure or difficult to understand tags with well-known and popular tags that are appropriate for the question.
Avoid meta-tags
Do not use meta-tags in questions. Here are some tips to help you determine whether a tag is a meta-tag:
- If the tag can’t work as the only tag on a question, it’s probably a meta-tag. Every tag you use should be able to work, more or less, as the only tag on a question. Meta-tags, like
[beginner]
,[subjective]
, and[best-practices]
, are not helpful by themselves – they do not communicate anything about the content of the question. - If the tag commonly means different things to different people, it’s probably a meta-tag. For example, the meaning of the tag
[subjective]
is, itself, subjective; the same is true for tags like[best-practices]
and[beginner]
. Best practices to whom? Beginner by what criteria? Use only tags that have a broadly accepted, objective definition.
Should I use tags in titles?
You should not *force* a tag into your title. Because the tags appear below the question and tags are indexed by search engines along with the content of your question, you can trust that other people will be able to find your question based on tags they follow or search for. Additionally, tags appear on the question page, so other people will take them into account when answering your question.Avoid inserting tags into titles in any of the following formats:
- [tag]: [question title]
- [question title] -- [tag] [tag] [tag]
- [question title] in [tag]
- [tag] [tag] [question title] [tag] [tag] [tag]
- [tag] [tag] [tag] [tag] [tag] [tag] [tag] [tag]
The only time you should use tags in your title is when they are organic to the conversational tone of the title.
For example, rather than writing, "JavaScript, jQuery: When should I use one or the other?" – which forces tags into the title – you can convey the same information in a conversational tone:
Can I use jQuery to foo the bar on the baz, or am I stuck using plain JavaScript?